Bug 308648

Summary: .NEF files rendered horribly in image editor
Product: [Applications] digikam Reporter: Sayantan Datta <kenzo.zombie>
Component: Plugin-DImg-RAWAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: caulier.gilles, lexa
Priority: NOR    
Version: 3.0.0   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In: 6.2.0
Sentry Crash Report:

Description Sayantan Datta 2012-10-19 10:54:48 UTC
the library dimg which is used to view and access raw 16-bit images in the image editor fails to view the .NEF image taken by nikon D40. It shows multiple lines, probably errors while reading the image.

Reproducible: Always

Steps to Reproduce:
1.Open any existing .nef file in any album in the image editor
2.
3.
Actual Results:  
Sometimes digikam crashes altogether, and sometimes there are errors while showing the photo.

Expected Results:  
Display the image without extra lines, and errors while reading the image

Application: digiKam (digikam), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:166
166	62:	movl	(%rsp), %edi
[Current thread is 1 (Thread 0x7ff4d889b8c0 (LWP 6582))]

Thread 9 (Thread 0x7ff4cccc3700 (LWP 6583)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:166
#1  0x0000003d2f47baeb in QWaitCondition::wait(QMutex*, unsigned long) () from /lib64/libQtCore.so.4
#2  0x00000000005fadad in Digikam::ScanController::run (this=0xf01ee0) at /home/sayantan/WORK/digikam/digikam-software-compilation/core/digikam/database/scancontroller.cpp:698
#3  0x0000003d2f47b5eb in ?? () from /lib64/libQtCore.so.4
#4  0x0000003f61a07d14 in start_thread (arg=0x7ff4cccc3700) at pthread_create.c:309
#5  0x0000003f612f199d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 8 (Thread 0x7ff4c7fff700 (LWP 6584)):
#0  0x0000003f612e8eef in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x0000003d2e0479b4 in ?? () from /lib64/libglib-2.0.so.0
#2  0x0000003d2e047ad4 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x0000003d2f5a4506 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#4  0x0000003d2f57513f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#5  0x0000003d2f5753c8 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#6  0x0000003d2f478650 in QThread::exec() () from /lib64/libQtCore.so.4
#7  0x0000003d2f555b4f in ?? () from /lib64/libQtCore.so.4
#8  0x0000003d2f47b5eb in ?? () from /lib64/libQtCore.so.4
#9  0x0000003f61a07d14 in start_thread (arg=0x7ff4c7fff700) at pthread_create.c:309
#10 0x0000003f612f199d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 7 (Thread 0x7ff4abdcb700 (LWP 6802)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:218
#1  0x0000003d2f47ba47 in QWaitCondition::wait(QMutex*, unsigned long) () from /lib64/libQtCore.so.4
#2  0x0000003d2f46f36f in ?? () from /lib64/libQtCore.so.4
#3  0x0000003d2f47b5eb in ?? () from /lib64/libQtCore.so.4
#4  0x0000003f61a07d14 in start_thread (arg=0x7ff4abdcb700) at pthread_create.c:309
#5  0x0000003f612f199d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 6 (Thread 0x7ff490994700 (LWP 6811)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:218
#1  0x0000003d2f47ba47 in QWaitCondition::wait(QMutex*, unsigned long) () from /lib64/libQtCore.so.4
#2  0x0000003d2f46f36f in ?? () from /lib64/libQtCore.so.4
#3  0x0000003d2f47b5eb in ?? () from /lib64/libQtCore.so.4
#4  0x0000003f61a07d14 in start_thread (arg=0x7ff490994700) at pthread_create.c:309
#5  0x0000003f612f199d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 5 (Thread 0x7ff46f7fe700 (LWP 6813)):
[KCrash Handler]
#5  0x00007ff4dc3d3659 in LibRaw::lin_interpolate_loop(int (*) [16][32], int) [clone ._omp_fn.4] () at /home/sayantan/WORK/digikam/digikam-software-compilation/extra/libkdcraw/libraw/internal/dcraw_common.cpp:3608
#6  0x00007ff4dc3b40c7 in LibRaw::lin_interpolate_loop (this=0x7ff46f7af820, code=0x7ff46f7a7560, size=16) at /home/sayantan/WORK/digikam/digikam-software-compilation/extra/libkdcraw/libraw/internal/dcraw_common.cpp:3595
#7  0x00007ff4dc3b44d7 in LibRaw::lin_interpolate (this=0x7ff46f7af820) at /home/sayantan/WORK/digikam/digikam-software-compilation/extra/libkdcraw/libraw/internal/dcraw_common.cpp:3655
#8  0x00007ff4dc39d007 in LibRaw::dcraw_process (this=0x7ff46f7af820) at /home/sayantan/WORK/digikam/digikam-software-compilation/extra/libkdcraw/libraw/src/libraw_cxx.cpp:2466
#9  0x00007ff4dc37d103 in KDcrawIface::KDcraw::Private::loadFromLibraw (this=0x7ff4bc0023c0, filePath=..., imageData=..., width=@0x7ff46f7fcc3c: 1072693248, height=@0x7ff46f7fcc38: 0, rgbmax=@0x7ff46f7fcc34: 1085891584) at /home/sayantan/WORK/digikam/digikam-software-compilation/extra/libkdcraw/libkdcraw/kdcraw_p.cpp:506
#10 0x00007ff4dc37a225 in KDcrawIface::KDcraw::decodeRAWImage (this=0x7ff46f7fcdb0, filePath=..., rawDecodingSettings=..., imageData=..., width=@0x7ff46f7fcc3c: 1072693248, height=@0x7ff46f7fcc38: 0, rgbmax=@0x7ff46f7fcc34: 1085891584) at /home/sayantan/WORK/digikam/digikam-software-compilation/extra/libkdcraw/libkdcraw/kdcraw.cpp:386
#11 0x00007ff4dbc7af8a in Digikam::RAWLoader::load (this=0x7ff46f7fcdb0, filePath=..., observer=0x28691c0) at /home/sayantan/WORK/digikam/digikam-software-compilation/core/libs/dimg/loaders/rawloader.cpp:126
#12 0x00007ff4dbc4066c in Digikam::DImg::load (this=0x7ff46f7fdaa0, filePath=..., loadFlagsInt=63, observer=0x28691c0, rawDecodingSettings=...) at /home/sayantan/WORK/digikam/digikam-software-compilation/core/libs/dimg/dimg.cpp:505
#13 0x00007ff4dbc3f8c0 in Digikam::DImg::load (this=0x7ff46f7fdaa0, filePath=..., observer=0x28691c0, rawDecodingSettings=...) at /home/sayantan/WORK/digikam/digikam-software-compilation/core/libs/dimg/dimg.cpp:378
#14 0x00007ff4dbc3eafe in Digikam::DImg::DImg (this=0x7ff46f7fdaa0, filePath=..., observer=0x28691c0, rawDecodingSettings=...) at /home/sayantan/WORK/digikam/digikam-software-compilation/core/libs/dimg/dimg.cpp:113
#15 0x00007ff4dbe479ba in Digikam::SharedLoadingTask::execute (this=0x28691b0) at /home/sayantan/WORK/digikam/digikam-software-compilation/core/libs/threadimageio/loadsavetask.cpp:216
#16 0x00007ff4dbe376e9 in Digikam::LoadSaveThread::run (this=0x2bb94c0) at /home/sayantan/WORK/digikam/digikam-software-compilation/core/libs/threadimageio/loadsavethread.cpp:136
#17 0x00007ff4dbe757ae in Digikam::DynamicThread::DynamicThreadPriv::run (this=0x2bbab20) at /home/sayantan/WORK/digikam/digikam-software-compilation/core/libs/threads/dynamicthread.cpp:186
#18 0x0000003d2f46f27d in ?? () from /lib64/libQtCore.so.4
#19 0x0000003d2f47b5eb in ?? () from /lib64/libQtCore.so.4
#20 0x0000003f61a07d14 in start_thread (arg=0x7ff46f7fe700) at pthread_create.c:309
#21 0x0000003f612f199d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 4 (Thread 0x7ff46c14a700 (LWP 6815)):
[KCrash Handler]
#5  0x00007ff4dc3d3659 in LibRaw::lin_interpolate_loop(int (*) [16][32], int) [clone ._omp_fn.4] () at /home/sayantan/WORK/digikam/digikam-software-compilation/extra/libkdcraw/libraw/internal/dcraw_common.cpp:3608
#6  0x0000003d330087da in gomp_thread_start (xdata=<optimized out>) at ../../../libgomp/team.c:116
#7  0x0000003f61a07d14 in start_thread (arg=0x7ff46c14a700) at pthread_create.c:309
#8  0x0000003f612f199d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 3 (Thread 0x7ff46b949700 (LWP 6816)):
#0  futex_wait (val=0, addr=0x7ff4bc06a9b4) at ../../../libgomp/config/linux/x86/futex.h:44
#1  do_wait (val=0, addr=0x7ff4bc06a9b4) at ../../../libgomp/config/linux/wait.h:64
#2  do_wait (val=0, addr=0x7ff4bc06a9b4) at ../../../libgomp/config/linux/bar.c:80
#3  gomp_team_barrier_wait_end (bar=bar@entry=0x7ff4bc06a9b0, state=0) at ../../../libgomp/config/linux/bar.c:107
#4  0x0000003d3300a1fa in gomp_team_barrier_wait (bar=bar@entry=0x7ff4bc06a9b0) at ../../../libgomp/config/linux/bar.c:123
#5  0x0000003d330087e6 in gomp_thread_start (xdata=<optimized out>) at ../../../libgomp/team.c:117
#6  0x0000003f61a07d14 in start_thread (arg=0x7ff46b949700) at pthread_create.c:309
#7  0x0000003f612f199d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 2 (Thread 0x7ff46b148700 (LWP 6817)):
#0  futex_wait (val=0, addr=0x7ff4bc06a9b4) at ../../../libgomp/config/linux/x86/futex.h:44
#1  do_wait (val=0, addr=0x7ff4bc06a9b4) at ../../../libgomp/config/linux/wait.h:64
#2  do_wait (val=0, addr=0x7ff4bc06a9b4) at ../../../libgomp/config/linux/bar.c:80
#3  gomp_team_barrier_wait_end (bar=bar@entry=0x7ff4bc06a9b0, state=0) at ../../../libgomp/config/linux/bar.c:107
#4  0x0000003d3300a1fa in gomp_team_barrier_wait (bar=bar@entry=0x7ff4bc06a9b0) at ../../../libgomp/config/linux/bar.c:123
#5  0x0000003d330087e6 in gomp_thread_start (xdata=<optimized out>) at ../../../libgomp/team.c:117
#6  0x0000003f61a07d14 in start_thread (arg=0x7ff46b148700) at pthread_create.c:309
#7  0x0000003f612f199d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 1 (Thread 0x7ff4d889b8c0 (LWP 6582)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:166
#1  0x0000003d2f47baeb in QWaitCondition::wait(QMutex*, unsigned long) () from /lib64/libQtCore.so.4
#2  0x0000003d2f46ea4f in ?? () from /lib64/libQtCore.so.4
#3  0x0000003d2f4704fd in QThreadPool::~QThreadPool() () from /lib64/libQtCore.so.4
#4  0x0000003d2f470539 in QThreadPool::~QThreadPool() () from /lib64/libQtCore.so.4
#5  0x0000003d2f588a32 in QObjectPrivate::deleteChildren() () from /lib64/libQtCore.so.4
#6  0x0000003d2f58dc06 in QObject::~QObject() () from /lib64/libQtCore.so.4
#7  0x00007ff4dbe72e1e in Digikam::ThreadManager::~ThreadManager (this=0xf65500, __in_chrg=<optimized out>) at /home/sayantan/WORK/digikam/digikam-software-compilation/core/libs/threads/threadmanager.cpp:257
#8  0x00007ff4dbe73730 in Digikam::ThreadManagerCreator::~ThreadManagerCreator (this=0xf65500, __in_chrg=<optimized out>) at /home/sayantan/WORK/digikam/digikam-software-compilation/core/libs/threads/threadmanager.cpp:236
#9  0x00007ff4dbe72cc7 in destroy () at /home/sayantan/WORK/digikam/digikam-software-compilation/core/libs/threads/threadmanager.cpp:241
#10 0x00007ff4dbc4cccf in KCleanUpGlobalStatic::~KCleanUpGlobalStatic (this=0x7ff4dc34ea78, __in_chrg=<optimized out>) at /usr/include/kde4/kglobal.h:62
#11 0x0000003f61238bb1 in __run_exit_handlers (status=1, listp=0x3f615b0688, run_list_atexit=run_list_atexit@entry=true) at exit.c:78
#12 0x0000003f61238c35 in __GI_exit (status=<optimized out>) at exit.c:100
#13 0x0000003d30e33ff8 in ?? () from /lib64/libQtGui.so.4
#14 0x0000003f07c45688 in KApplication::xioErrhandler(_XDisplay*) () from /lib64/libkdeui.so.5
#15 0x00000034a3a455ce in _XIOError () from /lib64/libX11.so.6
#16 0x00000034a3a4306d in _XEventsQueued () from /lib64/libX11.so.6
#17 0x00000034a3a3462b in XEventsQueued () from /lib64/libX11.so.6
#18 0x0000003d30e6a14c in ?? () from /lib64/libQtGui.so.4
#19 0x0000003d2e0474cb in g_main_context_check () from /lib64/libglib-2.0.so.0
#20 0x0000003d2e047952 in ?? () from /lib64/libglib-2.0.so.0
#21 0x0000003d2e047ad4 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#22 0x0000003d2f5a44e6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#23 0x0000003d30e6a2ee in ?? () from /lib64/libQtGui.so.4
#24 0x0000003d2f57513f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#25 0x0000003d2f5753c8 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#26 0x0000003d2f57a1b8 in QCoreApplication::exec() () from /lib64/libQtCore.so.4
#27 0x00000000006e3696 in main (argc=5, argv=0x7fff1dc3d4e8) at /home/sayantan/WORK/digikam/digikam-software-compilation/core/digikam/main/main.cpp:234
Comment 1 caulier.gilles 2012-10-19 11:02:35 UTC
It's probably due to 0.15.0 alpha stage of libraw included in libkdcraw. I don't have updated it yet to new beta version.

Which demosaicing quality you use ? Bilinear ? Do you tried another one ?

Gilles Caulier
Comment 2 Sayantan Datta 2012-10-21 05:51:34 UTC
this seems to be a copy of Bug 308489.
Bug 308489 - raw image development produces artifacts in digikam 3.0.0-beta 2

Sayantan Datta

On Fri, Oct 19, 2012 at 4:32 PM, Gilles Caulier
<caulier.gilles@gmail.com> wrote:
> https://bugs.kde.org/show_bug.cgi?id=308648
>
> Gilles Caulier <caulier.gilles@gmail.com> changed:
>
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>                  CC|                            |caulier.gilles@gmail.com,
>                    |                            |lexa@lexa.ru
>           Component|Image Editor                |libkdcraw
>
> --- Comment #1 from Gilles Caulier <caulier.gilles@gmail.com> ---
> It's probably due to 0.15.0 alpha stage of libraw included in libkdcraw. I
> don't have updated it yet to new beta version.
>
> Which demosaicing quality you use ? Bilinear ? Do you tried another one ?
>
> Gilles Caulier
>
> --
> You are receiving this mail because:
> You are the assignee for the bug.
> _______________________________________________
> Digikam-devel mailing list
> Digikam-devel@kde.org
> https://mail.kde.org/mailman/listinfo/digikam-devel
Comment 3 caulier.gilles 2012-10-21 07:04:36 UTC

*** This bug has been marked as a duplicate of bug 308489 ***
Comment 4 caulier.gilles 2019-07-27 14:00:00 UTC
Fixed with bug #308489