Bug 319632

Summary: Digikam crashes when in-painting applied to photo
Product: [Applications] digikam Reporter: Brian Wainwright <briw>
Component: Plugin-Editor-CloneAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: aa508, caulier.gilles
Priority: NOR    
Version: 3.1.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 5.8.0
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description Brian Wainwright 2013-05-10 15:24:15 UTC
Application: digikam (3.1.0)
KDE Platform Version: 4.10.2
Qt Version: 4.8.4
Operating System: Linux 3.8.0-19-generic i686
Distribution: Ubuntu 13.04

-- Information about the crash:
- What I was doing when the application crashed:Using edit tool - inpainting to remove a blemish 1st time stalled had to force quit, then crashed after same process

-- Backtrace:
Application: digiKam (digikam), signal: Aborted
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0xabec8900 (LWP 10703))]

Thread 5 (Thread 0xaac4fb40 (LWP 10707)):
#0  0xb30af686 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#1  0xb30afc2b in g_main_loop_run () from /lib/i386-linux-gnu/libglib-2.0.so.0
#2  0xaeb5fbca in ?? () from /usr/lib/i386-linux-gnu/libgio-2.0.so.0
#3  0xb30d4fc3 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb3447d78 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#5  0xb4ad93de in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 4 (Thread 0xa9706b40 (LWP 10708)):
#0  0xb7735424 in __kernel_vsyscall ()
#1  0xb344b84b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0xb4ae6d7c in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0xb4dcb0f0 in wait (time=4294967295, this=0xa0998b8) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=0xa099824, mutex=0xa099820, time=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0x08209f16 in Digikam::ScanController::run (this=0xa09bad0) at /build/buildd/digikam-3.1.0/core/digikam/database/scancontroller.cpp:705
#6  0xb4dcab18 in QThreadPrivate::start (arg=0xa09bad0) at thread/qthread_unix.cpp:338
#7  0xb3447d78 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#8  0xb4ad93de in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 3 (Thread 0xa8dffb40 (LWP 10709)):
#0  0xb7735424 in __kernel_vsyscall ()
#1  0xb4ac9dcb in poll () from /lib/i386-linux-gnu/libc.so.6
#2  0xb30be2db in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb30af6d0 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb30af831 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xb4f0fc3f in QEventDispatcherGlib::processEvents (this=0xa0935c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0xb4edc3ec in QEventLoop::processEvents (this=this@entry=0xa8dff068, flags=...) at kernel/qeventloop.cpp:149
#7  0xb4edc6e1 in QEventLoop::exec (this=this@entry=0xa8dff068, flags=...) at kernel/qeventloop.cpp:204
#8  0xb4dc7fec in QThread::exec (this=this@entry=0xa0940b8) at thread/qthread.cpp:542
#9  0xb4ebbf2d in QInotifyFileSystemWatcherEngine::run (this=0xa0940b8) at io/qfilesystemwatcher_inotify.cpp:256
#10 0xb4dcab18 in QThreadPrivate::start (arg=0xa0940b8) at thread/qthread_unix.cpp:338
#11 0xb3447d78 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#12 0xb4ad93de in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 2 (Thread 0xa85feb40 (LWP 10711)):
#0  0xb7735424 in __kernel_vsyscall ()
#1  0xb344b84b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0xb4ae6d7c in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0xb4dcb0f0 in wait (time=4294967295, this=0xa1a0200) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=this@entry=0xa0ade88, mutex=mutex@entry=0xa0ade84, time=time@entry=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0xb6a367cc in Digikam::ParkingThread::run (this=0xa0ade78) at /build/buildd/digikam-3.1.0/core/libs/threads/threadmanager.cpp:119
#6  0xb4dcab18 in QThreadPrivate::start (arg=0xa0ade78) at thread/qthread_unix.cpp:338
#7  0xb3447d78 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#8  0xb4ad93de in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 1 (Thread 0xabec8900 (LWP 10703)):
[KCrash Handler]
#7  0xb7735424 in __kernel_vsyscall ()
#8  0xb4a16b1f in raise () from /lib/i386-linux-gnu/libc.so.6
#9  0xb4a1a0b3 in abort () from /lib/i386-linux-gnu/libc.so.6
#10 0xb4c4791d in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#11 0xb4c45563 in ?? () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#12 0xb4c4559f in std::terminate() () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#13 0xb4c45885 in __cxa_rethrow () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#14 0xb4edc967 in QEventLoop::exec (this=this@entry=0xbfd3da28, flags=...) at kernel/qeventloop.cpp:218
#15 0xb4ee23fa in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#16 0xb544efc4 in QApplication::exec () at kernel/qapplication.cpp:3828
#17 0x080b9fc6 in main (argc=5, argv=0xbfd3dd84) at /build/buildd/digikam-3.1.0/core/digikam/main/main.cpp:235

This bug may be a duplicate of or related to bug 300446.

Possible duplicates by query: bug 319605, bug 319462, bug 319457, bug 319422, bug 319383.

Reported using DrKonqi
Comment 1 Charles MacDonald 2013-07-06 23:47:20 UTC
Created attachment 80997 [details]
New crash information added by DrKonqi

gwenview (2.8.5) on KDE Platform 4.8.5 (4.8.5) using Qt 4.8.1

- What I was doing when the application crashed:

Was scrolling through a directory of pictures.  Some where actually Videos from the digital camera.  Displaying the video seems to hold the screen after it is finished, scrolled to plain JPG beside the video and Gwenview crashed.

-- Backtrace (Reduced):
#14 0xb711da55 in QEventLoop::exec (this=0xbfb47e34, flags=...) at kernel/qeventloop.cpp:218
#15 0xb7122eba in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
#16 0xb60c8a74 in QApplication::exec () at kernel/qapplication.cpp:3820
#17 0x080661ad in main (argc=<error reading variable: Cannot access memory at address 0xceb>, argv=<error reading variable: Cannot access memory at address 0xcef>) at ../../app/main.cpp:142
Comment 2 Ananta Palani 2013-07-12 23:41:15 UTC
Git commit 421b387878e84d272f63dc12d67bef37d5eeb0cf by Ananta Palani.
Committed on 12/07/2013 at 23:40.
Pushed by palani into branch 'master'.

Fixes hang in in-painting tool and segfault caused by leaking threads each iteration of cimg tool use.
Related: bug 304002
FIXED-IN: 3.3.0

M  +3    -1    NEWS
M  +1    -2    imageplugins/enhance/inpaintingtool.cpp
M  +8    -4    libs/3rdparty/cimg/greycstoration.h

http://commits.kde.org/digikam/421b387878e84d272f63dc12d67bef37d5eeb0cf
Comment 3 caulier.gilles 2013-07-23 08:12:57 UTC
Git commit aa796e8a553b94da6c2b05a24ba66a94673171b1 by Gilles Caulier.
Committed on 23/07/2013 at 08:09.
Pushed by cgilles into branch 'master'.

Inpainting and restoration tools : handup resize event from canvas widget only when preview session settings are restored,
else greystoration configuration can be uncomplete/broken and generate infinite loop.
Rename "None" preset as "Custom" to be more user friendly.
Related: bug 304002

M  +23   -20   imageplugins/enhance/inpaintingtool.cpp
M  +1    -1    imageplugins/enhance/inpaintingtool.h
M  +22   -20   imageplugins/enhance/restorationtool.cpp
M  +1    -1    imageplugins/enhance/restorationtool.h
M  +13   -12   utilities/imageeditor/editor/editortool.cpp
M  +1    -1    utilities/imageeditor/editor/editortool.h

http://commits.kde.org/digikam/aa796e8a553b94da6c2b05a24ba66a94673171b1
Comment 4 caulier.gilles 2017-09-05 05:10:24 UTC
With 5.8.0, in-painting image editor tool was been replaced by a Clone tool.

More details here : 

https://community.kde.org/GSoC/2017/StatusReports/shazaismailkaoud

Gilles Caulier