Version: 0.8 beta1 & beta2 (using KDE KDE 3.4.2) Installed from: Gentoo Packages Compiler: gcc version 3.4.4 (Gentoo 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8) OS: Linux Loading digikam (either beta1 or beta2) leads to the following output: digikam: ScanLib: Finding non-existing Albums: 9 ms KCrash: Application 'digikam' crashing... compiling with debug, this is the back-trace: (gdb) bt #0 0xb70d674f in QGArray::QGArray () from /usr/qt/3/lib/libqt-mt.so.3 #1 0xb73d56f3 in KApplication::startupId () from /usr/kde/3.4/lib/libkdecore.so.4 #2 0xbfbaa25c in ?? () #3 0x00000018 in ?? () #4 0x00000069 in ?? () #5 0xb75212c8 in ?? () from /usr/kde/3.4/lib/libkdecore.so.4 #6 0x00000008 in ?? () #7 0xb75212c8 in ?? () from /usr/kde/3.4/lib/libkdecore.so.4 #8 0xbfbaa25c in ?? () #9 0xb74486fc in KCrash::defaultCrashHandler () from /usr/kde/3.4/lib/libkdecore.so.4 #10 0x417cc99f in exif_entry_get_value () from /usr/lib/libexif.so.10 #11 0xbfbaa4b0 in ?? () #12 0x08465198 in ?? () #13 0x00000000 in ?? () #14 0xbfbaa27c in ?? () #15 0x00000010 in ?? () #16 0xb75151e6 in NETWinInfo::OnAllDesktops () from /usr/kde/3.4/lib/libkdecore.so.4 #17 0x410a7fae in free () from /lib/libc.so.6 Previous frame inner to this frame (corrupt stack?) Checking application with strace gave more interesting information (at least for me): gettimeofday({1127066735, 344040}, NULL) = 0 select(10, [3 4 5 7 9], [], [], {0, 0}) = 1 (in [5], left {0, 0}) read(5, "\0", 1) = 1 gettimeofday({1127066735, 344178}, NULL) = 0 open("/home/dreamer/pictures/test-folder/img_1310.jpg", O_RDONLY) = 13 fstat64(13, {st_mode=S_IFREG|0755, st_size=2595646, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb72b0000 read(13, "\377\330\377\341\'\376Exif\0\0II*\0\10\0\0\0\t\0\17\1\2"..., 4096) = 4096 _llseek(13, 0, [0], SEEK_SET) = 0 read(13, "\377\330\377\341\'\376Exif\0\0II*\0\10\0\0\0\t\0\17\1\2"..., 4096) = 4096 read(13, "\207\366\275\315\347\224$\2771:\242g\344@\33\nI\3\'\223"..., 4096) = 4096 read(13, "\253\331\206w^\245?aV\315w{\231Q\302S\247UTZ\0316?\v|G"..., 4096) = 4096 --- SIGSEGV (Segmentation fault) @ 0 (0) --- rt_sigaction(SIGALRM, {SIG_DFL}, {SIG_DFL}, 8) = 0 alarm(3) = 0 close(9) = 0 getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=1024}) = 0 close(3) = 0 close(4) = 0 close(5) = 0 close(6) = 0 close(7) = 0 close(8) = 0 close(9) = -1 EBADF (Bad file descriptor) close(10) = 0 close(11) = 0 close(12) = 0 close(13) = 0 close(14) = -1 EBADF (Bad file descriptor) close(15) = -1 EBADF (Bad file descriptor) close(16) = -1 EBADF (Bad file descriptor) close(17) = -1 EBADF (Bad file descriptor) close(18) = -1 EBADF (Bad file descriptor) close(19) = -1 EBADF (Bad file descriptor) close(20) = -1 EBADF (Bad file descriptor) ... close(1023) = -1 EBADF (Bad file descriptor) Several tests i did were: 1. deleting the entire digikam configuration - didnt help. 2. deleting digikam.db files and .thumbnail folder - didnt help. 3. testing if application will load with empty pictures folder - succeeded. 4. testing if application will load with 1 picture inside - application crashed. Two pieces of information pops right out: 1. exif looks like doing some problems. 2. closing 1024 file-descriptors.. looks suspicious.. any clues? I'm using: - digikam 0.8.0, tried both beta1 & recent beta2. - libkexif 0.2.1 + gcc4 patch (gentoo libkexif-0.2.1-r1). any clues?
it looks like a crash within libexif. can you compile both libexif and libkexif with debugging enabled and get us the backtrace?
following you request i did a simple test. downgrading from libexif 0.6.12 to 0.5.12 solved the problem. i'll now compile in debug and update with results.
I found the cause: gentoo added a gcc4 patch into libexif & libkexif. libkexif gcc4 patch causes a crash when double-clicking on an image in digikam (reported it to gentoo). libexif gcc4 patch causes a crash during digikam loading (will report it soon)...
gentoo packaging error.
Not reproducible with digiKam 7.3.0 and Exiv2 0.27.4