Bug 173276 - digikam crashs after closing
Summary: digikam crashs after closing
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Plugin-Generic-Presentation (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-10-22 09:17 UTC by sts
Modified: 2018-03-23 11:44 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In: 0.2.0


Attachments
quick fix (7.50 KB, patch)
2008-10-22 09:56 UTC, Andi Clemens
Details

Note You need to log in before you can comment on or make changes to this bug.
Description sts 2008-10-22 09:17:46 UTC
Version:           0.10.0-beta4 (using 4.1.2 (KDE 4.1.2) "release 45.1", KDE:KDE4:Factory:Desktop / openSUSE_11.0)
Compiler:          gcc
OS:                Linux (x86_64) release 2.6.25.16-0.1-default

Anwendung: digiKam (digikam), Signal SIGSEGV
[?1034h[Thread debugging using libthread_db enabled]
[New Thread 0x7ff59680d700 (LWP 3506)]
[New Thread 0x44bf7950 (LWP 3521)]
[New Thread 0x443f6950 (LWP 3520)]
[New Thread 0x43bf5950 (LWP 3519)]
[New Thread 0x433f4950 (LWP 3518)]
[New Thread 0x42bf3950 (LWP 3517)]
[New Thread 0x40b92950 (LWP 3514)]
[New Thread 0x41bf1950 (LWP 3513)]
[New Thread 0x423f2950 (LWP 3512)]
[KCrash handler]
#5  0x00007ff575f11d5c in ?? () from /usr/lib64/kde4/kipiplugin_slideshow.so
#6  0x00007ff5911f1e31 in QObjectPrivate::deleteChildren (this=0xb25260)
    at kernel/qobject.cpp:1884
#7  0x00007ff5911fabf7 in ~QObject (this=0xc91ca0) at kernel/qobject.cpp:884
#8  0x0000000000555c00 in ~KipiInterface (this=0xc02f40)
    at /usr/src/debug/digikam-0.10.0-beta4/utilities/kipiiface/kipiinterface.cpp:73
#9  0x00007ff5911f1e31 in QObjectPrivate::deleteChildren (this=0xbc2aa0)
    at kernel/qobject.cpp:1884
#10 0x00007ff58edf22ad in ~QWidget (this=0xdb44b0) at kernel/qwidget.cpp:1338
#11 0x00007ff592dd2dd6 in ~KMainWindow (this=0xdb44b0)
    at /usr/src/debug/kdelibs-4.1.2/kdeui/widgets/kmainwindow.cpp:448
#12 0x000000000060268c in ~DigikamApp (this=0xdb44b0)
    at /usr/src/debug/digikam-0.10.0-beta4/digikam/digikamapp.cpp:268
#13 0x00007ff5911f363d in QObject::event (this=0xdb44b0, e=0x0)
    at kernel/qobject.cpp:1139
#14 0x00007ff58edf0af6 in QWidget::event (this=0xc02f40, event=0x169cf40)
    at kernel/qwidget.cpp:7555
#15 0x00007ff58f10a4eb in QMainWindow::event (this=0xdb44b0, event=0x169cf40)
    at widgets/qmainwindow.cpp:1268
#16 0x00007ff592e0b2d8 in KXmlGuiWindow::event (this=0xc02f40, ev=0x0)
    at /usr/src/debug/kdelibs-4.1.2/kdeui/xmlgui/kxmlguiwindow.cpp:125
#17 0x00007ff58ed9ec2d in QApplicationPrivate::notify_helper (this=0x94c070, 
    receiver=0xdb44b0, e=0x169cf40) at kernel/qapplication.cpp:3804
#18 0x00007ff58eda69ea in QApplication::notify (this=0x7fff9e85d050, 
    receiver=0xdb44b0, e=0x169cf40) at kernel/qapplication.cpp:3769
#19 0x00007ff592d1fdcb in KApplication::notify (this=0x7fff9e85d050, 
    receiver=0xdb44b0, event=0x169cf40)
    at /usr/src/debug/kdelibs-4.1.2/kdeui/kernel/kapplication.cpp:311
#20 0x00007ff5911e4551 in QCoreApplication::notifyInternal (
    this=0x7fff9e85d050, receiver=0xdb44b0, event=0x169cf40)
    at kernel/qcoreapplication.cpp:587
#21 0x00007ff5911e520a in QCoreApplicationPrivate::sendPostedEvents (
    receiver=0x0, event_type=0, data=0x92ed30) at kernel/qcoreapplication.h:209
#22 0x00007ff59120ce03 in postEventSourceDispatch (s=<value optimized out>)
    at kernel/qcoreapplication.h:214
#23 0x00007ff58a81693a in g_main_context_dispatch ()
   from /usr/lib64/libglib-2.0.so.0
#24 0x00007ff58a81a040 in ?? () from /usr/lib64/libglib-2.0.so.0
#25 0x00007ff58a81a1dc in g_main_context_iteration ()
   from /usr/lib64/libglib-2.0.so.0
#26 0x00007ff59120ca8f in QEventDispatcherGlib::processEvents (this=0x94c510, 
    flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:319
#27 0x00007ff58ee2f7cf in QGuiEventDispatcherGlib::processEvents (
    this=0xc02f40, flags=<value optimized out>)
    at kernel/qguieventdispatcher_glib.cpp:198
#28 0x00007ff5911e2e42 in QEventLoop::processEvents (
    this=<value optimized out>, flags={i = -1635397808})
    at kernel/qeventloop.cpp:143
#29 0x00007ff5911e2fcd in QEventLoop::exec (this=0x7fff9e85cf90, flags=
      {i = -1635397728}) at kernel/qeventloop.cpp:194
#30 0x00007ff5911e54cd in QCoreApplication::exec ()
    at kernel/qcoreapplication.cpp:852
#31 0x0000000000643a7c in main (argc=5, argv=0x7fff9e85dbe8)
    at /usr/src/debug/digikam-0.10.0-beta4/digikam/main.cpp:176
#0  0x00007ff58ba1d261 in nanosleep () from /lib64/libc.so.6
Comment 1 Andi Clemens 2008-10-22 09:56:50 UTC
Created attachment 28061 [details]
quick fix

I have removed most of all the delete statements in the destructors, since we don't need them for QObjects and KObjects. This fixes the problem, please take a look if nothing important has been removed.

Andi
Comment 2 caulier.gilles 2008-10-22 10:06:45 UTC
For me, all sound fine in your patch. Valerio ?

Gilles
Comment 3 Andi Clemens 2008-10-22 10:11:57 UTC
The strange thing is: I reverted to my master branch and compiled it again, now it doesn't crash anymore, even without the patch. Yesterday I compiled kipi-plugins like 10 times and it always crashed, today it is not. Hmmm... 

Anyway we don't need to use delete on such objects and it seems to make a lot of problems in Qt4 / KDE4, we had this race condition when calling deleteChildren() so many times now. I think it is safe to remove these deletes.

But sure we need to check that first, not that I removed non Qt/KDE objects here.

Andi
Comment 4 Valerio Fuoglio 2008-10-22 11:42:46 UTC
SVN commit 874682 by vfuoglio:

Fixed bug 173276.
Patch by Andi Clemens (thanks Andi).

BUG: 173276
CCMAIL: kde-imaging@kde.org 



 M  +2 -1      NEWS  
 M  +16 -16    slideshow/common.cpp  
 M  +1 -1      slideshow/imageviewer.cpp  
 M  +1 -1      slideshow/listimageitems.cpp  
 M  +1 -1      slideshow/listsounditems.cpp  
 M  +1 -1      slideshow/maindialog.cpp  
 M  +2 -2      slideshow/playbackwidget.cpp  
 M  +2 -2      slideshow/plugin_slideshow.cpp  
 M  +6 -6      slideshow/slideshow.cpp  
 M  +1 -1      slideshow/slideshowconfig.cpp  
 M  +4 -4      slideshow/slideshowgl.cpp  
 M  +6 -6      slideshow/slideshowkb.cpp  
 M  +5 -5      slideshow/slideshowloader.cpp  
 M  +1 -1      slideshow/soundtrackdialog.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=874682
Comment 5 Valerio Fuoglio 2008-10-22 11:44:59 UTC
(In reply to comment #3)
> The strange thing is: I reverted to my master branch and compiled it again, now
> it doesn't crash anymore, even without the patch. Yesterday I compiled
> kipi-plugins like 10 times and it always crashed, today it is not. Hmmm... 

I'm getting tired of those strange behaviours, so I patched anyway.

Thanks a lot for your help.

Valerio
Comment 6 René Krell 2008-10-23 14:42:12 UTC
*** Bug 172738 has been marked as a duplicate of this bug. ***
Comment 7 Christophe Marin 2008-10-27 21:06:01 UTC
*** Bug 173694 has been marked as a duplicate of this bug. ***
Comment 8 caulier.gilles 2008-10-30 09:23:43 UTC
*** Bug 173694 has been marked as a duplicate of this bug. ***
Comment 9 caulier.gilles 2008-10-30 16:32:55 UTC
*** Bug 173905 has been marked as a duplicate of this bug. ***