Bug 240828 - Crash after cancelling save operation that was stuck
Summary: Crash after cancelling save operation that was stuck
Status: RESOLVED WORKSFORME
Alias: None
Product: digikam
Classification: Applications
Component: DImg-FileIO (show other bugs)
Version: 1.3.0
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-06-05 19:52 UTC by Johannes Wienke
Modified: 2022-02-04 06:20 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 1.3.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Johannes Wienke 2010-06-05 19:52:12 UTC
Application: digikam (1.3.0 (rev.: 1130213))
KDE Platform Version: 4.4.4 (KDE 4.4.4)
Qt Version: 4.6.2
Operating System: Linux 2.6.33-ARCH x86_64
Distribution (Platform): Archlinux Packages

-- Information about the crash:
I started editing an image in the editor, assigned some tags and then pressed save. Saving got stuck at 0%. I pressed the cancel button in the status bar and digikam crashed,

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

Thread 11 (Thread 0x7f4a7239e710 (LWP 7685)):
#0  0x00007f4a7eb3e43c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f4a7edc126b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x000000000061d074 in Digikam::ScanController::run (this=0x1b18910) at /home/languitar/workspace/digiKam/digikam/scancontroller.cpp:516
#3  0x00007f4a7edc0ba5 in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f4a7eb39cb0 in start_thread () from /lib/libpthread.so.0
#5  0x00007f4a7de8b78d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7f4a71b9d710 (LWP 7687)):
#0  0x00007fff21f07861 in clock_gettime ()
#1  0x00007f4a768aadab in clock_gettime () from /lib/librt.so.1
#2  0x00007f4a7eecef6f in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007f4a7eed290d in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f4a7eed2c95 in ?? () from /usr/lib/libQtCore.so.4
#5  0x00007f4a7eed186c in ?? () from /usr/lib/libQtCore.so.4
#6  0x00007f4a7eed1915 in ?? () from /usr/lib/libQtCore.so.4
#7  0x00007f4a7ab4201f in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#8  0x00007f4a7ab42f09 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#9  0x00007f4a7ab435ad in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#10 0x00007f4a7eed2066 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#11 0x00007f4a7eea8b82 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#12 0x00007f4a7eea8dbc in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#13 0x00007f4a7edbe459 in QThread::exec() () from /usr/lib/libQtCore.so.4
#14 0x00007f4a7edc0ba5 in ?? () from /usr/lib/libQtCore.so.4
#15 0x00007f4a7eb39cb0 in start_thread () from /lib/libpthread.so.0
#16 0x00007f4a7de8b78d in clone () from /lib/libc.so.6
#17 0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7f4a6e170710 (LWP 7688)):
#0  0x00007f4a7ab42022 in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#1  0x00007f4a7ab42f09 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#2  0x00007f4a7ab435ad in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f4a7eed2066 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0x00007f4a7eea8b82 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x00007f4a7eea8dbc in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007f4a7edbe459 in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x00007f4a7edc0ba5 in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007f4a7eb39cb0 in start_thread () from /lib/libpthread.so.0
#9  0x00007f4a7de8b78d in clone () from /lib/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7f4a6d96f710 (LWP 7689)):
#0  0x00007f4a7eb3e43c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f4a7edc126b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f4a826296a8 in Digikam::ParkingThread::run (this=0x7f4a6800d5f0) at /home/languitar/workspace/digiKam/libs/threads/threadmanager.cpp:101
#3  0x00007f4a7edc0ba5 in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f4a7eb39cb0 in start_thread () from /lib/libpthread.so.0
#5  0x00007f4a7de8b78d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f4a6d16e710 (LWP 7690)):
#0  0x00007f4a7eb3f4ac in pthread_getspecific () from /lib/libpthread.so.0
#1  0x00007f4a7edc0c51 in ?? () from /usr/lib/libQtCore.so.4
#2  0x00007f4a7eed1af9 in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007f4a7ab427b8 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#4  0x00007f4a7ab43092 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#5  0x00007f4a7ab435ad in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#6  0x00007f4a7eed2066 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0x00007f4a7eea8b82 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#8  0x00007f4a7eea8dbc in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#9  0x00007f4a7edbe459 in QThread::exec() () from /usr/lib/libQtCore.so.4
#10 0x00007f4a7edc0ba5 in ?? () from /usr/lib/libQtCore.so.4
#11 0x00007f4a7eb39cb0 in start_thread () from /lib/libpthread.so.0
#12 0x00007f4a7de8b78d in clone () from /lib/libc.so.6
#13 0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f4a6c96d710 (LWP 7691)):
#0  0x00007f4a7eb3c162 in pthread_mutex_lock () from /lib/libpthread.so.0
#1  0x00007f4a7ab4303b in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#2  0x00007f4a7ab435ad in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f4a7eed2066 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0x00007f4a7eea8b82 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x00007f4a7eea8dbc in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007f4a7edbe459 in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x00007f4a7edc0ba5 in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007f4a7eb39cb0 in start_thread () from /lib/libpthread.so.0
#9  0x00007f4a7de8b78d in clone () from /lib/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f4a60491710 (LWP 7692)):
#0  0x00007f4a7eb3e7a9 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f4a6614aaf1 in metronom_sync_loop () from /usr/lib/libxine.so.1
#2  0x00007f4a7eb39cb0 in start_thread () from /lib/libpthread.so.0
#3  0x00007f4a7de8b78d in clone () from /lib/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f4a5ea23710 (LWP 7693)):
#0  0x00007f4a7de85093 in select () from /lib/libc.so.6
#1  0x00007f4a66172a65 in xine_usec_sleep () from /usr/lib/libxine.so.1
#2  0x00007f4a66158499 in video_out_loop () from /usr/lib/libxine.so.1
#3  0x00007f4a7eb39cb0 in start_thread () from /lib/libpthread.so.0
#4  0x00007f4a7de8b78d in clone () from /lib/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f4a5e222710 (LWP 7694)):
#0  0x00007f4a7eb3c162 in pthread_mutex_lock () from /lib/libpthread.so.0
#1  0x00007f4a7ab42984 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#2  0x00007f4a7ab43310 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#3  0x00007f4a7ab435ad in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#4  0x00007f4a7eed2066 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x00007f4a7eea8b82 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007f4a7eea8dbc in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0x00007f4a7edbe459 in QThread::exec() () from /usr/lib/libQtCore.so.4
#8  0x00007f4a663a37c6 in Phonon::Xine::XineThread::run() () from /usr/lib/kde4/plugins/phonon_backend/phonon_xine.so
#9  0x00007f4a7edc0ba5 in ?? () from /usr/lib/libQtCore.so.4
#10 0x00007f4a7eb39cb0 in start_thread () from /lib/libpthread.so.0
#11 0x00007f4a7de8b78d in clone () from /lib/libc.so.6
#12 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f4a5d818710 (LWP 7697)):
#0  0x00007f4a7eb3e43c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f4a6615b5fb in ao_loop () from /usr/lib/libxine.so.1
#2  0x00007f4a7eb39cb0 in start_thread () from /lib/libpthread.so.0
#3  0x00007f4a7de8b78d in clone () from /lib/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f4a8555a7c0 (LWP 7684)):
[KCrash Handler]
#5  QString (this=0x7fff21efe930, other=@0x18) at /usr/include/QtCore/qstring.h:714
#6  0x00007f4a825fd5ad in Digikam::SavingTask::filePath (this=<value optimized out>) at /home/languitar/workspace/digiKam/libs/threadimageio/loadsavetask.h:195
#7  0x00007f4a825fc7c4 in Digikam::ManagedLoadSaveThread::stopSaving (this=0x58b9750, filePath=...) at /home/languitar/workspace/digiKam/libs/threadimageio/managedloadsavethread.cpp:418
#8  0x00007f4a826d0891 in Digikam::EditorWindow::slotNameLabelCancelButtonPressed (this=0x589a3a0) at /home/languitar/workspace/digiKam/utilities/imageeditor/editor/editorwindow.cpp:1394
#9  0x00007f4a826dafc8 in Digikam::EditorWindow::qt_metacall (this=0x589a3a0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff21efea80)
    at /home/languitar/workspace/build/digiKam/digikam/editorwindow.moc:189
#10 0x000000000047f250 in Digikam::ImageWindow::qt_metacall (this=0x589a3a0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff21efea80)
    at /home/languitar/workspace/build/digiKam/digikam/imagewindow.moc:126
#11 0x00007f4a7eebd62f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#12 0x00007f4a82669074 in Digikam::StatusProgressBar::qt_metacall (this=0x609c730, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff21efebd0)
    at /home/languitar/workspace/build/digiKam/digikam/statusprogressbar.moc:80
#13 0x00007f4a7eebd62f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#14 0x00007f4a8038e622 in QAbstractButton::clicked(bool) () from /usr/lib/libQtGui.so.4
#15 0x00007f4a800e1c5b in ?? () from /usr/lib/libQtGui.so.4
#16 0x00007f4a800e300b in ?? () from /usr/lib/libQtGui.so.4
#17 0x00007f4a800e327c in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4
#18 0x00007f4a7fd8c832 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#19 0x00007f4a7fd3ce84 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#20 0x00007f4a7fd417ea in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#21 0x00007f4a80c45f66 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#22 0x00007f4a7eea979c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#23 0x00007f4a7fd3ddd5 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQtGui.so.4
#24 0x00007f4a7fdb8628 in ?? () from /usr/lib/libQtGui.so.4
#25 0x00007f4a7fdb7029 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#26 0x00007f4a7fddc7f2 in ?? () from /usr/lib/libQtGui.so.4
#27 0x00007f4a7ab42b33 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#28 0x00007f4a7ab43310 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#29 0x00007f4a7ab435ad in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#30 0x00007f4a7eed200f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#31 0x00007f4a7fddc4be in ?? () from /usr/lib/libQtGui.so.4
#32 0x00007f4a7eea8b82 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#33 0x00007f4a7eea8dbc in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#34 0x00007f4a7eead0eb in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#35 0x000000000066cde7 in main (argc=0, argv=0x7fff21f00968) at /home/languitar/workspace/digiKam/digikam/main.cpp:194

Reported using DrKonqi
Comment 1 Marcel Wiesweg 2010-06-05 22:29:34 UTC
SVN commit 1134943 by mwiesweg:

Fix copy-and-paste mistake.
Funny: Code with obvious crash is almost three years old.

CCBUG: 240828

 M  +1 -1      managedloadsavethread.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1134943
Comment 2 Marcel Wiesweg 2010-06-05 22:31:47 UTC
Crash should be fixed. I dont close because I dont know why the task got stuck in the first place. Can you reproduce that? Which format? Simply missing progress info, or never finishing?
Comment 3 Johannes Wienke 2010-06-06 00:57:43 UTC
It really never finished. But I can't reproduce this right now. Was a normal 8 bit tif.
Comment 4 Marcel Wiesweg 2010-06-06 15:16:24 UTC
Reopen when anyone can reproduce.