Bug 222048

Summary: digikam doesnt start anymore having JPEG2000 picture in database
Product: [Applications] digikam Reporter: cparg
Component: Database-ScanAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed In: 5.8.0
Sentry Crash Report:

Description cparg 2010-01-10 13:17:01 UTC
Application that crashed: digikam
Version of the application: 1.0.0-beta5
KDE Version: 4.3.2 (KDE 4.3.2)
Qt Version: 4.5.2
Operating System: Linux 2.6.31-17-generic x86_64
Distribution: Ubuntu 9.10

What I was doing when the application crashed:
after saving a croped picture as JPEG2000 digikam is not starting anymore

 -- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault
pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
	in ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
The current source language is "auto; currently asm".
[Current thread is 1 (Thread 0x7ff749576750 (LWP 3885))]

Thread 2 (Thread 0x7ff73777c910 (LWP 3886)):
[KCrash Handler]
#5  0x00007ff74043077f in ?? () from /usr/lib/libjasper.so.1
#6  0x00007ff740430836 in ?? () from /usr/lib/libjasper.so.1
#7  0x00007ff7404318d9 in jp2_box_get () from /usr/lib/libjasper.so.1
#8  0x00007ff740431d37 in jp2_decode () from /usr/lib/libjasper.so.1
#9  0x00007ff74042777d in jas_image_decode () from /usr/lib/libjasper.so.1
#10 0x00007ff74679dd85 in Digikam::JP2KLoader::load(QString const&, Digikam::DImgLoaderObserver*) () from /usr/lib/libdigikamcore.so.1
#11 0x00007ff74678506c in Digikam::DImg::load(QString const&, int, Digikam::DImgLoaderObserver*, Digikam::DRawDecoding) () from /usr/lib/libdigikamcore.so.1
#12 0x00007ff7467868f3 in Digikam::DImg::loadImageInfo(QString const&, bool, bool, bool) () from /usr/lib/libdigikamcore.so.1
#13 0x00007ff7463fd633 in Digikam::ImageScanner::loadFromDisk() () from /usr/lib/libdigikamdatabase.so.1
#14 0x00007ff7463ff3d9 in Digikam::ImageScanner::fileModified() () from /usr/lib/libdigikamdatabase.so.1
#15 0x00007ff7463b49d6 in Digikam::CollectionScanner::scanModifiedFile(QFileInfo const&, Digikam::ItemScanInfo const&) () from /usr/lib/libdigikamdatabase.so.1
#16 0x00007ff7463b4b27 in Digikam::CollectionScanner::scanFileNormal(QFileInfo const&, Digikam::ItemScanInfo const&) () from /usr/lib/libdigikamdatabase.so.1
#17 0x00007ff7463b5a75 in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () from /usr/lib/libdigikamdatabase.so.1
#18 0x00007ff7463b5e5b in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () from /usr/lib/libdigikamdatabase.so.1
#19 0x00007ff7463b5e5b in Digikam::CollectionScanner::scanAlbum(Digikam::CollectionLocation const&, QString const&) () from /usr/lib/libdigikamdatabase.so.1
#20 0x00007ff7463b6637 in Digikam::CollectionScanner::scanAlbumRoot(Digikam::CollectionLocation const&) () from /usr/lib/libdigikamdatabase.so.1
#21 0x00007ff7463b6980 in Digikam::CollectionScanner::completeScan() () from /usr/lib/libdigikamdatabase.so.1
#22 0x00000000006c8d32 in ?? ()
#23 0x00007ff742ed1445 in QThreadPrivate::start (arg=0x1104600) at thread/qthread_unix.cpp:188
#24 0x00007ff7411d1a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#25 0x00007ff7424387bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#26 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7ff749576750 (LWP 3885)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007ff742ed24fb in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x10a4e20, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x10a4e20, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007ff742ed14e4 in QThread::wait (this=<value optimized out>, time=18446744073709551615) at thread/qthread_unix.cpp:484
#4  0x00000000006c8a47 in ?? ()
#5  0x00000000006cc9bb in ?? ()
#6  0x00000000006ccb57 in ?? ()
#7  0x00007ff742391c12 in __run_exit_handlers (status=1) at exit.c:78
#8  *__GI_exit (status=1) at exit.c:100
#9  0x00007ff743ba4328 in qt_xio_errhandler () at kernel/qapplication_x11.cpp:707
#10 0x00007ff744f39498 in KApplication::xioErrhandler (this=0x7fff9d362240, dpy=0x1061960) at ../../kdeui/kernel/kapplication.cpp:408
#11 0x00007ff7417d4fae in _XIOError (dpy=0x1061960) at ../../src/XlibInt.c:2959
#12 0x00007ff7417dc9a5 in process_responses (dpy=0x1061960, wait_for_first_event=<value optimized out>, current_error=<value optimized out>, current_request=0) at ../../src/xcb_io.c:240
#13 0x00007ff7417dd257 in _XEventsQueued (dpy=0x1061960, mode=<value optimized out>) at ../../src/xcb_io.c:256
#14 0x00007ff7417c601b in XEventsQueued (dpy=0x1061960, mode=2) at ../../src/Pending.c:44
#15 0x00007ff743bdd67c in x11EventSourceCheck (s=0x103db40) at kernel/qguieventdispatcher_glib.cpp:87
#16 0x00007ff73c8b2aaa in IA__g_main_context_check (context=0x103c920, max_priority=2147483647, fds=<value optimized out>, n_fds=-1) at /build/buildd/glib2.0-2.22.3/glib/gmain.c:2469
#17 0x00007ff73c8b3290 in g_main_context_iterate (context=0x103c920, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>)
    at /build/buildd/glib2.0-2.22.3/glib/gmain.c:2588
#18 0x00007ff73c8b36c0 in IA__g_main_context_iteration (context=0x103c920, may_block=1) at /build/buildd/glib2.0-2.22.3/glib/gmain.c:2654
#19 0x00007ff742fe01a6 in QEventDispatcherGlib::processEvents (this=0x1007590, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:327
#20 0x00007ff743bdd4be in QGuiEventDispatcherGlib::processEvents (this=0x11bca8c, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#21 0x00007ff742fb6532 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#22 0x00007ff742fb6904 in QEventLoop::exec (this=0x10a81b0, flags=) at kernel/qeventloop.cpp:201
#23 0x00000000006ca0b1 in ?? ()
#24 0x00000000006699f3 in ?? ()
#25 0x000000000075fb45 in ?? ()
#26 0x00007ff742377abd in __libc_start_main (main=<value optimized out>, argc=<value optimized out>, ubp_av=<value optimized out>, init=<value optimized out>, fini=<value optimized out>, 
    rtld_fini=<value optimized out>, stack_end=0x7fff9d363118) at libc-start.c:220
#27 0x000000000046f179 in _start ()
The current source language is "auto; currently c".
The current source language is "auto; currently asm".

Reported using DrKonqi
Comment 1 Johannes Wienke 2010-01-10 13:47:45 UTC
This looks like an error in your libjasper-version (also for bug 222047
). Which version are you using? And can you please attach one of the images causing the problem?
Comment 2 Marcel Wiesweg 2010-01-10 14:21:30 UTC
libjasper is not a good solution - when we only want to scan the image for width and height, it already loads the full image. Therefore, scanning of JP2000 images was disabled, in the future exiv2 can provide with and height information, or we have a look at openjpeg. See bugs 215458 and 195583.

Please use 1.0.0 final, not an old beta version.
Comment 3 caulier.gilles 2017-12-16 10:41:35 UTC
This crash is not reproducible use current 5.8.0 pre-release bundle available here :

https://files.kde.org/digikam/

I close this file now. Re-open it if necessary.

Gilles Caulier