Bug 336869 - digiKam segfaults in inverse perspective adjustment
Summary: digiKam segfaults in inverse perspective adjustment
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Database-Sqlite (show other bugs)
Version: 4.0.0
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2014-06-29 14:00 UTC by Bas Duineveld
Modified: 2021-05-10 14:55 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Bas Duineveld 2014-06-29 14:00:44 UTC
Application: digikam (4.0.0)
KDE Platform Version: 4.13.2
Qt Version: 4.8.6
Operating System: Linux 3.13.0-30-generic i686
Distribution: Ubuntu 14.04 LTS

-- Information about the crash:
digiKam 4.0.0 segfaults in Image Editor > Transform > Perspective Adjustment when "Draw preview while moving", "Draw grid" and "Inverse transformation" are all switched on and the transformation grid touches the bottom or right side of the image. It doesn't happen every single time, but often enough to make the feature unusable with these parameters and to be able to reproduce it after a couple of tries.

The crash can be reproduced sometimes.

-- 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 0xad030900 (LWP 5312))]

Thread 6 (Thread 0xacffdb40 (LWP 5313)):
#0  0xb76ff424 in __kernel_vsyscall ()
#1  0xb46787ab in poll () at ../sysdeps/unix/syscall-template.S:81
#2  0xadbb0442 in ?? () from /lib/i386-linux-gnu/libusb-1.0.so.0
#3  0xb34baf70 in start_thread (arg=0xacffdb40) at pthread_create.c:312
#4  0xb468770e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 5 (Thread 0xa9bddb40 (LWP 5328)):
#0  0xb76ff424 in __kernel_vsyscall ()
#1  0xb34bed4b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187
#2  0xb46948ec in __pthread_cond_wait (cond=0x941c078, mutex=0x941c060) at forward.c:149
#3  0xb497b0f5 in wait (time=4294967295, this=0x941c060) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=this@entry=0x941bfd4, mutex=mutex@entry=0x941bfd0, time=time@entry=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0x0821c064 in Digikam::ScanController::run (this=0x9488940) at /build/buildd/digikam-4.0.0/core/digikam/database/scancontroller.cpp:725
#6  0xb497ab6f in QThreadPrivate::start (arg=0x9488940) at thread/qthread_unix.cpp:349
#7  0xb34baf70 in start_thread (arg=0xa9bddb40) at pthread_create.c:312
#8  0xb468770e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 4 (Thread 0xa91ffb40 (LWP 5329)):
#0  0xb7711c32 in _dl_update_slotinfo (req_modid=1) at dl-tls.c:571
#1  0xb7701082 in update_get_addr (ti=0xb4bf9d10) at dl-tls.c:753
#2  0xb49797f3 in get_thread_data () at thread/qthread_unix.cpp:188
#3  QThreadData::current () at thread/qthread_unix.cpp:219
#4  0xb4abcd9b in postEventSourcePrepare (s=0xa8802600, timeout=0xa91fef2c) at kernel/qeventdispatcher_glib.cpp:263
#5  0xb2fed9b3 in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#6  0xb2fee2df in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#7  0xb2fee528 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#8  0xb4abc95f in QEventDispatcherGlib::processEvents (this=0xa8800468, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#9  0xb4a8b823 in QEventLoop::processEvents (this=this@entry=0xa91ff098, flags=...) at kernel/qeventloop.cpp:149
#10 0xb4a8bb49 in QEventLoop::exec (this=this@entry=0xa91ff098, flags=...) at kernel/qeventloop.cpp:204
#11 0xb497823d in QThread::exec (this=this@entry=0x94dde78) at thread/qthread.cpp:537
#12 0xb4a6bc44 in QInotifyFileSystemWatcherEngine::run (this=0x94dde78) at io/qfilesystemwatcher_inotify.cpp:265
#13 0xb497ab6f in QThreadPrivate::start (arg=0x94dde78) at thread/qthread_unix.cpp:349
#14 0xb34baf70 in start_thread (arg=0xa91ffb40) at pthread_create.c:312
#15 0xb468770e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 3 (Thread 0xa87ffb40 (LWP 5336)):
#0  0xb76ff424 in __kernel_vsyscall ()
#1  0xb34bed4b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187
#2  0xb46948ec in __pthread_cond_wait (cond=0x94aa628, mutex=0x94aa610) at forward.c:149
#3  0xb497b0f5 in wait (time=4294967295, this=0x94aa610) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=this@entry=0x95197a0, mutex=mutex@entry=0x951979c, time=time@entry=4294967295) at thread/qwaitcondition_unix.cpp:158
#5  0xb6a0bf34 in Digikam::ParkingThread::run (this=0x9519790) at /build/buildd/digikam-4.0.0/core/libs/threads/threadmanager.cpp:119
#6  0xb497ab6f in QThreadPrivate::start (arg=0x9519790) at thread/qthread_unix.cpp:349
#7  0xb34baf70 in start_thread (arg=0xa87ffb40) at pthread_create.c:312
#8  0xb468770e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 2 (Thread 0xa7c24b40 (LWP 5337)):
#0  0xb76ff424 in __kernel_vsyscall ()
#1  0xb4695392 in __GI___clock_gettime (clock_id=1, tp=0xa7c23e38) at ../sysdeps/unix/clock_gettime.c:115
#2  0xb49d58cc in do_gettime (frac=0xa7c23e30, sec=0xa7c23e28) at tools/qelapsedtimer_unix.cpp:127
#3  qt_gettime () at tools/qelapsedtimer_unix.cpp:144
#4  0xb4abe2a2 in updateCurrentTime (this=0x97368d4) at kernel/qeventdispatcher_unix.cpp:354
#5  QTimerInfoList::timerWait (this=0x97368d4, tm=...) at kernel/qeventdispatcher_unix.cpp:460
#6  0xb4abc82b in timerSourcePrepareHelper (src=<optimized out>, timeout=0xa7c23f2c) at kernel/qeventdispatcher_glib.cpp:143
#7  0xb4abc8bd in timerSourcePrepare (source=0x97368a0, timeout=0xa7c23f2c) at kernel/qeventdispatcher_glib.cpp:176
#8  0xb2fed9b3 in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#9  0xb2fee2df in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#10 0xb2fee528 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#11 0xb4abc95f in QEventDispatcherGlib::processEvents (this=0x96ed098, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#12 0xb4a8b823 in QEventLoop::processEvents (this=this@entry=0xa7c24098, flags=...) at kernel/qeventloop.cpp:149
#13 0xb4a8bb49 in QEventLoop::exec (this=this@entry=0xa7c24098, flags=...) at kernel/qeventloop.cpp:204
#14 0xb497823d in QThread::exec (this=this@entry=0x96ee218) at thread/qthread.cpp:537
#15 0xb4a6bc44 in QInotifyFileSystemWatcherEngine::run (this=0x96ee218) at io/qfilesystemwatcher_inotify.cpp:265
#16 0xb497ab6f in QThreadPrivate::start (arg=0x96ee218) at thread/qthread_unix.cpp:349
#17 0xb34baf70 in start_thread (arg=0xa7c24b40) at pthread_create.c:312
#18 0xb468770e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 1 (Thread 0xad030900 (LWP 5312)):
[KCrash Handler]
#7  0x086152a4 in QVectorData::shared_null ()
#8  0xae73a38e in sqlite3MemCompare (pMem1=pMem1@entry=0xbf886ef8, pMem2=<optimized out>, pColl=0x9479870) at sqlite3.c:60484
#9  0xae73a576 in sqlite3VdbeRecordCompare (nKey1=37, pKey1=0xbecc7f3, pPKey2=pPKey2@entry=0xbf88717c) at sqlite3.c:64162
#10 0xae74fba2 in sqlite3BtreeMovetoUnpacked (pCur=0xbfb52b0, pIdxKey=0xbf88717c, intKey=0, biasRight=0, pRes=0xbf887170) at sqlite3.c:55077
#11 0xae77a165 in sqlite3VdbeExec (p=p@entry=0xafa94e8) at sqlite3.c:70168
#12 0xae782d8e in sqlite3Step (p=0xafa94e8) at sqlite3.c:64828
#13 sqlite3_step (pStmt=0xafa94e8) at sqlite3.c:64894
#14 0xa93d6e9c in QSQLiteResultPrivate::fetchNext (this=this@entry=0xaef2b60, values=..., idx=idx@entry=0, initialFetch=initialFetch@entry=true) at ../../../sql/drivers/sqlite/qsql_sqlite.cpp:235
#15 0xa93d7ebd in QSQLiteResult::exec (this=0xbf9e4d8) at ../../../sql/drivers/sqlite/qsql_sqlite.cpp:447
#16 0xb76ace60 in QSqlQuery::exec (this=this@entry=0xbf887618) at kernel/qsqlquery.cpp:949
#17 0xb69bfea1 in Digikam::DatabaseCoreBackend::exec (this=0x93b3a08, query=...) at /build/buildd/digikam-4.0.0/core/libs/database/core/databasecorebackend.cpp:1415
#18 0xb69c0045 in Digikam::DatabaseCoreBackend::execQuery (this=this@entry=0x93b3a08, query=..., boundValue1=..., boundValue2=...) at /build/buildd/digikam-4.0.0/core/libs/database/core/databasecorebackend.cpp:1065
#19 0xb69c0fca in Digikam::DatabaseCoreBackend::execQuery (this=this@entry=0x93b3a08, sql=..., boundValue1=..., boundValue2=...) at /build/buildd/digikam-4.0.0/core/libs/database/core/databasecorebackend.cpp:1014
#20 0xb69c102e in Digikam::DatabaseCoreBackend::execSql (this=0x93b3a08, sql=..., boundValue1=..., boundValue2=..., values=values@entry=0xbf887694, lastInsertId=lastInsertId@entry=0x0) at /build/buildd/digikam-4.0.0/core/libs/database/core/databasecorebackend.cpp:911
#21 0xb65b021c in Digikam::AlbumDB::getIdenticalFiles (this=0x941eda8, uniqueHash=..., fileSize=8327563, sourceId=-1) at /build/buildd/digikam-4.0.0/core/libs/database/albumdb.cpp:2770
#22 0xb662dfd6 in Digikam::ImageScanner::resolveHistoryImageId (historyId=...) at /build/buildd/digikam-4.0.0/core/libs/database/imagescanner.cpp:1223
#23 0xb66624bf in Digikam::ImageHistoryGraphData::addVertex (this=this@entry=0x9736848, imageId=...) at /build/buildd/digikam-4.0.0/core/libs/database/imagehistory/imagehistorygraph.cpp:253
#24 0xb66626e1 in Digikam::ImageHistoryGraphData::addVertex (this=this@entry=0x9736848, imageIds=...) at /build/buildd/digikam-4.0.0/core/libs/database/imagehistory/imagehistorygraph.cpp:222
#25 0xb666362f in Digikam::ImageHistoryGraphData::addHistory (this=0x9736848, history=..., extraCurrent=0) at /build/buildd/digikam-4.0.0/core/libs/database/imagehistory/imagehistorygraph.cpp:574
#26 0xb6663a7a in Digikam::ImageHistoryGraph::addHistory (this=this@entry=0xbf887a0c, givenHistory=..., subjectId=...) at /build/buildd/digikam-4.0.0/core/libs/database/imagehistory/imagehistorygraph.cpp:545
#27 0xb6663adf in Digikam::ImageHistoryGraph::addHistory (this=0xbf887a0c, givenHistory=..., historySubject=...) at /build/buildd/digikam-4.0.0/core/libs/database/imagehistory/imagehistorygraph.cpp:532
#28 0xb6664452 in Digikam::ImageHistoryGraph::fromInfo (info=..., loadingMode=..., processingMode=processingMode@entry=Digikam::ImageHistoryGraph::PrepareForDisplay) at /build/buildd/digikam-4.0.0/core/libs/database/imagehistory/imagehistorygraph.cpp:508
#29 0xb6674e4f in Digikam::ImageHistoryGraphModel::setHistory (this=0xaf3ca88, subject=..., graph=...) at /build/buildd/digikam-4.0.0/core/libs/database/imagehistory/imagehistorygraphmodel.cpp:614
#30 0x080ee6bf in Digikam::VersionsWidget::setCurrentItem (this=0xaf3b410, info=...) at /build/buildd/digikam-4.0.0/core/libs/widgets/imagehistory/versionswidget.cpp:212
#31 0x080ea2e6 in Digikam::ImagePropertiesVersionsTab::setItem (this=0xaf38cc8, info=..., history=...) at /build/buildd/digikam-4.0.0/core/libs/imageproperties/imagepropertiesversionstab.cpp:150
#32 0x080d4c13 in Digikam::ImagePropertiesSideBarDB::slotChangedTab (this=0xacf2ef0, tab=0xaf38cc8) at /build/buildd/digikam-4.0.0/core/libs/imageproperties/imagepropertiessidebardb.cpp:317
#33 0xb6aa55f0 in Digikam::ImagePropertiesSideBar::qt_static_metacall (_o=_o@entry=0xacf2ef0, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=4, _a=0xbf887c18) at /build/buildd/digikam-4.0.0/obj-i686-linux-gnu/core/digikam/imagepropertiessidebar.moc:63
#34 0xb4aa20f7 in QMetaObject::activate (sender=sender@entry=0xacf2ef0, m=0x8615660 <Digikam::Sidebar::staticMetaObject>, m@entry=0xb6c235b8 <Digikam::Sidebar::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0xbf887c18) at kernel/qobject.cpp:3539
#35 0xb6a3bd45 in Digikam::Sidebar::signalChangedTab (this=this@entry=0xacf2ef0, _t1=0xaf38cc8) at /build/buildd/digikam-4.0.0/obj-i686-linux-gnu/core/digikam/sidebar.moc:111
#36 0xb6a3cfcb in Digikam::Sidebar::deleteTab (this=0xacf2ef0, w=0xb0c3588) at /build/buildd/digikam-4.0.0/core/libs/widgets/mainview/sidebar.cpp:290
#37 0xb6b0309a in Digikam::EditorToolIface::unLoadTool (this=0x97b8b70) at /build/buildd/digikam-4.0.0/core/utilities/imageeditor/editor/editortooliface.cpp:185
#38 0xb6b24bec in Digikam::ImagePlugin::slotToolDone (this=this@entry=0xacdfa18) at /build/buildd/digikam-4.0.0/core/utilities/imageeditor/plugin/imageplugin.cpp:69
#39 0xb6b24c34 in Digikam::ImagePlugin::qt_static_metacall (_o=_o@entry=0xacdfa18, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbf887d78) at /build/buildd/digikam-4.0.0/obj-i686-linux-gnu/core/digikam/imageplugin.moc:48
#40 0xb4aa20f7 in QMetaObject::activate (sender=sender@entry=0xbef70c0, m=m@entry=0xb6c2961c <Digikam::EditorTool::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3539
#41 0xb6b009f5 in Digikam::EditorTool::okClicked (this=this@entry=0xbef70c0) at /build/buildd/digikam-4.0.0/obj-i686-linux-gnu/core/digikam/editortool.moc:136
#42 0xb6b00a2c in Digikam::EditorTool::slotOk (this=0xbef70c0) at /build/buildd/digikam-4.0.0/core/utilities/imageeditor/editor/editortool.cpp:272
#43 0xb6b01468 in Digikam::EditorTool::qt_static_metacall (_o=0x40, _id=140595876, _a=0xbf887e78, _c=<optimized out>) at /build/buildd/digikam-4.0.0/obj-i686-linux-gnu/core/digikam/editortool.moc:80
#44 0xb4aa20f7 in QMetaObject::activate (sender=sender@entry=0xb0c3588, m=m@entry=0xb6c298d4 <Digikam::EditorToolSettings::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3539
#45 0xb6b04785 in Digikam::EditorToolSettings::signalOkClicked (this=0xb0c3588) at /build/buildd/digikam-4.0.0/obj-i686-linux-gnu/core/digikam/editortoolsettings.moc:118
#46 0xb6b049e5 in Digikam::EditorToolSettings::qt_static_metacall (_o=0x40, _id=140595876, _a=<optimized out>, _c=<optimized out>) at /build/buildd/digikam-4.0.0/obj-i686-linux-gnu/core/digikam/editortoolsettings.moc:61
#47 0xb4aa20f7 in QMetaObject::activate (sender=sender@entry=0xaea5e98, m=0x86164e0 <QAbstractButton::staticMetaObject>, m@entry=0xb5957ac8 <QAbstractButton::staticMetaObject>, local_signal_index=local_signal_index@entry=2, argv=argv@entry=0xbf887fb8) at kernel/qobject.cpp:3539
#48 0xb56e60ad in QAbstractButton::clicked (this=this@entry=0xaea5e98, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:219
#49 0xb5400ab1 in QAbstractButtonPrivate::emitClicked (this=this@entry=0xbfe68c8) at widgets/qabstractbutton.cpp:548
#50 0xb5401e37 in QAbstractButtonPrivate::click (this=this@entry=0xbfe68c8) at widgets/qabstractbutton.cpp:541
#51 0xb5401f3e in QAbstractButton::mouseReleaseEvent (this=0xaea5e98, e=0xbf8884a4) at widgets/qabstractbutton.cpp:1123
#52 0xb50433fa in QWidget::event (this=this@entry=0xaea5e98, event=event@entry=0xbf8884a4) at kernel/qwidget.cpp:8376
#53 0xb5402f42 in QAbstractButton::event (this=this@entry=0xaea5e98, e=e@entry=0xbf8884a4) at widgets/qabstractbutton.cpp:1082
#54 0xb549daec in QPushButton::event (this=0xaea5e98, e=0xbf8884a4) at widgets/qpushbutton.cpp:683
#55 0xb4fe97f4 in QApplicationPrivate::notify_helper (this=0x935dd98, receiver=receiver@entry=0xaea5e98, e=0xbf8884a4) at kernel/qapplication.cpp:4567
#56 0xb4ff1ea0 in QApplication::notify (this=0xbf888b58, receiver=receiver@entry=0xaea5e98, e=e@entry=0xbf8884a4) at kernel/qapplication.cpp:4110
#57 0xb5b391f4 in KApplication::notify (this=0xbf888b58, receiver=0xaea5e98, event=0xbf8884a4) at ../../kdeui/kernel/kapplication.cpp:311
#58 0xb4a8ce4a in QCoreApplication::notifyInternal (this=0xbf888b58, receiver=receiver@entry=0xaea5e98, event=event@entry=0xbf8884a4) at kernel/qcoreapplication.cpp:953
#59 0xb4fefb53 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#60 QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0xaea5e98, event=0xbf8884a4, alienWidget=0xaea5e98, nativeWidget=0xb0c3588, buttonDown=buttonDown@entry=0xb5960ce4 <qt_button_down>, lastMouseReceiver=..., spontaneous=spontaneous@entry=true) at kernel/qapplication.cpp:3178
#61 0xb5073778 in QETWidget::translateMouseEvent (this=0xb0c3588, event=event@entry=0xbf8886cc) at kernel/qapplication_x11.cpp:4634
#62 0xb5072ec5 in QApplication::x11ProcessEvent (this=0xbf888b58, event=event@entry=0xbf8886cc) at kernel/qapplication_x11.cpp:3627
#63 0xb509e524 in x11EventSourceDispatch (s=0x9354028, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#64 0xb2fee1e3 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#65 0xb2fee468 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#66 0xb2fee528 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#67 0xb4abc93b in QEventDispatcherGlib::processEvents (this=this@entry=0x92bef08, flags=...) at kernel/qeventdispatcher_glib.cpp:434
#68 0xb509e5de in QGuiEventDispatcherGlib::processEvents (this=0x92bef08, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#69 0xb4a8b823 in QEventLoop::processEvents (this=this@entry=0xbf888988, flags=...) at kernel/qeventloop.cpp:149
#70 0xb4a8bb49 in QEventLoop::exec (this=this@entry=0xbf888988, flags=...) at kernel/qeventloop.cpp:204
#71 0xb4a918fe in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#72 0xb4fe7a24 in QApplication::exec () at kernel/qapplication.cpp:3828
#73 0x080be1a0 in main (argc=5, argv=0xbf888c94) at /build/buildd/digikam-4.0.0/core/digikam/main/main.cpp:236

Possible duplicates by query: bug 336514, bug 336262, bug 336261, bug 336260, bug 336259.

Reported using DrKonqi
Comment 1 caulier.gilles 2014-06-29 14:21:06 UTC

*** This bug has been marked as a duplicate of bug 329697 ***
Comment 2 caulier.gilles 2021-05-10 14:55:53 UTC
Fixed with #329697