Bug 271323

Summary: Digikam crashes when building thumbnails of grayscale DNGs
Product: [Applications] digikam Reporter: Colin Baker <colin>
Component: Plugin-DImg-RAWAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles, dmitry.mospan, lexa
Priority: NOR    
Version: 1.4.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 2.0.0
Sentry Crash Report:
Attachments: New crash information added by DrKonqi
Grayscale DNG open by Showfoto
showfoto loading grayscale DNG image properlly...

Description Colin Baker 2011-04-20 01:37:24 UTC
Application: digikam (1.4.0)
KDE Platform Version: 4.5.5 (KDE 4.5.5)
Qt Version: 4.7.0
Operating System: Linux 2.6.35-28-generic x86_64
Distribution: Ubuntu 10.10

-- Information about the crash:
- What I was doing when the application crashed:
Opening a folder & waiting for thumbnails to generate.  Also occurs while opening the file.

- Custom settings of the application:
Crash only seems to occur with grayscale DNG RAW files created by Vuescan scanner software.  Color files are ok.  I can provide sample files if necessary.

The crash can be reproduced every time.

-- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault
__poll (fds=0x7fff42a5bae0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:85
	in ../sysdeps/unix/sysv/linux/poll.c
[Current thread is 1 (Thread 0x7f212573b7c0 (LWP 1614))]

Thread 18 (Thread 0x7f2111289700 (LWP 1615)):
#0  0x00007f211cf3e203 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f2119dc9009 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007f2119dc97b5 in g_main_loop_run () from /lib/libglib-2.0.so.0
#3  0x00007f21119c03c4 in ?? () from /usr/lib/libgio-2.0.so.0
#4  0x00007f2119dee7e4 in ?? () from /lib/libglib-2.0.so.0
#5  0x00007f211e477971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#6  0x00007f211cf4a92d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 17 (Thread 0x7f21008f5700 (LWP 1616)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f211e702e3b in wait (this=<value optimized out>, mutex=0x2bbb740, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x2bbb740, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00000000006ee97b in Digikam::ScanController::run (this=0x2bbd610) at /build/buildd/digikam-1.4.0/digikam/scancontroller.cpp:515
#4  0x00007f211e70227e in QThreadPrivate::start (arg=0x2bbd610) at thread/qthread_unix.cpp:266
#5  0x00007f211e477971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#6  0x00007f211cf4a92d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 16 (Thread 0x7f21000f4700 (LWP 1618)):
#0  0x00007f211e479665 in __pthread_mutex_lock (mutex=0x2d1e8f8) at pthread_mutex_lock.c:61
#1  0x00007f2119dc8fc6 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007f2119dc945c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007f211e8221e6 in QEventDispatcherGlib::processEvents (this=0x2d1e800, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#4  0x00007f211e7f4a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f211e7f4dec in QEventLoop::exec (this=0x7f21000f3d90, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f211e6ff2fd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x00007f211e70227e in QThreadPrivate::start (arg=0x2d1df20) at thread/qthread_unix.cpp:266
#8  0x00007f211e477971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#9  0x00007f211cf4a92d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 15 (Thread 0x7f20ff6e6700 (LWP 1619)):
#0  0x00007f211e47ac9d in __pthread_mutex_unlock_usercnt (mutex=0x7f20f80009a8) at pthread_mutex_unlock.c:52
#1  __pthread_mutex_unlock (mutex=0x7f20f80009a8) at pthread_mutex_unlock.c:290
#2  0x00007f2119dc9486 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007f211e8221e6 in QEventDispatcherGlib::processEvents (this=0x7f20f80008b0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#4  0x00007f211e7f4a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f211e7f4dec in QEventLoop::exec (this=0x7f20ff6e5d90, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f211e6ff2fd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x00007f211e70227e in QThreadPrivate::start (arg=0x2d1e3c0) at thread/qthread_unix.cpp:266
#8  0x00007f211e477971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#9  0x00007f211cf4a92d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 14 (Thread 0x7f20feee5700 (LWP 1620)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f211e702e3b in wait (this=<value optimized out>, mutex=0x2d383f8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x2d383f8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f21227225e4 in Digikam::ParkingThread::run (this=0x2d383e0) at /build/buildd/digikam-1.4.0/libs/threads/threadmanager.cpp:101
#4  0x00007f211e70227e in QThreadPrivate::start (arg=0x2d383e0) at thread/qthread_unix.cpp:266
#5  0x00007f211e477971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#6  0x00007f211cf4a92d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 13 (Thread 0x7f20fe6e4700 (LWP 1621)):
#0  0x00007f211cf3e203 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f2119dc9009 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007f2119dc945c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007f211e8221e6 in QEventDispatcherGlib::processEvents (this=0x2d5ba90, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#4  0x00007f211e7f4a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f211e7f4dec in QEventLoop::exec (this=0x7f20fe6e3d90, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f211e6ff2fd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x00007f211e70227e in QThreadPrivate::start (arg=0x2d59d30) at thread/qthread_unix.cpp:266
#8  0x00007f211e477971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#9  0x00007f211cf4a92d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 12 (Thread 0x7f20fdee3700 (LWP 1622)):
#0  0x00007f2119dc8a99 in g_main_context_prepare () from /lib/libglib-2.0.so.0
#1  0x00007f2119dc8e78 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007f2119dc945c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007f211e8221e6 in QEventDispatcherGlib::processEvents (this=0x2d5f0c0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#4  0x00007f211e7f4a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f211e7f4dec in QEventLoop::exec (this=0x7f20fdee2d90, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f211e6ff2fd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x00007f211e70227e in QThreadPrivate::start (arg=0x2d5d030) at thread/qthread_unix.cpp:266
#8  0x00007f211e477971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#9  0x00007f211cf4a92d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 11 (Thread 0x7f20f10f7700 (LWP 1623)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:212
#1  0x00007f20f6e3c0d1 in ?? () from /usr/lib/libxine.so.1
#2  0x00007f211e477971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#3  0x00007f211cf4a92d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7f20efebe700 (LWP 1624)):
#0  0x00007f211cf432c3 in select () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007f20f6e65385 in xine_usec_sleep () from /usr/lib/libxine.so.1
#2  0x00007f20f6e49d09 in ?? () from /usr/lib/libxine.so.1
#3  0x00007f211e477971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#4  0x00007f211cf4a92d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7f20ef6bd700 (LWP 1625)):
#0  0x00007f211cf3e203 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f2119dc9009 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007f2119dc945c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007f211e8221e6 in QEventDispatcherGlib::processEvents (this=0x3296360, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#4  0x00007f211e7f4a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f211e7f4dec in QEventLoop::exec (this=0x7f20ef6bcd30, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f211e6ff2fd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x00007f20fc08e2b0 in ?? () from /usr/lib/qt4/plugins/phonon_backend/phonon_xine.so
#8  0x00007f211e70227e in QThreadPrivate::start (arg=0x3295d20) at thread/qthread_unix.cpp:266
#9  0x00007f211e477971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#10 0x00007f211cf4a92d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7f20eecb7700 (LWP 1626)):
#0  0x00007f211cf3e203 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f211cc4f40f in ?? () from /usr/lib/libpulse.so.0
#2  0x00007f211cc3ed76 in pa_mainloop_poll () from /usr/lib/libpulse.so.0
#3  0x00007f211cc407f9 in pa_mainloop_iterate () from /usr/lib/libpulse.so.0
#4  0x00007f211cc408b0 in pa_mainloop_run () from /usr/lib/libpulse.so.0
#5  0x00007f211cc4f20b in ?? () from /usr/lib/libpulse.so.0
#6  0x00007f21149e8fb8 in ?? () from /usr/lib/libpulsecommon-0.9.21.so
#7  0x00007f211e477971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#8  0x00007f211cf4a92d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#9  0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f20ea4b5700 (LWP 1627)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f20f6e4ce83 in ?? () from /usr/lib/libxine.so.1
#2  0x00007f211e477971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#3  0x00007f211cf4a92d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f20e9cb4700 (LWP 1628)):
#0  0x00007f2119dc85c7 in g_main_context_check () from /lib/libglib-2.0.so.0
#1  0x00000000034da440 in ?? ()
#2  0x00007f211a065e60 in ?? () from /lib/libglib-2.0.so.0
#3  0x0000000000000001 in ?? ()
#4  0x00007f211e479630 in ?? () at pthread_mutex_lock.c:201 from /lib/libpthread.so.0
#5  0x0000000000000001 in ?? ()
#6  0x0000000000000003 in ?? ()
#7  0x00007f2119dc945c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#8  0x00007f211e8221e6 in QEventDispatcherGlib::processEvents (this=0x34d6130, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#9  0x00007f211e7f4a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#10 0x00007f211e7f4dec in QEventLoop::exec (this=0x7f20e9cb3d50, flags=) at kernel/qeventloop.cpp:201
#11 0x00007f211e6ff2fd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#12 0x00007f211e7d45f8 in QInotifyFileSystemWatcherEngine::run (this=0x34d5b80) at io/qfilesystemwatcher_inotify.cpp:248
#13 0x00007f211e70227e in QThreadPrivate::start (arg=0x34d5b80) at thread/qthread_unix.cpp:266
#14 0x00007f211e477971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#15 0x00007f211cf4a92d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#16 0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f20e73e1700 (LWP 1635)):
#0  __pthread_mutex_unlock_usercnt (mutex=0x3ac68e8) at pthread_mutex_unlock.c:52
#1  __pthread_mutex_unlock (mutex=0x3ac68e8) at pthread_mutex_unlock.c:290
#2  0x00007f2119dc8a05 in g_main_context_prepare () from /lib/libglib-2.0.so.0
#3  0x00007f2119dc8e78 in ?? () from /lib/libglib-2.0.so.0
#4  0x00007f2119dc945c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#5  0x00007f211e8221e6 in QEventDispatcherGlib::processEvents (this=0x3ac4870, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#6  0x00007f211e7f4a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#7  0x00007f211e7f4dec in QEventLoop::exec (this=0x7f20e73e0d50, flags=) at kernel/qeventloop.cpp:201
#8  0x00007f211e6ff2fd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#9  0x00007f211e7d45f8 in QInotifyFileSystemWatcherEngine::run (this=0x3ac3a40) at io/qfilesystemwatcher_inotify.cpp:248
#10 0x00007f211e70227e in QThreadPrivate::start (arg=0x3ac3a40) at thread/qthread_unix.cpp:266
#11 0x00007f211e477971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#12 0x00007f211cf4a92d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#13 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f20df7fe700 (LWP 1889)):
#0  0x00007f211cf3e203 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f2119dc9009 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007f2119dc945c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007f211e8221e6 in QEventDispatcherGlib::processEvents (this=0x6803240, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#4  0x00007f211e7f4a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#5  0x00007f211e7f4dec in QEventLoop::exec (this=0x7f20df7fdd50, flags=) at kernel/qeventloop.cpp:201
#6  0x00007f211e6ff2fd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x00007f211e7d45f8 in QInotifyFileSystemWatcherEngine::run (this=0x6802430) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f211e70227e in QThreadPrivate::start (arg=0x6802430) at thread/qthread_unix.cpp:266
#9  0x00007f211e477971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#10 0x00007f211cf4a92d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f20c3c4e700 (LWP 2256)):
#0  deref (this=0x65dc258, other=...) at ../../include/QtCore/../../src/corelib/arch/qatomic_x86_64.h:133
#1  QString::operator= (this=0x65dc258, other=...) at tools/qstring.cpp:1324
#2  0x00007f21236eb338 in QSqlResult::savePrepare (this=0x3bfdfc0, query=...) at kernel/qsqlresult.cpp:589
#3  0x00007f21236dcdfb in QSqlQuery::prepare (this=0x7f20c3c4d548, query=...) at kernel/qsqlquery.cpp:923
#4  0x00007f21226d2092 in Digikam::SqlQuery::prepare (this=0x7f20c3c4d540, query=...) at /build/buildd/digikam-1.4.0/libs/database/sqlquery.cpp:52
#5  0x00007f21226bf8be in Digikam::DatabaseCoreBackend::prepareQuery (this=0x2be6c80, sql=...) at /build/buildd/digikam-1.4.0/libs/database/databasecorebackend.cpp:1075
#6  0x00007f21226c1e5a in Digikam::DatabaseCoreBackend::execQuery (this=0x7f20c3c4d710, sql=..., boundValue1=..., boundValue2=..., boundValue3=..., boundValue4=...) at /build/buildd/digikam-1.4.0/libs/database/databasecorebackend.cpp:798
#7  0x00007f21226c1f49 in Digikam::DatabaseCoreBackend::execSql (this=0x2be6c80, sql=<value optimized out>, boundValue1=<value optimized out>, boundValue2=<value optimized out>, boundValue3=<value optimized out>, boundValue4=<value optimized out>, values=0x0, lastInsertId=0x7f20c3c4d700) at /build/buildd/digikam-1.4.0/libs/database/databasecorebackend.cpp:744
#8  0x00007f21226cafd8 in Digikam::ThumbnailDB::insertThumbnail (this=0x2be32f0, info=<value optimized out>, lastInsertId=<value optimized out>) at /build/buildd/digikam-1.4.0/libs/database/thumbnaildb.cpp:187
#9  0x00007f21226fca3a in Digikam::ThumbnailCreator::storeInDatabase (this=0x2, info=..., image=<value optimized out>) at /build/buildd/digikam-1.4.0/libs/threadimageio/thumbnailcreator.cpp:592
#10 0x00007f21226fec06 in Digikam::ThumbnailCreator::load (this=0x2d51ce0, path=...) at /build/buildd/digikam-1.4.0/libs/threadimageio/thumbnailcreator.cpp:201
#11 0x00007f212270604b in Digikam::ThumbnailLoadingTask::execute (this=0x2d6edb0) at /build/buildd/digikam-1.4.0/libs/threadimageio/thumbnailtask.cpp:133
#12 0x00007f21226e47f6 in Digikam::LoadSaveThread::run (this=0x2d34970) at /build/buildd/digikam-1.4.0/libs/threadimageio/loadsavethread.cpp:116
#13 0x00007f21227238d6 in Digikam::DynamicThreadPriv::run (this=0x2d52920) at /build/buildd/digikam-1.4.0/libs/threads/dynamicthread.cpp:237
#14 0x00007f211e6f7d02 in QThreadPoolThread::run (this=0x7eee780) at concurrent/qthreadpool.cpp:106
#15 0x00007f211e70227e in QThreadPrivate::start (arg=0x7eee780) at thread/qthread_unix.cpp:266
#16 0x00007f211e477971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#17 0x00007f211cf4a92d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#18 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f20d5c2e700 (LWP 2268)):
[KCrash Handler]
#6  Digikam::RAWLoader::loadedFromDcraw (this=0x7f20d5c2cc60, data=<value optimized out>, width=3427, height=2320, rgbmax=<value optimized out>, observer=0x2d4f4e0) at /build/buildd/digikam-1.4.0/libs/dimg/loaders/rawloader.cpp:219
#7  0x00007f21225b0048 in Digikam::RAWLoader::load (this=0x7f20d5c2cc60, filePath=..., observer=0x2d4f4e0) at /build/buildd/digikam-1.4.0/libs/dimg/loaders/rawloader.cpp:105
#8  0x00007f2122596bc8 in Digikam::DImg::load (this=0x7f20d5c2d5a0, filePath=..., loadFlagsInt=<value optimized out>, observer=<value optimized out>, rawDecodingSettings=<value optimized out>) at /build/buildd/digikam-1.4.0/libs/dimg/dimg.cpp:436
#9  0x00007f21225985e0 in Digikam::DImg::load (this=0x7f20d5c2d5a0, filePath=..., loadMetadata=<value optimized out>, loadICCData=<value optimized out>, loadUniqueHash=<value optimized out>, observer=0x2d4f4e0, rawDecodingSettings=...) at /build/buildd/digikam-1.4.0/libs/dimg/dimg.cpp:351
#10 0x00007f21226fadf4 in Digikam::ThumbnailCreator::loadWithDImg (this=0x7f20f8002440, path=<value optimized out>, profile=0x7f20d5c2d860) at /build/buildd/digikam-1.4.0/libs/threadimageio/thumbnailcreator.cpp:411
#11 0x00007f21226fda5a in Digikam::ThumbnailCreator::createThumbnail (this=0x7f20f8002440, info=<value optimized out>) at /build/buildd/digikam-1.4.0/libs/threadimageio/thumbnailcreator.cpp:361
#12 0x00007f21226fe7bd in Digikam::ThumbnailCreator::load (this=0x7f20f8002440, path=...) at /build/buildd/digikam-1.4.0/libs/threadimageio/thumbnailcreator.cpp:195
#13 0x00007f212270604b in Digikam::ThumbnailLoadingTask::execute (this=0x2d4f4d0) at /build/buildd/digikam-1.4.0/libs/threadimageio/thumbnailtask.cpp:133
#14 0x00007f21226e47f6 in Digikam::LoadSaveThread::run (this=0x2d1ff90) at /build/buildd/digikam-1.4.0/libs/threadimageio/loadsavethread.cpp:116
#15 0x00007f21227238d6 in Digikam::DynamicThreadPriv::run (this=0x2d36c50) at /build/buildd/digikam-1.4.0/libs/threads/dynamicthread.cpp:237
#16 0x00007f211e6f7d02 in QThreadPoolThread::run (this=0x65e7140) at concurrent/qthreadpool.cpp:106
#17 0x00007f211e70227e in QThreadPrivate::start (arg=0x65e7140) at thread/qthread_unix.cpp:266
#18 0x00007f211e477971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#19 0x00007f211cf4a92d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#20 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f212573b7c0 (LWP 1614)):
#0  __poll (fds=0x7fff42a5bae0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:85
#1  0x00007f2114c072da in ?? () from /usr/lib/libxcb.so.1
#2  0x00007f2114c08f4c in xcb_wait_for_reply () from /usr/lib/libxcb.so.1
#3  0x00007f211b861993 in _XReply () from /usr/lib/libX11.so.6
#4  0x00007f211b83da95 in XGetImage () from /usr/lib/libX11.so.6
#5  0x00007f211f508e80 in QX11PixmapData::toImage (this=0x7f20e01ed620, rect=...) at image/qpixmap_x11.cpp:1546
#6  0x00007f211f50256a in QX11PixmapData::toImage (this=0x1) at image/qpixmap_x11.cpp:1577
#7  0x00007f211f4ef030 in QPixmap::toImage (this=0x7fff42a5be00) at image/qpixmap.cpp:487
#8  0x00007f211f50377d in QX11PixmapData::setAlphaChannel (this=0x7f20e0256f60, alpha=...) at image/qpixmap_x11.cpp:1300
#9  0x00000000006ec3e6 in Digikam::RatingWidget::applyFading (this=<value optimized out>, pix=...) at /build/buildd/digikam-1.4.0/digikam/ratingwidget.cpp:374
#10 0x00000000006ec5d6 in Digikam::RatingWidget::paintEvent (this=0x2d58890) at /build/buildd/digikam-1.4.0/digikam/ratingwidget.cpp:357
#11 0x00007f211f45dc2e in QWidget::event (this=0x2d58890, event=0x7fff42a5c700) at kernel/qwidget.cpp:8333
#12 0x00007f211f407fdc in QApplicationPrivate::notify_helper (this=0x29756f0, receiver=0x2d58890, e=0x7fff42a5c700) at kernel/qapplication.cpp:4396
#13 0x00007f211f40daed in QApplication::notify (this=0x7fff42a5f740, receiver=0x2d58890, e=0x7fff42a5c700) at kernel/qapplication.cpp:4277
#14 0x00007f212015b586 in KApplication::notify (this=0x7fff42a5f740, receiver=0x2d58890, event=0x7fff42a5c700) at ../../kdeui/kernel/kapplication.cpp:310
#15 0x00007f211e7f5cdc in QCoreApplication::notifyInternal (this=0x7fff42a5f740, receiver=0x2d58890, event=0x7fff42a5c700) at kernel/qcoreapplication.cpp:732
#16 0x00007f211f46467d in sendSpontaneousEvent (this=0x2d588d0, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, backingStore=0x2cb2910) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#17 QWidgetPrivate::drawWidget (this=0x2d588d0, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, backingStore=0x2cb2910) at kernel/qwidget.cpp:5420
#18 0x00007f211f465328 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=..., index=3, rgn=<value optimized out>, offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x2cb2910) at kernel/qwidget.cpp:5627
#19 0x00007f211f4643da in QWidgetPrivate::drawWidget (this=0x2d1b220, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, backingStore=0x2cb2910) at kernel/qwidget.cpp:5473
#20 0x00007f211f465328 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=..., index=0, rgn=<value optimized out>, offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x2cb2910) at kernel/qwidget.cpp:5627
#21 0x00007f211f4643da in QWidgetPrivate::drawWidget (this=0x2d1ade0, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, backingStore=0x2cb2910) at kernel/qwidget.cpp:5473
#22 0x00007f211f465328 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=..., index=8, rgn=<value optimized out>, offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x2cb2910) at kernel/qwidget.cpp:5627
#23 0x00007f211f4643da in QWidgetPrivate::drawWidget (this=0x2d1aba0, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, backingStore=0x2cb2910) at kernel/qwidget.cpp:5473
#24 0x00007f211f465328 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=..., index=2, rgn=<value optimized out>, offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x2cb2910) at kernel/qwidget.cpp:5627
#25 0x00007f211f4643da in QWidgetPrivate::drawWidget (this=0x2c73960, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, backingStore=0x2cb2910) at kernel/qwidget.cpp:5473
#26 0x00007f211f465328 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=..., index=1, rgn=<value optimized out>, offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x2cb2910) at kernel/qwidget.cpp:5627
#27 0x00007f211f4643da in QWidgetPrivate::drawWidget (this=0x2c72870, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, backingStore=0x2cb2910) at kernel/qwidget.cpp:5473
#28 0x00007f211f465328 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=..., index=5, rgn=<value optimized out>, offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x2cb2910) at kernel/qwidget.cpp:5627
#29 0x00007f211f4643da in QWidgetPrivate::drawWidget (this=0x2b528f0, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, backingStore=0x2cb2910) at kernel/qwidget.cpp:5473
#30 0x00007f211f465328 in QWidgetPrivate::paintSiblingsRecursive (this=<value optimized out>, pdev=<value optimized out>, siblings=..., index=11, rgn=<value optimized out>, offset=<value optimized out>, flags=4, sharedPainter=0x0, backingStore=0x2cb2910) at kernel/qwidget.cpp:5627
#31 0x00007f211f4643da in QWidgetPrivate::drawWidget (this=0x2be0370, pdev=<value optimized out>, rgn=..., offset=<value optimized out>, flags=<value optimized out>, sharedPainter=0x0, backingStore=0x2cb2910) at kernel/qwidget.cpp:5473
#32 0x00007f211f638408 in QWidgetBackingStore::sync (this=0x2cb2910) at painting/qbackingstore.cpp:1328
#33 0x00007f211f457730 in QWidgetPrivate::syncBackingStore (this=0x2be0370) at kernel/qwidget.cpp:1805
#34 0x00007f211f45e2f5 in QWidget::event (this=0x2c16b60, event=0x35afd80) at kernel/qwidget.cpp:8480
#35 0x00007f211f84541b in QMainWindow::event (this=0x2c16b60, event=0x35afd80) at widgets/qmainwindow.cpp:1417
#36 0x00007f2120278c93 in KXmlGuiWindow::event (this=0x7fff42a5bae0, ev=0x1) at ../../kdeui/xmlgui/kxmlguiwindow.cpp:132
#37 0x00007f211f407fdc in QApplicationPrivate::notify_helper (this=0x29756f0, receiver=0x2c16b60, e=0x35afd80) at kernel/qapplication.cpp:4396
#38 0x00007f211f40daed in QApplication::notify (this=0x7fff42a5f740, receiver=0x2c16b60, e=0x35afd80) at kernel/qapplication.cpp:4277
#39 0x00007f212015b586 in KApplication::notify (this=0x7fff42a5f740, receiver=0x2c16b60, event=0x35afd80) at ../../kdeui/kernel/kapplication.cpp:310
#40 0x00007f211e7f5cdc in QCoreApplication::notifyInternal (this=0x7fff42a5f740, receiver=0x2c16b60, event=0x35afd80) at kernel/qcoreapplication.cpp:732
#41 0x00007f211e7f8c22 in sendEvent (receiver=0x0, event_type=<value optimized out>, data=0x2936b90) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#42 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0x2936b90) at kernel/qcoreapplication.cpp:1373
#43 0x00007f211e822653 in sendPostedEvents (s=0x2977a60) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#44 postEventSourceDispatch (s=0x2977a60) at kernel/qeventdispatcher_glib.cpp:277
#45 0x00007f2119dc5342 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#46 0x00007f2119dc92a8 in ?? () from /lib/libglib-2.0.so.0
#47 0x00007f2119dc945c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#48 0x00007f211e822193 in QEventDispatcherGlib::processEvents (this=0x2936280, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:415
#49 0x00007f211f4baa4e in QGuiEventDispatcherGlib::processEvents (this=0x7fff42a5bae0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#50 0x00007f211e7f4a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#51 0x00007f211e7f4dec in QEventLoop::exec (this=0x7fff42a5f5b0, flags=) at kernel/qeventloop.cpp:201
#52 0x00007f211e7f8ebb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#53 0x000000000077cc1d in main (argc=<value optimized out>, argv=<value optimized out>) at /build/buildd/digikam-1.4.0/digikam/main.cpp:195

Possible duplicates by query: bug 248430.

Reported using DrKonqi
Comment 1 caulier.gilles 2011-04-20 08:50:06 UTC
It's probably a bug in libkdcraw. 

Go to help/Components Info and copy and paste all content.

I recommend to update digiKam to last stable 1.9.0 and also libkdcraw if possible.

Can you provide a link to your DNG image to test in local ?

Gilles Caulier
Comment 2 Dmitry 2011-05-25 17:45:20 UTC
Created attachment 60328 [details]
New crash information added by DrKonqi

digikam (1.9.0) on KDE Platform 4.6.2 (4.6.2) using Qt 4.7.2

- What I was doing when the application crashed:
1) Start digikam
2) Select new album folder with color .jpg and .dng (tiff raw)
3) Building thumbnails...... and crash

-- Backtrace (Reduced):
#7  Digikam::RAWLoader::loadedFromDcraw (this=0x9d276868, data=..., width=2688, height=4063, rgbmax=255, observer=0xd8110b8) at /build/buildd/digikam-1.9.0/libs/dimg/loaders/rawloader.cpp:254
#8  0x0386a58d in Digikam::RAWLoader::load (this=0x9d276868, filePath=..., observer=0xd8110b8) at /build/buildd/digikam-1.9.0/libs/dimg/loaders/rawloader.cpp:121
#9  0x03855020 in Digikam::DImg::load (this=0x9d276e5c, filePath=..., loadFlagsInt=13, observer=0xd8110b8, rawDecodingSettings=...) at /build/buildd/digikam-1.9.0/libs/dimg/dimg.cpp:476
#10 0x03855aea in Digikam::DImg::load (this=0x9d276e5c, filePath=..., loadMetadata=false, loadICCData=true, loadUniqueHash=false, observer=0xd8110b8, rawDecodingSettings=...) at /build/buildd/digikam-1.9.0/libs/dimg/dimg.cpp:382
#11 0x039d4c1b in Digikam::ThumbnailCreator::loadWithDImg (this=0xa4331c8, path=..., profile=0x9d276f70) at /build/buildd/digikam-1.9.0/libs/threadimageio/thumbnailcreator.cpp:457
Comment 3 caulier.gilles 2011-05-26 08:17:14 UTC
Dmitry,

Can you send me the image responsible of this crash ?

Note : i suspect a libkdcraw binary compatibility issue on your computer. If it work on mine, it will confirm it.

Also, i need to know the libkdcraw and libraw version that you use.

Gilles Caulier
Comment 4 Dmitry 2011-05-26 23:17:32 UTC
Hi!

Operating System: Linux 2.6.38-8-generic #42-Ubuntu SMP i686
Distribution: Kubuntu 11.04


I have long sought to understand the patterns of failure digikam.
Found a few files. If their mark in the album, digikam crash. I suggest to download one of them - http://www.rirc.ru/images/scan0003.dng (Size 21M) If a lot of files in the album, the crash quickly. To reiterate my problem, I always do this:

Open/Close album,
Several times clicked on the album,
Click on the icon to rotate the image.
Digikam is usually crash.

I could not find installed libraw. Probably it is part of another package? I found that I had a version of the libkdcraw9:

$ LANG=C dpkg -s libkdcraw9
Package: libkdcraw9
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 840
Maintainer: Kubuntu Developers <kubuntu-devel@lists.ubuntu.com>
Architecture: i386
Source: kdegraphics
Version: 4:4.6.2-0ubuntu1
Depends: libc6 (>= 2.4), libgcc1 (>= 1:4.1.1), libgomp1 (>= 4.2.1), libkdecore5 (>= 4:4.5), libkdeui5 (>= 4:4.5.80), libkio5 (>= 4:4.5), liblcms1 (>= 1.15-1), libqtcore4 (>= 4:4.7.0~beta1), libqtgui4 (>= 4:4.5.3), libstdc++6 (>= 4.4.0), kdegraphics-libs-data (>= 4:4.6.2-0ubuntu1)
Description: RAW picture decoding C++ library (runtime)
 C++ interface around dcraw binary program used to decode RAW
 picture files.
 .
 This library is used by kipi-plugins, digiKam and krita
 .
 libkdcraw9 contains the library of libkdcraw.
Homepage: http://www.kde.org/
Original-Maintainer: Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>


Terminal output:

$ digikam

.....

Building histograms...
Building histograms...
/home/dimich/1/scan0003.dng: Cannot use camera white balance.
Scaling with darkness 0, saturation 65535, and
multipliers 1.000000 25926.744141 25926.744141 25926.744141
/home/dimich/1/scan0003.dng: Cannot use camera white balance.
Scaling with darkness 0, saturation 65535, and
multipliers 1.000000 25926.744141 25926.744141 25926.744141
Building histograms...
Building histograms...
/home/dimich/1/scan0003.dng: Cannot use camera white balance.
Scaling with darkness 0, saturation 65535, and
multipliers 1.000000 1.000000 1.000000 1.000000
/home/dimich/1/scan0003.dng: Cannot use camera white balance.
Scaling with darkness 0, saturation 65535, and
multipliers 1.000000 1.000000 1.000000 1.000000
Building histograms...
Building histograms...
KCrash: Application 'digikam' crashing...
KCrash: Attempting to start /usr/lib/kde4/libexec/drkonqi from kdeinit
sock_file=/home/dimich/.kde/socket-dimich-desktop/kdeinit4__0
QSocketNotifier: Invalid socket 14 and type 'Read', disabling...
QSocketNotifier: Invalid socket 36 and type 'Read', disabling...
QSocketNotifier: Invalid socket 39 and type 'Read', disabling...
QSocketNotifier: Invalid socket 47 and type 'Read', disabling...
QSocketNotifier: Invalid socket 112 and type 'Read', disabling...
QSocketNotifier: Invalid socket 115 and type 'Read', disabling...
QSocketNotifier: Invalid socket 109 and type 'Read', disabling...
QSocketNotifier: Invalid socket 13 and type 'Read', disabling...
QSocketNotifier: Invalid socket 48 and type 'Read', disabling...
QSocketNotifier: Invalid socket 118 and type 'Read', disabling...
QSocketNotifier: Invalid socket 121 and type 'Read', disabling...
QSocketNotifier: Invalid socket 52 and type 'Read', disabling...
QSocketNotifier: Invalid socket 43 and type 'Read', disabling...
digikam: Fatal IO error: client killed
Comment 5 caulier.gilles 2011-05-27 06:00:58 UTC
Dmitry,

Libraw library is include in libkdcraw.

Go to Help/Components Info from digiKam menu and copy and paste the contents here.

Also, i suspect that 2 version of libkdcraw is installled on your system. Please check...

Gilles Caulier
Comment 6 caulier.gilles 2011-05-27 06:11:42 UTC
Created attachment 60369 [details]
Grayscale DNG open by Showfoto
Comment 7 caulier.gilles 2011-05-27 06:14:54 UTC
Alex, 

Look like with Dmitry DNG image, Showfoto open strongly this RAW file. I attached a screen-shot to this file.

I use last libraw of course, as you can see in components info dialog.

Note that Showfoto don't crash here.

Gilles Caulier
Comment 8 Alex Tutubalin 2011-05-27 07:08:55 UTC
Hello!

The dcraw_emu sample (from latest LibRaw 0.13.5) extracts nice cat BW negative from the sample file. I've tested under Windows7, will try unix version later today.

The resulting image is black and white (one component, not three), may it cause the problem on the later stages?
Comment 9 caulier.gilles 2011-05-27 08:37:05 UTC
Alex,

You want mean that color depth of image data extracted from libraw, can be different than RGB ? Same about JPEG embeded preview image ?

Gilles Caulier
Comment 10 Alex Tutubalin 2011-05-27 09:08:08 UTC
For dcraw_make_mem_image call you *should* take libraw_processed_image_t.colors field into account. For grayscale image this field is equal to 1 and bitmap allocated according to exact color count:
 === quote from source ===
unsigned ds = S.height * S.width * (O.output_bps/8) * P1.colors;
libraw_processed_image_t *ret = (libraw_processed_image_t*)::malloc(sizeof(libraw_processed_image_t)+ds);
...
ret->colors = P1.colors;

For thumbnail things are simpler:
 for libraw_processed_image_t.type == LIBRAW_THUMBNAIL_BITMAP  the libraw_processed_image_t.colors is always 3
 and for libraw_processed_image_t.type == LIBRAW_THUMBNAIL_JPEG the thumbnail is JPEG data (libraw does not analyse this type of thumbnails)
Comment 11 caulier.gilles 2011-05-27 09:20:26 UTC
Alex, 

i think i found the problem : it's in PPM creation header :

https://projects.kde.org/projects/kde/kdegraphics/libs/libkdcraw/repository/revisions/master/entry/libkdcraw/kdcraw_p.cpp#L61

For grayscaled image, i need to set header with P3 (PGM), not P6 (PPM)

Gilles Caulier
Comment 12 caulier.gilles 2011-05-27 09:46:33 UTC
Alex,

Sorry, i would said P5 for PGM, not P3...

Gilles
Comment 13 Alex Tutubalin 2011-05-27 09:50:47 UTC
dcraw uses:
 if(colors>3) "P7"
 else "P%d",colors/2+5

:)
Comment 14 caulier.gilles 2011-05-27 09:52:44 UTC
Git commit d24a6a9fcfe9d7a57fdef257e69fb4f70612a829 by Gilles Caulier.
Committed on 27/05/2011 at 09:52.
Pushed by cgilles into branch 'master'.

create right PGM header with Grayscale image.
CCBUGS: 271323

M  +4    -1    libkdcraw/kdcraw_p.cpp     

http://commits.kde.org/libkdcraw/d24a6a9fcfe9d7a57fdef257e69fb4f70612a829
Comment 15 caulier.gilles 2011-05-27 10:18:53 UTC
Git commit 58cc00a214e6ece264d016b2a12f13c1bc0528ff by Gilles Caulier.
Committed on 27/05/2011 at 10:17.
Pushed by cgilles into branch 'master'.

If colors component is 1 (Grayscale), make demosaiced image as RGB for client application.
BUGS: 271323

M  +21   -6    libkdcraw/kdcraw.cpp     

http://commits.kde.org/libkdcraw/58cc00a214e6ece264d016b2a12f13c1bc0528ff
Comment 16 caulier.gilles 2011-05-27 10:25:42 UTC
Created attachment 60374 [details]
showfoto loading grayscale DNG image properlly...

Dmitry,

All is fixed now in libkdcraw from git Master repository...

Gilles Caulier