Bug 221569

Summary: Crash when closing showfoto while a raw image is loading
Product: [Applications] digikam Reporter: Johannes Wienke <languitar>
Component: Showfoto-RawProcessingAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles
Priority: NOR    
Version: 1.1.0   
Target Milestone: ---   
Platform: Arch Linux   
OS: Unspecified   
Latest Commit: Version Fixed In: 1.1.0
Sentry Crash Report:

Description Johannes Wienke 2010-01-06 20:43:38 UTC
Version:           trunk 1070690 (using KDE 4.3.4)
Installed from:    Archlinux Packages

Showfoto crashes when closing it while a raw file is opened (demosaiced etc.)

#0  0x00007ffff5360eb9 in QMutex::lock() () from /usr/lib/libQtCore.so.4
#1  0x00007ffff79784f4 in CacheLock (this=0x7fffe44eaa40, cache=0x84c7b0) at /home/languitar/workspace/digiKam/libs/threadimageio/loadingcache.cpp:456
#2  0x00007ffff797f499 in Digikam::SharedLoadingTask::execute (this=0x95d850) at /home/languitar/workspace/digiKam/libs/threadimageio/loadsavetask.cpp:198
#3  0x00007ffff796f456 in Digikam::LoadSaveThread::run (this=0x84cc20) at /home/languitar/workspace/digiKam/libs/threadimageio/loadsavethread.cpp:134
#4  0x00007ffff5365ba5 in ?? () from /usr/lib/libQtCore.so.4
#5  0x00007ffff50f681a in start_thread () from /lib/libpthread.so.0
#6  0x00007ffff35cbc7d in clone () from /lib/libc.so.6
#7  0x0000000000000000 in ?? ()

I suspect, that in line 198 of loadsavetask the static cache instance was already deleted (cleanup method) from a destructor call or something like that but I don't have an idea how to prevent this from happening.
Comment 1 Marcel Wiesweg 2010-01-07 18:54:22 UTC
All loading must be stopped before LoadingCacheInterface::cleanUp() is called in the ShowFoto destructor. Normally from EditorWindow's destructor, but ShowFoto is an EditorWindow...what about delete m_canvas;m_canvas=0 before cleaning up the cache?
Comment 2 Johannes Wienke 2010-01-07 20:54:15 UTC
I don't know, I've never seen this part of digikam before. ;)
Comment 3 Marcel Wiesweg 2010-01-21 17:46:19 UTC
SVN commit 1078146 by mwiesweg:

Delete canvas (normally done in EditorWindow destructor) before shutting down loading cache.
Dont get a crash here now.

BUG: 221569

 M  +3 -0      showfoto.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1078146