]> git.pld-linux.org Git - packages/kdelibs.git/blame - dcopobject-destruct-crash.patch
- bcond openexr (broken somewhere something)
[packages/kdelibs.git] / dcopobject-destruct-crash.patch
CommitLineData
e1e72f4a
ER
1there appeared some kind of leak or memory overwrite, or double destruct, can't
2track down where it came from, only thing done (to my knowledge) was to rebuild
3kde packages due newer dependencies in distro. maybe gcc overoptimizes, but
4rebuild with gcc 4.4.2 did not help.
5
6crash happens when kmail send mail window is destructed (you hit send mail
7button)
8
9Program received signal SIGSEGV, Segmentation fault.
100x00007ffff6dba027 in DCOPObject::~DCOPObject (this=0xdf03b8, __in_chrg=<value optimized out>) at dcopobject.cpp:81
1181 if ( d->m_signalConnections > 0 && client )
12(gdb) bt
13#0 0x00007ffff6dba027 in DCOPObject::~DCOPObject (this=0xdf03b8, __in_chrg=<value optimized out>) at dcopobject.cpp:81
14#1 0x00007ffff77c6a6b in KMComposeWin::~KMComposeWin (this=0xdefd30, __in_chrg=<value optimized out>, __vtt_parm=<value optimized out>) at kmcomposewin.cpp:490
15#2 0x00007ffff66b911a in QObject::event(QEvent*) () from /usr/lib64/libqt-mt.so.3
16#3 0x00007ffff66ee013 in QWidget::event(QEvent*) () from /usr/lib64/libqt-mt.so.3
17#4 0x00007ffff665a865 in QApplication::internalNotify(QObject*, QEvent*) () from /usr/lib64/libqt-mt.so.3
18#5 0x00007ffff665b96e in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libqt-mt.so.3
19#6 0x00007ffff70aaf28 in KApplication::notify (this=0x7fffffffda10, receiver=0xdefd30, event=0xe72500) at kapplication.cpp:550
20#7 0x00007ffff665c263 in QApplication::sendPostedEvents(QObject*, int) () from /usr/lib64/libqt-mt.so.3
21#8 0x00007ffff660acad in QEventLoop::processEvents(unsigned int) () from /usr/lib64/libqt-mt.so.3
22#9 0x00007ffff6670ba9 in QEventLoop::enterLoop() () from /usr/lib64/libqt-mt.so.3
23#10 0x00007ffff6670a32 in QEventLoop::exec() () from /usr/lib64/libqt-mt.so.3
24#11 0x00000000004028cc in main (argc=3, argv=<value optimized out>) at main.cpp:110
25(gdb) p d
26$1 = (DCOPObject::DCOPObjectPrivate *) 0x0
27(gdb) p client
28$2 = <value optimized out>
29(gdb) l
3076 }
3177
3278 DCOPObject::~DCOPObject()
3379 {
3480 DCOPClient *client = DCOPClient::mainClient();
3581 if ( d->m_signalConnections > 0 && client )
3682 client->disconnectDCOPSignal( 0, 0, 0, objId(), 0 );
3783
3884 objMap()->remove(ident);
3985 delete d;
40(gdb)
41
42--- kdelibs-3.5.10/dcop/dcopobject.cpp~ 2005-09-10 11:27:23.000000000 +0300
43+++ kdelibs-3.5.10/dcop/dcopobject.cpp 2010-01-30 07:56:50.818689543 +0200
44@@ -78,7 +78,7 @@
45 DCOPObject::~DCOPObject()
46 {
47 DCOPClient *client = DCOPClient::mainClient();
48- if ( d->m_signalConnections > 0 && client )
49+ if (d && d->m_signalConnections > 0 && client )
50 client->disconnectDCOPSignal( 0, 0, 0, objId(), 0 );
51
52 objMap()->remove(ident);
This page took 0.129621 seconds and 4 git commands to generate.