Bug 278038 - Digikam crashes while switching image in editor thumbbar
Summary: Digikam crashes while switching image in editor thumbbar
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Plugin-RawImport-Native (show other bugs)
Version: 2.0.0
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-07-18 18:15 UTC by Frederic Grelot
Modified: 2022-01-26 04:23 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 2.0.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Frederic Grelot 2011-07-18 18:15:24 UTC
Application: digikam (2.0.0rc)
KDE Platform Version: 4.6.3 (4.6.3)
Qt Version: 4.7.3
Operating System: Linux 2.6.38.8-32.fc15.x86_64 x86_64
Distribution (Platform): Fedora RPMs

-- Information about the crash:
- What I was doing when the application crashed:
A picture was (probably) being converted from raw, while I selected an other picture in the thumbbar. Everything suddenly closed...
digikam was launched from console, here is the output (/raid is an nfs-mounted folder):
Bilinear interpolation...
Converting to sRGB colorspace...
digikam(1630)/digikam (core) Digikam::FileSaveOptionsBox::discoverFormat: Using fallback format  0 
digikam(1630)/digikam (core) Digikam::FileSaveOptionsBox::discoverFormat: Using fallback format  0 
No itemShortInfo could be retrieved from the database for image "xl1630.digikamtempfile.tmp.xmp" 
digikam(1630)/digikam (core) Digikam::FileSaveOptionsBox::discoverFormat: Using fallback format  0 
digikam(1630)/digikam (core) Digikam::FileSaveOptionsBox::discoverFormat: Using fallback format  0 
No itemShortInfo could be retrieved from the database for image "IMGP0787.jpeg" 
digikam(1630)/digikam (core) Digikam::CollectionScanner::scanAlbum: Folder does not exist or is not readable:  "/raid/Photos/2011/07 - Juillet/15 - Cirque de Gavarnie/Pp1630.digikamtempfile.tmp" 
digikam(1630)/digikam (core) Digikam::CollectionScanner::scanAlbum: Folder does not exist or is not readable:  "/raid/Photos/2011/07 - Juillet/15 - Cirque de Gavarnie/Pp1630.digikamtempfile.tmp1630" 
digikam(1630)/digikam (core) Digikam::CollectionScanner::scanAlbum: Folder does not exist or is not readable:  "/raid/Photos/2011/07 - Juillet/15 - Cirque de Gavarnie/Pp1630.digikamtempfile.tmp.xmp" 
digikam(1630)/digikam (core) Digikam::CollectionScanner::scanAlbum: Folder does not exist or is not readable:  "/raid/Photos/2011/07 - Juillet/15 - Cirque de Gavarnie/IMGP0787.jpeg" 
Scaling with darkness 0, saturation 16248, and
multipliers 2,226562 1,000000 1,628906 1,000000
Bilinear interpolation...
Converting to sRGB colorspace...
KCrash: Application 'digikam' crashing...
KCrash: Attempting to start /usr/libexec/kde4/drkonqi from kdeinit


- Custom settings of the application:
digikam was launched over ssh (ouch... but hey, it works pretty well!! especially since my remote PC is far more powerful than my laptop... I should use direct X to avoid the encryption layer, I think it'll be pretty good)
the database is stored in mysql

-- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f12630b5a40 (LWP 1630))]

Thread 11 (Thread 0x7f125812f700 (LWP 1641)):
#0  0x000000397480b475 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f1265ac95db in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00000000005bc670 in Digikam::ScanController::run (this=0x142f010) at /raid/home/goulou/digikam/digikam-sc/core/digikam/database/scancontroller.cpp:618
#3  0x00007f1265ac9145 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x0000003974807af1 in start_thread () from /lib64/libpthread.so.0
#5  0x00000039744dfb7d in clone () from /lib64/libc.so.6

Thread 10 (Thread 0x7f125792e700 (LWP 1687)):
#0  0x000000397480b475 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f1265ac95db in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007f1267a69ad7 in Digikam::ParkingThread::run (this=0x15df760) at /raid/home/goulou/digikam/digikam-sc/core/libs/threads/threadmanager.cpp:119
#3  0x00007f1265ac9145 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x0000003974807af1 in start_thread () from /lib64/libpthread.so.0
#5  0x00000039744dfb7d in clone () from /lib64/libc.so.6

Thread 9 (Thread 0x7f1231652700 (LWP 1780)):
#0  0x0000003980e094d6 in ?? () from /usr/lib64/libgomp.so.1
#1  0x0000003980e07ffe in ?? () from /usr/lib64/libgomp.so.1
#2  0x0000003974807af1 in start_thread () from /lib64/libpthread.so.0
#3  0x00000039744dfb7d in clone () from /lib64/libc.so.6

Thread 8 (Thread 0x7f1230e51700 (LWP 1781)):
#0  0x0000003980e094d6 in ?? () from /usr/lib64/libgomp.so.1
#1  0x0000003980e07ffe in ?? () from /usr/lib64/libgomp.so.1
#2  0x0000003974807af1 in start_thread () from /lib64/libpthread.so.0
#3  0x00000039744dfb7d in clone () from /lib64/libc.so.6

Thread 7 (Thread 0x7f12237fe700 (LWP 9817)):
#0  0x000000397480b7df in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f1265ac954e in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007f1265abdedf in ?? () from /usr/lib64/libQtCore.so.4
#3  0x00007f1265ac9145 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x0000003974807af1 in start_thread () from /lib64/libpthread.so.0
#5  0x00000039744dfb7d in clone () from /lib64/libc.so.6

Thread 6 (Thread 0x7f1232654700 (LWP 9818)):
#0  0x0000003980e094d6 in ?? () from /usr/lib64/libgomp.so.1
#1  0x0000003980e07ffe in ?? () from /usr/lib64/libgomp.so.1
#2  0x0000003974807af1 in start_thread () from /lib64/libpthread.so.0
#3  0x00000039744dfb7d in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7f1234a59700 (LWP 9819)):
#0  0x0000003980e094d6 in ?? () from /usr/lib64/libgomp.so.1
#1  0x0000003980e07ffe in ?? () from /usr/lib64/libgomp.so.1
#2  0x0000003974807af1 in start_thread () from /lib64/libpthread.so.0
#3  0x00000039744dfb7d in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7f11c7fff700 (LWP 9831)):
[KCrash Handler]
#6  0x00007f12678791d8 in QVector<QPoint>::realloc (this=0x7f11c7ffea20, asize=93787712, aalloc=0) at /usr/include/QtCore/qvector.h:504
#7  0x00007f126796b156 in detach_helper (this=0x7f11c7ffea20) at /usr/include/QtCore/qvector.h:325
#8  operator= (v=<optimized out>, this=0x7f11c7ffea20) at /usr/include/QtCore/qvector.h:386
#9  operator= (this=0x7f11c7ffea20) at /usr/include/QtGui/qpolygon.h:60
#10 operator= (this=0x7f11c7ffea18) at /raid/home/goulou/digikam/digikam-sc/core/libs/dimg/filters/curves/curvescontainer.h:42
#11 Digikam::CurvesFilter::CurvesFilter (this=0x7f11c7ffe9b0, settings=..., master=<optimized out>, orgImage=<optimized out>, destImage=..., progressBegin=<optimized out>, progressEnd=100) at /raid/home/goulou/digikam/digikam-sc/core/libs/dimg/filters/curves/curvesfilter.cpp:55
#12 0x00007f12678c2d8b in Digikam::RawProcessingFilter::filterImage (this=0x5841da0) at /raid/home/goulou/digikam/digikam-sc/core/libs/dimg/filters/rawprocessingfilter.cpp:158
#13 0x00007f12678b182c in Digikam::DImgThreadedFilter::startFilterDirectly (this=0x5841da0) at /raid/home/goulou/digikam/digikam-sc/core/libs/dimg/filters/dimgthreadedfilter.cpp:189
#14 0x00007f1267a6b1ce in Digikam::DynamicThread::DynamicThreadPriv::run (this=0x5417e80) at /raid/home/goulou/digikam/digikam-sc/core/libs/threads/dynamicthread.cpp:328
#15 0x00007f1265abde55 in ?? () from /usr/lib64/libQtCore.so.4
#16 0x00007f1265ac9145 in ?? () from /usr/lib64/libQtCore.so.4
#17 0x0000003974807af1 in start_thread () from /lib64/libpthread.so.0
#18 0x00000039744dfb7d in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7f11c6ffd700 (LWP 9833)):
#0  0x0000003980e094d6 in ?? () from /usr/lib64/libgomp.so.1
#1  0x0000003980e07ffe in ?? () from /usr/lib64/libgomp.so.1
#2  0x0000003974807af1 in start_thread () from /lib64/libpthread.so.0
#3  0x00000039744dfb7d in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7f11c67fc700 (LWP 9834)):
#0  0x0000003980e094d6 in ?? () from /usr/lib64/libgomp.so.1
#1  0x0000003980e07ffe in ?? () from /usr/lib64/libgomp.so.1
#2  0x0000003974807af1 in start_thread () from /lib64/libpthread.so.0
#3  0x00000039744dfb7d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f12630b5a40 (LWP 1630)):
#0  0x000000397480b475 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f1265ac95db in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007f1267a6b248 in Digikam::DynamicThread::wait (this=0x5841da0, locker=...) at /raid/home/goulou/digikam/digikam-sc/core/libs/threads/dynamicthread.cpp:348
#3  0x00007f1267a6b296 in Digikam::DynamicThread::wait (this=0x5841da0) at /raid/home/goulou/digikam/digikam-sc/core/libs/threads/dynamicthread.cpp:171
#4  0x00007f12678b162f in Digikam::DImgThreadedFilter::cancelFilter (this=0x5841da0) at /raid/home/goulou/digikam/digikam-sc/core/libs/dimg/filters/dimgthreadedfilter.cpp:229
#5  0x00007f12678b2055 in Digikam::DImgThreadedFilter::~DImgThreadedFilter (this=0x5841da0, __in_chrg=<optimized out>) at /raid/home/goulou/digikam/digikam-sc/core/libs/dimg/filters/dimgthreadedfilter.cpp:72
#6  0x00007f12678c377d in ~RawProcessingFilter (this=0x5841da0, __in_chrg=<optimized out>) at /raid/home/goulou/digikam/digikam-sc/core/libs/dimg/filters/rawprocessingfilter.h:47
#7  Digikam::RawProcessingFilter::~RawProcessingFilter (this=0x5841da0, __in_chrg=<optimized out>) at /raid/home/goulou/digikam/digikam-sc/core/libs/dimg/filters/rawprocessingfilter.h:47
#8  0x00007f1267b4b7c9 in Digikam::EditorToolThreaded::~EditorToolThreaded (this=0x5801e40, __in_chrg=<optimized out>) at /raid/home/goulou/digikam/digikam-sc/core/utilities/imageeditor/editor/editortool.cpp:382
#9  0x00007f1267b6ace9 in Digikam::RawImport::~RawImport (this=0x5801e40, __in_chrg=<optimized out>) at /raid/home/goulou/digikam/digikam-sc/core/utilities/imageeditor/rawimport/rawimport.cpp:87
#10 0x00007f1267b4d276 in Digikam::EditorToolIface::unLoadTool (this=0x2aa9750) at /raid/home/goulou/digikam/digikam-sc/core/utilities/imageeditor/editor/editortooliface.cpp:173
#11 0x00007f1267b4d58b in Digikam::EditorToolIface::loadTool (this=0x2aa9750, tool=0x5a6abf0) at /raid/home/goulou/digikam/digikam-sc/core/utilities/imageeditor/editor/editortooliface.cpp:93
#12 0x00007f1267b3b5e0 in Digikam::DImgInterface::load (this=0x2ae71a0, filePath=..., iofileSettings=<optimized out>) at /raid/home/goulou/digikam/digikam-sc/core/utilities/imageeditor/canvas/dimginterface.cpp:234
#13 0x000000000048bd86 in Digikam::ImageWindow::slotLoadCurrent (this=0x2ac1a00) at /raid/home/goulou/digikam/digikam-sc/core/utilities/imageeditor/editor/imagewindow.cpp:675
#14 0x000000000048c105 in Digikam::ImageWindow::slotThumbBarImageSelected (this=0x2ac1a00, info=...) at /raid/home/goulou/digikam/digikam-sc/core/utilities/imageeditor/editor/imagewindow.cpp:710
#15 0x000000000048f7a6 in Digikam::ImageWindow::qt_metacall (this=0x2ac1a00, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fff927c0050) at /raid/home/goulou/digikam/digikam-sc/build-spice/core/digikam/imagewindow.moc:153
#16 0x00007f1265bc1eba in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4
#17 0x00000000005eb800 in Digikam::ImageCategorizedView::currentChanged (this=<optimized out>, _t1=<optimized out>) at /raid/home/goulou/digikam/digikam-sc/build-spice/core/digikam/imagecategorizedview.moc:130
#18 0x00000000005eb847 in Digikam::ImageCategorizedView::currentChanged (this=0x2e07a10, index=..., previous=<optimized out>) at /raid/home/goulou/digikam/digikam-sc/core/digikam/items/imagecategorizedview.cpp:639
#19 0x00007f1267a8f7db in Digikam::DigikamKCategorizedView::qt_metacall (this=0x2e07a10, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fff927c0220) at /raid/home/goulou/digikam/digikam-sc/build-spice/core/digikam/digikamkcategorizedview.moc:91
#20 0x00007f1267a7b4e0 in Digikam::DCategorizedView::qt_metacall (this=0x2e07a10, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fff927c0220) at /raid/home/goulou/digikam/digikam-sc/build-spice/core/digikam/dcategorizedview.moc:103
#21 0x00000000005ed240 in Digikam::ImageCategorizedView::qt_metacall (this=0x2e07a10, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fff927c0220) at /raid/home/goulou/digikam/digikam-sc/build-spice/core/digikam/imagecategorizedview.moc:98
#22 0x00000000005f4940 in Digikam::ImageThumbnailBar::qt_metacall (this=0x2e07a10, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fff927c0220) at /raid/home/goulou/digikam/digikam-sc/build-spice/core/digikam/imagethumbnailbar.moc:70
#23 0x00007f1265bc1eba in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4
#24 0x00007f126683edba in QItemSelectionModel::currentChanged(QModelIndex const&, QModelIndex const&) () from /usr/lib64/libQtGui.so.4
#25 0x00007f126683eeb0 in QItemSelectionModel::setCurrentIndex(QModelIndex const&, QFlags<QItemSelectionModel::SelectionFlag>) () from /usr/lib64/libQtGui.so.4
#26 0x00007f12667ecc74 in QAbstractItemView::mousePressEvent(QMouseEvent*) () from /usr/lib64/libQtGui.so.4
#27 0x00007f1267a940dd in Digikam::DigikamKCategorizedView::mousePressEvent (this=0x2e07a10, event=0x7fff927c1240) at /raid/home/goulou/digikam/digikam-sc/core/libs/widgets/common/digikamkcategorizedview.cpp:1313
#28 0x00007f1267a7a373 in Digikam::DCategorizedView::mousePressEvent (this=0x2e07a10, event=0x7fff927c1240) at /raid/home/goulou/digikam/digikam-sc/core/libs/widgets/common/dcategorizedview.cpp:764
#29 0x00007f126633dde9 in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#30 0x00007f12666dada6 in QFrame::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#31 0x00007f12667ea1eb in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib64/libQtGui.so.4
#32 0x00007f1267a79e60 in Digikam::DCategorizedView::viewportEvent (this=0x2e07a10, event=0x7fff927c1240) at /raid/home/goulou/digikam/digikam-sc/core/libs/widgets/common/dcategorizedview.cpp:924
#33 0x00007f1265baf338 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#34 0x00007f12662ed40f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#35 0x00007f12662f2bcb in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#36 0x0000003983a41806 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#37 0x00007f1265baf1ac in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#38 0x00007f12662ee412 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/libQtGui.so.4
#39 0x00007f126636a095 in ?? () from /usr/lib64/libQtGui.so.4
#40 0x00007f1266368f6a in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/libQtGui.so.4
#41 0x00007f12663902ec in ?? () from /usr/lib64/libQtGui.so.4
#42 0x00000039740427ed in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#43 0x0000003974042fc8 in ?? () from /lib64/libglib-2.0.so.0
#44 0x000000397404325c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#45 0x00007f1265bd9d0f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#46 0x00007f126638ffde in ?? () from /usr/lib64/libQtGui.so.4
#47 0x00007f1265bae6c2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#48 0x00007f1265bae8bf in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#49 0x00007f1265bb2a07 in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#50 0x0000000000487f7d in main (argc=1, argv=<optimized out>) at /raid/home/goulou/digikam/digikam-sc/core/digikam/main/main.cpp:232

Possible duplicates by query: bug 277185, bug 247850, bug 232615, bug 195058, bug 192525.

Reported using DrKonqi
Comment 1 Marcel Wiesweg 2011-07-23 14:00:27 UTC
Git commit 428c0a65ba31ea294cd0a781d55d570431cec4e2 by Marcel Wiesweg.
Committed on 23/07/2011 at 15:31.
Pushed by mwiesweg into branch 'master'.

The RawProcessingFilter shall call cancelFilter() from its destructor
as any filter shall do which accesses member fields (destroyed in the destructor)
in its thread. The crash happens when the thread is terminated only in the base class
destructor, but the thread is running until then and operating on the destroyed members

BUG: 278038

M  +2    -1    NEWS
M  +5    -0    libs/dimg/filters/rawprocessingfilter.cpp
M  +2    -0    libs/dimg/filters/rawprocessingfilter.h

http://commits.kde.org/digikam/428c0a65ba31ea294cd0a781d55d570431cec4e2