Application: digikam (2.5.0) KDE Platform Version: 4.8.4 (4.8.4) Qt Version: 4.8.1 Operating System: Linux 3.2.0-29-generic-pae i686 Distribution: Ubuntu 12.04.1 LTS -- Information about the crash: - What I was doing when the application crashed: If a big Gimp image has been added to the collection since the last start, this can lead to a sytematic crash of the application when it starts. The image that causes the crash was a 639MB xcf file of 25061x6963 pixels (174 Mega-pixel panorama). Feel free to contact me for tests. ( IMG_7056-7093_03_Equirect_50pct.xcf ) The crash can be reproduced every time. -- Backtrace: Application: digiKam (digikam), signal: Segmentation fault Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1". [Current thread is 1 (Thread 0xaeb098c0 (LWP 5259))] Thread 3 (Thread 0xac205b40 (LWP 5260)): [KCrash Handler] #7 0xb68dc194 in qBlue (rgb=<optimized out>) at /usr/include/qt4/QtGui/qrgb.h:64 #8 Digikam::QImageLoader::load (this=0xac204b10, filePath=..., observer=0x0) at /build/buildd/digikam-2.5.0/core/libs/dimg/loaders/qimageloader.cpp:117 #9 0xb68ae5ad in Digikam::DImg::load (this=0xac204e4c, filePath=..., loadFlagsInt=1, observer=0x0, rawDecodingSettings=...) at /build/buildd/digikam-2.5.0/core/libs/dimg/dimg.cpp:554 #10 0xb68af4bc in Digikam::DImg::loadImageInfo (this=0xac204e4c, filePath=..., loadMetadata=false, loadICCData=false, loadUniqueHash=false, loadImageHistory=false) at /build/buildd/digikam-2.5.0/core/libs/dimg/dimg.cpp:367 #11 0xb668db4e in Digikam::ImageScanner::loadFromDisk (this=0xac204e3c) at /build/buildd/digikam-2.5.0/core/libs/database/imagescanner.cpp:1194 #12 0xb6696472 in Digikam::ImageScanner::newFile (this=0xac204e3c, albumId=82) at /build/buildd/digikam-2.5.0/core/libs/database/imagescanner.cpp:104 #13 0xb6623c05 in Digikam::CollectionScanner::scanNewFile (this=0xac2050f0, info=..., albumId=82) at /build/buildd/digikam-2.5.0/core/libs/database/collectionscanner.cpp:1049 #14 0xb6625b07 in Digikam::CollectionScanner::scanAlbum (this=0xac2050f0, location=..., album=...) at /build/buildd/digikam-2.5.0/core/libs/database/collectionscanner.cpp:900 #15 0xb6629455 in Digikam::CollectionScanner::finishCompleteScan (this=0xac2050f0, albumPaths=...) at /build/buildd/digikam-2.5.0/core/libs/database/collectionscanner.cpp:408 #16 0x08202e28 in Digikam::ScanController::run (this=0x8e81818) at /build/buildd/digikam-2.5.0/core/digikam/database/scancontroller.cpp:710 #17 0xb4b1bde0 in QThreadPrivate::start (arg=0x8e81818) at thread/qthread_unix.cpp:298 #18 0xb3593d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0 #19 0xb4849ace in clone () from /lib/i386-linux-gnu/libc.so.6 Thread 2 (Thread 0xab8ffb40 (LWP 5261)): #0 0xb77d5424 in __kernel_vsyscall () #1 0xb483917b in read () from /lib/i386-linux-gnu/libc.so.6 #2 0xb322a6ae in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #3 0xb31ebbd2 in g_main_context_check () from /lib/i386-linux-gnu/libglib-2.0.so.0 #4 0xb31ec042 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #5 0xb31ec201 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 #6 0xb4c638e7 in QEventDispatcherGlib::processEvents (this=0xaaf00468, flags=...) at kernel/qeventdispatcher_glib.cpp:426 #7 0xb4c2f50d in QEventLoop::processEvents (this=0xab8ff0c0, flags=...) at kernel/qeventloop.cpp:149 #8 0xb4c2f7a9 in QEventLoop::exec (this=0xab8ff0c0, flags=...) at kernel/qeventloop.cpp:204 #9 0xb4b1894c in QThread::exec (this=0x8e92bf8) at thread/qthread.cpp:501 #10 0xb4c0cb5d in QInotifyFileSystemWatcherEngine::run (this=0x8e92bf8) at io/qfilesystemwatcher_inotify.cpp:248 #11 0xb4b1bde0 in QThreadPrivate::start (arg=0x8e92bf8) at thread/qthread_unix.cpp:298 #12 0xb3593d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0 #13 0xb4849ace in clone () from /lib/i386-linux-gnu/libc.so.6 Thread 1 (Thread 0xaeb098c0 (LWP 5259)): #0 0xb77d5424 in __kernel_vsyscall () #1 0xb359796b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0 #2 0xb48573dc in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6 #3 0xb4b1c350 in wait (time=4294967295, this=0x8e91fa0) at thread/qwaitcondition_unix.cpp:86 #4 QWaitCondition::wait (this=0x8e91f68, mutex=0x8e91f4c, time=4294967295) at thread/qwaitcondition_unix.cpp:158 #5 0xb4b1b979 in QThread::wait (this=0x8e81818, time=4294967295) at thread/qthread_unix.cpp:651 #6 0x081ffc18 in Digikam::ScanController::shutDown (this=0x8e81818) at /build/buildd/digikam-2.5.0/core/digikam/database/scancontroller.cpp:348 #7 0x0820211e in Digikam::ScanController::~ScanController (this=0x8e81818, __in_chrg=<optimized out>) at /build/buildd/digikam-2.5.0/core/digikam/database/scancontroller.cpp:326 #8 0x08202347 in ~ScanControllerCreator (this=0x8e81818, __in_chrg=<optimized out>) at /build/buildd/digikam-2.5.0/core/digikam/database/scancontroller.cpp:267 #9 destroy () at /build/buildd/digikam-2.5.0/core/digikam/database/scancontroller.cpp:273 #10 0xb4791f61 in ?? () from /lib/i386-linux-gnu/libc.so.6 #11 0xb4791fed in exit () from /lib/i386-linux-gnu/libc.so.6 #12 0xb2639abf in ?? () from /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0 #13 0xb5d214c9 in KApplication::xioErrhandler (this=0xbfd7d610, dpy=0x8cc60d0) at ../../kdeui/kernel/kapplication.cpp:419 #14 0xb5d21504 in kde_xio_errhandler (dpy=0x8cc60d0) at ../../kdeui/kernel/kapplication.cpp:126 #15 0xb435eb74 in _XIOError () from /usr/lib/i386-linux-gnu/libX11.so.6 #16 0xb435c40f in _XEventsQueued () from /usr/lib/i386-linux-gnu/libX11.so.6 #17 0xb434d118 in XEventsQueued () from /usr/lib/i386-linux-gnu/libX11.so.6 #18 0xb5256875 in x11EventSourceCheck (s=0x8cb3b88) at kernel/qguieventdispatcher_glib.cpp:85 #19 0xb31ebb7b in g_main_context_check () from /lib/i386-linux-gnu/libglib-2.0.so.0 #20 0xb31ec042 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #21 0xb31ec201 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 #22 0xb4c63887 in QEventDispatcherGlib::processEvents (this=0x8c6e890, flags=...) at kernel/qeventdispatcher_glib.cpp:424 #23 0xb5256aaa in QGuiEventDispatcherGlib::processEvents (this=0x8c6e890, flags=...) at kernel/qguieventdispatcher_glib.cpp:204 #24 0xb4c2f50d in QEventLoop::processEvents (this=0xbfd7d4f4, flags=...) at kernel/qeventloop.cpp:149 #25 0xb4c2f7a9 in QEventLoop::exec (this=0xbfd7d4f4, flags=...) at kernel/qeventloop.cpp:204 #26 0xb4c34eba in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148 #27 0xb519ba74 in QApplication::exec () at kernel/qapplication.cpp:3820 #28 0x080b69e4 in main (argc=<error reading variable: Cannot access memory at address 0x80>, argv=<error reading variable: Cannot access memory at address 0x84>) at /build/buildd/digikam-2.5.0/core/digikam/main/main.cpp:232 Reported using DrKonqi
It crash in Qt image loader, not digiKam... Gilles Caulier
It crashes here: /build/buildd/digikam-2.5.0/core/libs/dimg/loaders/qimageloader.cpp:117 (qBlue is only a macro)
Agreed, crashes inside the QImage loader. Most probably, memory allocation fails for the large image (digikam does not support tiles). I dont know, though, why the safe memory allocation "seems" to work (we watch for std::bad_alloc)
I also see this behavior.
(In reply to comment #4) digikam-3.0.0-1.2.1.x86_64 on OpenSUSE 12.3 patched as of today.
(In reply to comment #5) Upgrading to digikam 3.1.0 resolved my problem.