Bug 314244 - Crash while doing a panorama
Summary: Crash while doing a panorama
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Plugin-Generic-Panorama (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-02-01 11:18 UTC by philippe.quaglia
Modified: 2017-01-09 13:50 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In: 3.0.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description philippe.quaglia 2013-02-01 11:18:11 UTC
Application: digikam (3.0.0)
KDE Platform Version: 4.9.4
Qt Version: 4.8.3
Operating System: Linux 3.5.0-23-generic i686
Distribution: Ubuntu 12.10

-- Information about the crash:
- What I was doing when the application crashed:

The panorama tool was processing the preview. As it seems to take some time, I press the «next» button, which was still active.

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

Thread 9 (Thread 0xacaadb40 (LWP 2099)):
#0  0xb33f6dc8 in pthread_mutex_lock () from /lib/i386-linux-gnu/libpthread.so.0
#1  0xb49a1864 in pthread_mutex_lock () from /lib/i386-linux-gnu/libc.so.6
#2  0xb307eed0 in g_mutex_lock () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb303d616 in g_main_context_query () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb303dc5e in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xb303e1db in g_main_loop_run () from /lib/i386-linux-gnu/libglib-2.0.so.0
#6  0xaf8c6b7a in ?? () from /usr/lib/i386-linux-gnu/libgio-2.0.so.0
#7  0xb3063303 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#8  0xb33f4d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#9  0xb4993d3e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 8 (Thread 0xab671b40 (LWP 2105)):
#0  0xb775a424 in __kernel_vsyscall ()
#1  0xb33f896b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0xb49a164c in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0xb4c6a030 in wait (time=4294967295, this=0x8b938d0) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=0x8b9383c, mutex=0x8b93838, time=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0x081f9e98 in Digikam::ScanController::run (this=0x8b8e0e8) at /home/philippe/digikam-software-compilation/core/digikam/database/scancontroller.cpp:698
#6  0xb4c69a58 in QThreadPrivate::start (arg=0x8b8e0e8) at thread/qthread_unix.cpp:338
#7  0xb33f4d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#8  0xb4993d3e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 7 (Thread 0xaae70b40 (LWP 2106)):
#0  0xb775a424 in __kernel_vsyscall ()
#1  0xb49855f0 in poll () from /lib/i386-linux-gnu/libc.so.6
#2  0xb304c74b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb303dd00 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb303de61 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xb4dae99f in QEventDispatcherGlib::processEvents (this=0xac104410, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0xb4d7b26c in QEventLoop::processEvents (this=this@entry=0xaae700a8, flags=...) at kernel/qeventloop.cpp:149
#7  0xb4d7b561 in QEventLoop::exec (this=0xaae700a8, flags=...) at kernel/qeventloop.cpp:204
#8  0xb4c6666c in QThread::exec (this=0x8babca8) at thread/qthread.cpp:501
#9  0xb4d597bd in QInotifyFileSystemWatcherEngine::run (this=0x8babca8) at io/qfilesystemwatcher_inotify.cpp:248
#10 0xb4c69a58 in QThreadPrivate::start (arg=0x8babca8) at thread/qthread_unix.cpp:338
#11 0xb33f4d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#12 0xb4993d3e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 6 (Thread 0xaa66fb40 (LWP 2112)):
#0  0xb775a424 in __kernel_vsyscall ()
#1  0xb33f896b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0xb49a164c in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0xb4c6a030 in wait (time=4294967295, this=0x907cfd0) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=0x907d6b8, mutex=0x907d6b4, time=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0xb69bbc2a in Digikam::ParkingThread::run (this=0x907d6a8) at /home/philippe/digikam-software-compilation/core/libs/threads/threadmanager.cpp:119
#6  0xb4c69a58 in QThreadPrivate::start (arg=0x907d6a8) at thread/qthread_unix.cpp:338
#7  0xb33f4d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#8  0xb4993d3e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 5 (Thread 0xa9486b40 (LWP 2114)):
#0  0xb2ea2dcd in clock_gettime () from /lib/i386-linux-gnu/librt.so.1
#1  0xb4cc7fb5 in do_gettime (frac=0xa9485df0, sec=0xa9485de8) at tools/qelapsedtimer_unix.cpp:123
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#3  0xb4daf36e in QTimerInfoList::updateCurrentTime (this=0xac106fbc) at kernel/qeventdispatcher_unix.cpp:343
#4  0x7fffffff in ?? ()
#5  0xb4daf6fa in QTimerInfoList::timerWait (this=0xac106fbc, tm=...) at kernel/qeventdispatcher_unix.cpp:450
#6  0x7fffffff in ?? ()

Thread 4 (Thread 0x9e451b40 (LWP 2255)):
#0  0xb307eecb in g_mutex_lock () from /lib/i386-linux-gnu/libglib-2.0.so.0
#1  0xb303d0a2 in g_main_context_release () from /lib/i386-linux-gnu/libglib-2.0.so.0
#2  0xb303dca8 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb303de61 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb4dae99f in QEventDispatcherGlib::processEvents (this=0x9e8582b8, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#5  0xb4d7b26c in QEventLoop::processEvents (this=this@entry=0x9e4510b8, flags=...) at kernel/qeventloop.cpp:149
#6  0xb4d7b561 in QEventLoop::exec (this=0x9e4510b8, flags=...) at kernel/qeventloop.cpp:204
#7  0xb69bb184 in Digikam::WorkerObjectRunnable::run (this=0xb6bd7c0) at /home/philippe/digikam-software-compilation/core/libs/threads/threadmanager.cpp:196
#8  0xb4c5c444 in QThreadPoolThread::run (this=0xa203db8) at concurrent/qthreadpool.cpp:107
#9  0xb4c69a58 in QThreadPrivate::start (arg=0xa203db8) at thread/qthread_unix.cpp:338
#10 0xb33f4d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#11 0xb4993d3e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 3 (Thread 0xa9d43b40 (LWP 2276)):
#0  0xb775a424 in __kernel_vsyscall ()
#1  0xb33f896b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0xb49a164c in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0xb4c6a030 in wait (time=4294967295, this=0xb25a208) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=0xb1cbd8c, mutex=0xb1cbd88, time=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0x9e756c5d in KIPIPlugins::KPRawThumbThread::run (this=0xb25a408) at /home/philippe/digikam-software-compilation/extra/kipi-plugins/common/libkipiplugins/tools/kprawthumbthread.cpp:108
#6  0xb4c69a58 in QThreadPrivate::start (arg=0xb25a408) at thread/qthread_unix.cpp:338
#7  0xb33f4d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#8  0xb4993d3e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 2 (Thread 0xa19d5b40 (LWP 2278)):
#0  0xb775a424 in __kernel_vsyscall ()
#1  0xb33f896b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0xb49a164c in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0xb4c6a030 in wait (time=4294967295, this=0xb19db88) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=0xb25abb0, mutex=0xa1b97b8, time=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0xb6398b45 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0xb25ab98, th=0xac1ae370) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0xb639b96b in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0xb747ac0, th=0xac1ae370) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80
#7  0xb63986aa in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0xb25ab98, th=0xac1ae370) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#8  0xb639bac4 in ThreadWeaver::WorkingHardState::applyForWork (this=0xb747ac0, th=0xac1ae370) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#9  0xb63985a3 in ThreadWeaver::WeaverImpl::applyForWork (this=0xb25ab98, th=0xac1ae370, previous=0xb25a288) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#10 0xb639a524 in ThreadWeaver::ThreadRunHelper::run (this=this@entry=0xa19d5104, parent=0xb25ab98, th=th@entry=0xac1ae370) at ../../../threadweaver/Weaver/Thread.cpp:87
#11 0xb639a5da in ThreadWeaver::Thread::run (this=0xac1ae370) at ../../../threadweaver/Weaver/Thread.cpp:142
#12 0xb4c69a58 in QThreadPrivate::start (arg=0xac1ae370) at thread/qthread_unix.cpp:338
#13 0xb33f4d4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#14 0xb4993d3e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 1 (Thread 0xaed308c0 (LWP 2096)):
[KCrash Handler]
#7  0xa2549e63 in panoScriptGetPanoOutputFormat (script=0xb748580) at /home/philippe/digikam-software-compilation/extra/kipi-plugins/panorama/ptoparser/tparsergetters.c:514
#8  0xa25346a3 in KIPIPanoramaPlugin::PTOFile::getPTO (this=0xbff07098) at /home/philippe/digikam-software-compilation/extra/kipi-plugins/panorama/ptoparser/ptofile.cpp:117
#9  0xa25273b9 in KIPIPanoramaPlugin::Manager::previewPtoData (this=0xabc55c0) at /home/philippe/digikam-software-compilation/extra/kipi-plugins/panorama/manager/manager.cpp:364
#10 0xa2532ad6 in KIPIPanoramaPlugin::PreviewPage::startStitching (this=0xb38c798) at /home/philippe/digikam-software-compilation/extra/kipi-plugins/panorama/importwizard/previewpage.cpp:210
#11 0xa252af7e in KIPIPanoramaPlugin::ImportWizardDlg::next (this=0xb258648) at /home/philippe/digikam-software-compilation/extra/kipi-plugins/panorama/importwizard/importwizarddlg.cpp:176
#12 0xb5d9610f in KAssistantDialog::qt_static_metacall (_o=0xb258648, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0xbff072dc) at ./kassistantdialog.moc:53
#13 0xb4d94ed6 in QMetaObject::activate (sender=0xb258648, m=0x85af3f0 <KDialog::staticMetaObject>, local_signal_index=5, argv=0x0) at kernel/qobject.cpp:3547
#14 0xb5da8025 in KDialog::user2Clicked (this=this@entry=0xb258648) at ./kdialog.moc:248
#15 0xb5da8850 in KDialog::slotButtonClicked (this=0xb258648, button=8192) at ../../kdeui/dialogs/kdialog.cpp:897
#16 0xb5da8e94 in qt_static_metacall (_a=0xbff07488, _id=33, _o=0xb258648, _c=<optimized out>) at ./kdialog.moc:167
#17 KDialog::qt_static_metacall (_o=0xb258648, _c=QMetaObject::InvokeMetaMethod, _id=33, _a=0xbff07488) at ./kdialog.moc:127
#18 0xb4d94ed6 in QMetaObject::activate (sender=0xb2caa7c, m=0xb4edfe38 <QSignalMapper::staticMetaObject>, local_signal_index=0, argv=0xbff07488) at kernel/qobject.cpp:3547
#19 0xb4d9a085 in QSignalMapper::mapped (this=this@entry=0xb2caa7c, _t1=8192) at .moc/release-shared/moc_qsignalmapper.cpp:115
#20 0xb4d9a2cd in QSignalMapper::map (this=this@entry=0xb2caa7c, sender=0xac04170) at kernel/qsignalmapper.cpp:266
#21 0xb4d9a3de in QSignalMapper::map (this=this@entry=0xb2caa7c) at kernel/qsignalmapper.cpp:257
#22 0xb4d9a834 in qt_static_metacall (_a=0xbff07608, _id=4, _o=0xb2caa7c, _c=<optimized out>) at .moc/release-shared/moc_qsignalmapper.cpp:64
#23 QSignalMapper::qt_static_metacall (_o=0xb2caa7c, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0xbff07608) at .moc/release-shared/moc_qsignalmapper.cpp:54
#24 0xb4d94ed6 in QMetaObject::activate (sender=0xac04170, m=0x85af720 <QAbstractButton::staticMetaObject>, local_signal_index=2, argv=0xbff07608) at kernel/qobject.cpp:3547
#25 0xb5a0201d in QAbstractButton::clicked (this=0xac04170, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:220
#26 0xb57086dd in QAbstractButtonPrivate::emitClicked (this=this@entry=0xb2c93d0) at widgets/qabstractbutton.cpp:548
#27 0xb5708f2b in QAbstractButtonPrivate::click (this=this@entry=0xb2c93d0) at widgets/qabstractbutton.cpp:541
#28 0xb57091e6 in QAbstractButton::mouseReleaseEvent (this=0xac04170, e=0xbff07d24) at widgets/qabstractbutton.cpp:1123
#29 0xb53426df in QWidget::event (this=0xac04170, event=0xbff07d24) at kernel/qwidget.cpp:8371
#30 0xb57085a2 in QAbstractButton::event (this=0xac04170, e=0xbff07d24) at widgets/qabstractbutton.cpp:1082
#31 0xb57a9278 in QPushButton::event (this=0xac04170, e=0xbff07d24) at widgets/qpushbutton.cpp:683
#32 0xb52e939c in QApplicationPrivate::notify_helper (this=0x89a8710, receiver=0xac04170, e=0xbff07d24) at kernel/qapplication.cpp:4562
#33 0xb52ee892 in QApplication::notify (this=0x89a8710, receiver=0xac04170, e=0xbff07d24) at kernel/qapplication.cpp:4105
#34 0xb5e5ce91 in KApplication::notify (this=0xbff08648, receiver=0xac04170, event=0xbff07d24) at ../../kdeui/kernel/kapplication.cpp:311
#35 0xb4d7c78e in QCoreApplication::notifyInternal (this=0xbff08648, receiver=0xac04170, event=0xbff07d24) at kernel/qcoreapplication.cpp:915
#36 0xb52ea206 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#37 QApplicationPrivate::sendMouseEvent (receiver=0xac04170, event=0xbff07d24, alienWidget=0xac04170, nativeWidget=0xb258648, buttonDown=0xb5c7ad14 <qt_button_down>, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3173
#38 0xb5375a75 in QETWidget::translateMouseEvent (this=0xb258648, event=0xbff0814c) at kernel/qapplication_x11.cpp:4622
#39 0xb5374705 in QApplication::x11ProcessEvent (this=0xbff08648, event=0xbff0814c) at kernel/qapplication_x11.cpp:3737
#40 0xb539fdc4 in x11EventSourceDispatch (s=0x89a7e08, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#41 0xb303d9e3 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#42 0xb303dd80 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#43 0xb303de61 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#44 0xb4dae981 in QEventDispatcherGlib::processEvents (this=0x8956008, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#45 0xb539f9aa in QGuiEventDispatcherGlib::processEvents (this=0x8956008, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#46 0xb4d7b26c in QEventLoop::processEvents (this=this@entry=0xbff08448, flags=...) at kernel/qeventloop.cpp:149
#47 0xb4d7b561 in QEventLoop::exec (this=0xbff08448, flags=...) at kernel/qeventloop.cpp:204
#48 0xb4d80cba in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#49 0xb52e6fc4 in QApplication::exec () at kernel/qapplication.cpp:3823
#50 0x082c6e1b in main (argc=5, argv=0xbff08784) at /home/philippe/digikam-software-compilation/core/digikam/main/main.cpp:234

Reported using DrKonqi
Comment 1 Benjamin Girault 2013-02-01 11:26:35 UTC
Thanks for the bug report. I didn't think of this case, and I know where this bug comes from. I'll try to fix it before the 3.0.0 release.
Comment 2 Benjamin Girault 2013-02-03 10:16:09 UTC
Git commit 5be9bf838ae379b6ace650710067e5d847f9a1ab by Benjamin Girault.
Committed on 03/02/2013 at 11:11.
Pushed by girault into branch 'master'.

Panorama: bugfix
FIXED-IN: 3.0.0

M  +22   -13   panorama/importwizard/previewpage.cpp
M  +4    -0    panorama/ptoparser/tparsergetters.c

http://commits.kde.org/kipi-plugins/5be9bf838ae379b6ace650710067e5d847f9a1ab