Bug 306116 - Crash on start (during the collection re-scan)
Summary: Crash on start (during the collection re-scan)
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Database-Scan (show other bugs)
Version: 2.5.0
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-01 02:02 UTC by Telanos
Modified: 2017-07-17 10:30 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In: 3.2.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Telanos 2012-09-01 02:02:25 UTC
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
Comment 1 caulier.gilles 2012-09-01 05:31:45 UTC
It crash in Qt image loader, not digiKam...

Gilles Caulier
Comment 2 Christoph Feck 2012-09-01 14:35:51 UTC
It crashes here:

/build/buildd/digikam-2.5.0/core/libs/dimg/loaders/qimageloader.cpp:117

(qBlue is only a macro)
Comment 3 Marcel Wiesweg 2012-09-01 19:35:49 UTC
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)
Comment 4 Kenneth Ingham 2013-04-24 21:57:23 UTC
I also see this behavior.
Comment 5 Kenneth Ingham 2013-04-24 21:58:40 UTC
(In reply to comment #4)
digikam-3.0.0-1.2.1.x86_64 on OpenSUSE 12.3 patched as of today.
Comment 6 Kenneth Ingham 2013-04-24 22:20:13 UTC
(In reply to comment #5)
Upgrading to digikam 3.1.0 resolved my problem.