Bug 327714 - digiKam crashes when starting up [Qt Bmp Image IO]
Summary: digiKam crashes when starting up [Qt Bmp Image IO]
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Plugin-DImg-QImage (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2013-11-17 04:43 UTC by Axel Krebs
Modified: 2022-01-08 05:04 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 6.0.0


Attachments
New crash information added by DrKonqi (12.77 KB, text/plain)
2013-11-17 05:36 UTC, Axel Krebs
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Axel Krebs 2013-11-17 04:43:21 UTC
Application: digikam (3.4.0)
KDE Platform Version: 4.11.2
Qt Version: 4.8.4
Operating System: Linux 3.11.0-13-generic x86_64
Distribution: Ubuntu 13.10

-- Information about the crash:
- What I was doing when the application crashed:

starting digiKam
when nearly finished loaing files/directories, digiKam crashes.
new installing does not improve situation
endless "loop"

The crash can be reproduced every time.

-- Backtrace:
Application: digiKam (digikam), signal: Floating point exception
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
[Current thread is 1 (Thread 0x7f73adda7a80 (LWP 13581))]

Thread 5 (Thread 0x7f738bb47700 (LWP 13582)):
#0  0x00007f73a781bf7d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f73909a7198 in ?? () from /lib/x86_64-linux-gnu/libusb-1.0.so.0
#2  0x00007f73a2b74f6e in start_thread (arg=0x7f738bb47700) at pthread_create.c:311
#3  0x00007f73a78289cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 4 (Thread 0x7f738548e700 (LWP 13583)):
[KCrash Handler]
#6  0x00007f73a91e59af in read_dib_body (s=..., bi=..., offset=138, startpos=0, image=...) at image/qbmphandler.cpp:322
#7  0x00007f73a91e65b1 in QBmpHandler::read (this=0x7f7380050960, image=0x7f738548cb30) at image/qbmphandler.cpp:770
#8  0x00007f73a91bf5f4 in QImageReader::read (this=this@entry=0x7f738548cb90, image=image@entry=0x7f738548cb30) at image/qimagereader.cpp:1205
#9  0x00007f73a91bfb44 in QImageReader::read (this=this@entry=0x7f738548cb90) at image/qimagereader.cpp:1155
#10 0x00007f73a91b3e4e in QImage::load (this=this@entry=0x7f738548cce0, fileName=..., format=format@entry=0x0) at image/qimage.cpp:5094
#11 0x00007f73a91b3f46 in QImage::QImage (this=0x7f738548cce0, fileName=..., format=0x0) at image/qimage.cpp:995
#12 0x00007f73ab2cb82e in Digikam::QImageLoader::load (this=this@entry=0x7f738548cf10, filePath=..., observer=observer@entry=0x0) at /build/buildd/digikam-3.4.0/core/libs/dimg/loaders/qimageloader.cpp:55
#13 0x00007f73ab29fd3c in Digikam::DImg::load (this=this@entry=0x7f73805eaea0, filePath=..., loadFlagsInt=loadFlagsInt@entry=1, observer=observer@entry=0x0, rawDecodingSettings=...) at /build/buildd/digikam-3.4.0/core/libs/dimg/dimg.cpp:558
#14 0x00007f73ab2a03fd in Digikam::DImg::loadImageInfo (this=this@entry=0x7f73805eaea0, filePath=..., loadMetadata=loadMetadata@entry=false, loadICCData=loadICCData@entry=false, loadUniqueHash=loadUniqueHash@entry=false, loadImageHistory=loadImageHistory@entry=false) at /build/buildd/digikam-3.4.0/core/libs/dimg/dimg.cpp:370
#15 0x00007f73aae79986 in Digikam::ImageScanner::loadFromDisk (this=this@entry=0x7f738548d280) at /build/buildd/digikam-3.4.0/core/libs/database/imagescanner.cpp:1481
#16 0x00007f73aae79a40 in Digikam::ImageScanner::newFile (this=this@entry=0x7f738548d280, albumId=albumId@entry=7280) at /build/buildd/digikam-3.4.0/core/libs/database/imagescanner.cpp:266
#17 0x00007f73aae128e8 in Digikam::CollectionScanner::scanNewFile (this=this@entry=0x7f738548dab0, info=..., albumId=7280) at /build/buildd/digikam-3.4.0/core/libs/database/collectionscanner.cpp:1247
#18 0x00007f73aae15a4f in Digikam::CollectionScanner::scanAlbum (this=this@entry=0x7f738548dab0, location=..., album=...) at /build/buildd/digikam-3.4.0/core/libs/database/collectionscanner.cpp:1089
#19 0x00007f73aae15906 in Digikam::CollectionScanner::scanAlbum (this=this@entry=0x7f738548dab0, location=..., album=...) at /build/buildd/digikam-3.4.0/core/libs/database/collectionscanner.cpp:1112
#20 0x00007f73aae15906 in Digikam::CollectionScanner::scanAlbum (this=this@entry=0x7f738548dab0, location=..., album=...) at /build/buildd/digikam-3.4.0/core/libs/database/collectionscanner.cpp:1112
#21 0x00007f73aae162a3 in Digikam::CollectionScanner::scanAlbumRoot (this=this@entry=0x7f738548dab0, location=...) at /build/buildd/digikam-3.4.0/core/libs/database/collectionscanner.cpp:828
#22 0x00007f73aae16e7d in Digikam::CollectionScanner::completeScan (this=this@entry=0x7f738548dab0) at /build/buildd/digikam-3.4.0/core/libs/database/collectionscanner.cpp:489
#23 0x00000000005d598f in Digikam::ScanController::run (this=0x235b6d0) at /build/buildd/digikam-3.4.0/core/digikam/database/scancontroller.cpp:756
#24 0x00007f73a8609f2f in QThreadPrivate::start (arg=0x235b6d0) at thread/qthread_unix.cpp:338
#25 0x00007f73a2b74f6e in start_thread (arg=0x7f738548e700) at pthread_create.c:311
#26 0x00007f73a78289cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 3 (Thread 0x7f7384c8d700 (LWP 13584)):
#0  0x00007f73a781bf7d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f73a01476a4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f73a01477ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f73a8736a76 in QEventDispatcherGlib::processEvents (this=0x7f73780008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f73a87085ef in QEventLoop::processEvents (this=this@entry=0x7f7384c8cab0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f73a87088e5 in QEventLoop::exec (this=this@entry=0x7f7384c8cab0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f73a860788f in QThread::exec (this=this@entry=0x235de80) at thread/qthread.cpp:542
#7  0x00007f73a86e9d13 in QInotifyFileSystemWatcherEngine::run (this=0x235de80) at io/qfilesystemwatcher_inotify.cpp:265
#8  0x00007f73a8609f2f in QThreadPrivate::start (arg=0x235de80) at thread/qthread_unix.cpp:338
#9  0x00007f73a2b74f6e in start_thread (arg=0x7f7384c8d700) at pthread_create.c:311
#10 0x00007f73a78289cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 2 (Thread 0x7f7372387700 (LWP 13649)):
#0  0x00007f73a01870ea in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f73a0187399 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f73a0147595 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f73a01477ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f73a8736a76 in QEventDispatcherGlib::processEvents (this=0x7f736c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#5  0x00007f73a87085ef in QEventLoop::processEvents (this=this@entry=0x7f7372386ab0, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007f73a87088e5 in QEventLoop::exec (this=this@entry=0x7f7372386ab0, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007f73a860788f in QThread::exec (this=this@entry=0x2d420c0) at thread/qthread.cpp:542
#8  0x00007f73a86e9d13 in QInotifyFileSystemWatcherEngine::run (this=0x2d420c0) at io/qfilesystemwatcher_inotify.cpp:265
#9  0x00007f73a8609f2f in QThreadPrivate::start (arg=0x2d420c0) at thread/qthread_unix.cpp:338
#10 0x00007f73a2b74f6e in start_thread (arg=0x7f7372387700) at pthread_create.c:311
#11 0x00007f73a78289cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7f73adda7a80 (LWP 13581)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f73a860a406 in wait (time=18446744073709551615, this=0x235b800) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x235b7b0, mutex=mutex@entry=0x235b788, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f73a8609afe in QThread::wait (this=this@entry=0x235b6d0, time=time@entry=18446744073709551615) at thread/qthread_unix.cpp:691
#4  0x00000000005d1239 in Digikam::ScanController::shutDown (this=this@entry=0x235b6d0) at /build/buildd/digikam-3.4.0/core/digikam/database/scancontroller.cpp:361
#5  0x00000000005d402b in Digikam::ScanController::~ScanController (this=0x235b6d0, __in_chrg=<optimized out>) at /build/buildd/digikam-3.4.0/core/digikam/database/scancontroller.cpp:337
#6  0x00000000005d41a7 in ~ScanControllerCreator (this=0x235b6d0, __in_chrg=<optimized out>) at /build/buildd/digikam-3.4.0/core/digikam/database/scancontroller.cpp:277
#7  destroy () at /build/buildd/digikam-3.4.0/core/digikam/database/scancontroller.cpp:284
#8  0x00007f73a776a071 in __run_exit_handlers (status=1, listp=0x7f73a7aef6a8 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true) at exit.c:77
#9  0x00007f73a776a0f5 in __GI_exit (status=<optimized out>) at exit.c:99
#10 0x00007f73a91616b8 in qt_xio_errhandler () at kernel/qapplication_x11.cpp:782
#11 0x00007f73a9e03620 in KApplication::xioErrhandler (this=0x7ffffb65ed70, dpy=0x226b430) at ../../kdeui/kernel/kapplication.cpp:419
#12 0x00007f73a5d2264e in _XIOError () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#13 0x00007f73a5d2003d in _XEventsQueued () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#14 0x00007f73a5d1212b in XEventsQueued () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#15 0x00007f73a919c44c in x11EventSourceCheck (s=0x226e150) at kernel/qguieventdispatcher_glib.cpp:85
#16 0x00007f73a0147121 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007f73a014763b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007f73a01477ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007f73a8736a55 in QEventDispatcherGlib::processEvents (this=0x21a0b50, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#20 0x00007f73a919c9d6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#21 0x00007f73a87085ef in QEventLoop::processEvents (this=this@entry=0x241a390, flags=...) at kernel/qeventloop.cpp:149
#22 0x00007f73a87088e5 in QEventLoop::exec (this=0x241a390, flags=...) at kernel/qeventloop.cpp:204
#23 0x00000000005d1689 in Digikam::ScanController::completeCollectionScanCore (this=0x235b6d0, needTotalFiles=needTotalFiles@entry=true, defer=defer@entry=false) at /build/buildd/digikam-3.4.0/core/digikam/database/scancontroller.cpp:486
#24 0x00000000005d178e in Digikam::ScanController::completeCollectionScanInBackground (this=<optimized out>, defer=defer@entry=false) at /build/buildd/digikam-3.4.0/core/digikam/database/scancontroller.cpp:471
#25 0x000000000051937a in Digikam::NewItemsFinder::slotStart (this=0x10988150) at /build/buildd/digikam-3.4.0/core/utilities/maintenance/newitemsfinder.cpp:106
#26 0x00007f73a8721dce in QObject::event (this=0x10988150, e=<optimized out>) at kernel/qobject.cpp:1194
#27 0x00007f73a90fadfc in QApplicationPrivate::notify_helper (this=this@entry=0x22695a0, receiver=receiver@entry=0x10988150, e=e@entry=0x10988880) at kernel/qapplication.cpp:4567
#28 0x00007f73a9101470 in QApplication::notify (this=this@entry=0x7ffffb65ed70, receiver=receiver@entry=0x10988150, e=e@entry=0x10988880) at kernel/qapplication.cpp:4353
#29 0x00007f73a9e04a6a in KApplication::notify (this=0x7ffffb65ed70, receiver=0x10988150, event=0x10988880) at ../../kdeui/kernel/kapplication.cpp:311
#30 0x00007f73a87098bd in QCoreApplication::notifyInternal (this=0x7ffffb65ed70, receiver=receiver@entry=0x10988150, event=event@entry=0x10988880) at kernel/qcoreapplication.cpp:946
#31 0x00007f73a870ce1f in sendEvent (event=0x10988880, receiver=0x10988150) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#32 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x21d6f20) at kernel/qcoreapplication.cpp:1570
#33 0x00007f73a870d2c3 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1463
#34 0x00007f73a8737073 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#35 postEventSourceDispatch (s=0x225af60) at kernel/qeventdispatcher_glib.cpp:279
#36 0x00007f73a01473b6 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#37 0x00007f73a0147708 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#38 0x00007f73a01477ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#39 0x00007f73a8736a55 in QEventDispatcherGlib::processEvents (this=0x21a0b50, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#40 0x00007f73a919c9d6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#41 0x00007f73a87085ef in QEventLoop::processEvents (this=this@entry=0x7ffffb65e850, flags=...) at kernel/qeventloop.cpp:149
#42 0x00007f73a87088e5 in QEventLoop::exec (this=this@entry=0x7ffffb65e850, flags=...) at kernel/qeventloop.cpp:204
#43 0x00007f73a870de5b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#44 0x00007f73a90f934c in QApplication::exec () at kernel/qapplication.cpp:3828
#45 0x0000000000491ef3 in main (argc=<optimized out>, argv=<optimized out>) at /build/buildd/digikam-3.4.0/core/digikam/main/main.cpp:235

The reporter indicates this bug may be a duplicate of or related to bug 319655.

Possible duplicates by query: bug 325609, bug 319762, bug 319655, bug 319605, bug 319415.

Reported using DrKonqi
Comment 1 Axel Krebs 2013-11-17 05:36:58 UTC
Created attachment 83605 [details]
New crash information added by DrKonqi

digikam (3.4.0) on KDE Platform 4.11.2 using Qt 4.8.4

- What I was doing when the application crashed:

reportuing anoither debug info-file
hope this helps

-- Backtrace (Reduced):
#6  0x00007f2f4c13c9af in read_dib_body (s=..., bi=..., offset=138, startpos=0, image=...) at image/qbmphandler.cpp:322
#7  0x00007f2f4c13d5b1 in QBmpHandler::read (this=0x7f2f2041bb30, image=0x7f2f283e3b30) at image/qbmphandler.cpp:770
#8  0x00007f2f4c1165f4 in QImageReader::read (this=this@entry=0x7f2f283e3b90, image=image@entry=0x7f2f283e3b30) at image/qimagereader.cpp:1205
#9  0x00007f2f4c116b44 in QImageReader::read (this=this@entry=0x7f2f283e3b90) at image/qimagereader.cpp:1155
#10 0x00007f2f4c10ae4e in QImage::load (this=this@entry=0x7f2f283e3ce0, fileName=..., format=format@entry=0x0) at image/qimage.cpp:5094
Comment 2 caulier.gilles 2013-11-17 06:14:31 UTC

*** This bug has been marked as a duplicate of bug 310798 ***
Comment 3 Axel Krebs 2013-11-20 11:05:47 UTC
(In reply to comment #2)
> 
> 
> *** This bug has been marked as a duplicate of bug 310798 ***

Gilles:

digiKam is essential for my pics orgnisation. herefore checed out several posibilties.

If I rename the thumbnail-datebase (thumbnails-database) and digikam4.db and force digiKam to re-build these databases, digiKam would then run without any recognisble limits.

From ths observation, I conclude, that there  must be an error within (at least one of) the databases.

Spinning further this causes, I ask myself the question for the reliability of these squlite-databases and there contined self-repair mechanisms. 

Way before, i suggestet an automated backup of these database, as these are absolut essential files for the work with digiKam.

Therefore a backup-mechnisms like with mozilla firefox, where he programm stores a copy per day and, therefore, keeps in a rotating manner 7 samples. This would increase security enourmeously and minimize the maximal lost or efforts on the amount of on days work. 
 
I hope you may want t re-think this suggestion of mine.


Axel
Comment 4 caulier.gilles 2013-11-20 13:56:09 UTC
As it can be seen in crash backtrace, the problem is in Qt BMP image parser, which is used on your computer to get thumbnail from image files.

Due to hard crashes, probably your DB files become corrupted and you have fixed one problem, but not the source.

Solution : update Qt in your computer to try to include future fixes, and folllow bug #310798 comments.

Gilles Caulier

*** This bug has been marked as a duplicate of bug 310798 ***
Comment 5 caulier.gilles 2018-08-19 17:29:40 UTC
Not reproducible with 6.0.0