Bug 283509 - crash on final step of stiching large panorama
Summary: crash on final step of stiching large 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: 2011-10-07 01:07 UTC by Thomas Caswell
Modified: 2016-07-10 05:33 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 2.3.0


Attachments
fixes crash (885 bytes, patch)
2011-10-07 02:09 UTC, Thomas Caswell
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Caswell 2011-10-07 01:07:59 UTC
Application: digikam (2.3.0)
KDE Platform Version: 4.7.1 (4.7.1)
Qt Version: 4.7.4
Operating System: Linux 3.0.0-12-generic x86_64
Distribution: Ubuntu oneiric (development branch)

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

Final step of stitching a panorama (3 or 13 raw images).

After the wizard asks if it should do auto leveling and auto-cropping it crashes.

Happens every time

The crash can be reproduced every time.

-- Backtrace:
Application: digiKam (digikam), signal: Aborted
[Current thread is 1 (Thread 0x7fcc0d84ca20 (LWP 25194))]

Thread 10 (Thread 0x7fcbebf4c700 (LWP 25195)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fcc079751ab in wait (time=18446744073709551615, this=0x13c4bd0) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x13e9268, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00000000005e0873 in Digikam::ScanController::run (this=0x13952f0) at /home/tcaswell/other_source/digikam-sc/core/digikam/database/scancontroller.cpp:647
#4  0x00007fcc07974d05 in QThreadPrivate::start (arg=0x13952f0) at thread/qthread_unix.cpp:331
#5  0x00007fcc026ccefc in start_thread (arg=0x7fcbebf4c700) at pthread_create.c:304
#6  0x00007fcc06c1789d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7fcbeb74b700 (LWP 25196)):
#0  __pthread_mutex_unlock (mutex=0x1) at pthread_mutex_unlock.c:289
#1  0x00007fcc0035c451 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fcc07a86f3e in QEventDispatcherGlib::processEvents (this=0x13d8e40, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#3  0x00007fcc07a5acf2 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#4  0x00007fcc07a5aef7 in QEventLoop::exec (this=0x7fcbeb74ab30, flags=...) at kernel/qeventloop.cpp:201
#5  0x00007fcc0797227f in QThread::exec (this=<optimized out>) at thread/qthread.cpp:498
#6  0x00007fcc07a3dcbf in QInotifyFileSystemWatcherEngine::run (this=0x1348a10) at io/qfilesystemwatcher_inotify.cpp:248
#7  0x00007fcc07974d05 in QThreadPrivate::start (arg=0x1348a10) at thread/qthread_unix.cpp:331
#8  0x00007fcc026ccefc in start_thread (arg=0x7fcbeb74b700) at pthread_create.c:304
#9  0x00007fcc06c1789d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7fcbeaf4a700 (LWP 25198)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fcc079751ab in wait (time=18446744073709551615, this=0x1c1c660) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x1c1c1e8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007fcc0ae3c12b in Digikam::ParkingThread::run (this=0x1c1c1d0) at /home/tcaswell/other_source/digikam-sc/core/libs/threads/threadmanager.cpp:119
#4  0x00007fcc07974d05 in QThreadPrivate::start (arg=0x1c1c1d0) at thread/qthread_unix.cpp:331
#5  0x00007fcc026ccefc in start_thread (arg=0x7fcbeaf4a700) at pthread_create.c:304
#6  0x00007fcc06c1789d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7fcbe3fff700 (LWP 25199)):
#0  0x00007fcc06c0b773 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fcc0035bf68 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fcc0035c429 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fcc07a86f3e in QEventDispatcherGlib::processEvents (this=0x1dcd210, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007fcc07a5acf2 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007fcc07a5aef7 in QEventLoop::exec (this=0x7fcbe3ffeb30, flags=...) at kernel/qeventloop.cpp:201
#6  0x00007fcc0797227f in QThread::exec (this=<optimized out>) at thread/qthread.cpp:498
#7  0x00007fcc07a3dcbf in QInotifyFileSystemWatcherEngine::run (this=0x1dcc670) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007fcc07974d05 in QThreadPrivate::start (arg=0x1dcc670) at thread/qthread_unix.cpp:331
#9  0x00007fcc026ccefc in start_thread (arg=0x7fcbe3fff700) at pthread_create.c:304
#10 0x00007fcc06c1789d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7fcbca245700 (LWP 25237)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fcc079751ab in wait (time=18446744073709551615, this=0x7e5f4f0) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x828e728, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007fcbd9d01514 in KIPIPlugins::LoadRawThumbThread::run (this=0x72c8a50) at /home/tcaswell/other_source/digikam-sc/extra/kipi-plugins/common/libkipiplugins/dialogs/imagedialog.cpp:537
#4  0x00007fcc07974d05 in QThreadPrivate::start (arg=0x72c8a50) at thread/qthread_unix.cpp:331
#5  0x00007fcc026ccefc in start_thread (arg=0x7fcbca245700) at pthread_create.c:304
#6  0x00007fcc06c1789d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7fcbc3fff700 (LWP 25241)):
[KCrash Handler]
#6  0x00007fcc06b6c3a5 in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#7  0x00007fcc06b6fb0b in __GI_abort () at abort.c:92
#8  0x00007fcc0796b43b in qt_message_output (msgType=<optimized out>, buf=0x8387488 "ASSERT: \"i >= 0 && i < size()\" in file /usr/include/qt4/QtCore/qstring.h, line 704") at global/qglobal.cpp:2315
#9  0x00007fcc0796b7ef in qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *) (msgType=QtFatalMsg, msg=0x7fcc07abaa58 "ASSERT: \"%s\" in file %s, line %d", ap=0x7fcbc3ffdec8) at global/qglobal.cpp:2361
#10 0x00007fcc0796b994 in qFatal (msg=<optimized out>) at global/qglobal.cpp:2544
#11 0x00007fcbd9f43880 in QString::operator[] (this=0x82a6e38, i=0) at /usr/include/qt4/QtCore/qstring.h:704
#12 0x00007fcbd9f3dc3f in KIPIPanoramaPlugin::ActionThread::computePanoramaPreview (this=0x7fcbc4004f40, ptoUrl=..., previewUrl=..., preProcessedUrlsMap=..., errors=...) at /home/tcaswell/other_source/digikam-sc/extra/kipi-plugins/panorama/manager/actionthread.cpp:702
#13 0x00007fcbd9f3bb51 in KIPIPanoramaPlugin::ActionThread::run (this=0x7fcbc4004f40) at /home/tcaswell/other_source/digikam-sc/extra/kipi-plugins/panorama/manager/actionthread.cpp:364
#14 0x00007fcc07974d05 in QThreadPrivate::start (arg=0x7fcbc4004f40) at thread/qthread_unix.cpp:331
#15 0x00007fcc026ccefc in start_thread (arg=0x7fcbc3fff700) at pthread_create.c:304
#16 0x00007fcc06c1789d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#17 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fcbc37fe700 (LWP 25242)):
#0  0x00007fcc0304d3b6 in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
#1  0x00007fcc0304bede in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
#2  0x00007fcc026ccefc in start_thread (arg=0x7fcbc37fe700) at pthread_create.c:304
#3  0x00007fcc06c1789d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fcbc2ffd700 (LWP 25243)):
#0  0x00007fcc0304d3b6 in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
#1  0x00007fcc0304bede in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
#2  0x00007fcc026ccefc in start_thread (arg=0x7fcbc2ffd700) at pthread_create.c:304
#3  0x00007fcc06c1789d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fcbc27fc700 (LWP 25244)):
#0  0x00007fcc0304d3b6 in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
#1  0x00007fcc0304bede in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
#2  0x00007fcc026ccefc in start_thread (arg=0x7fcbc27fc700) at pthread_create.c:304
#3  0x00007fcc06c1789d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fcc0d84ca20 (LWP 25194)):
#0  0x00007fcc06c0b773 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fcbfdb3f4f2 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007fcbfdb3fa3f in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007fcbfdb3fac4 in xcb_writev () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#4  0x00007fcc0516f597 in _XSend () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#5  0x00007fcc0516facb in _XReply () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#6  0x00007fcc0516b1f3 in XSync () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#7  0x00007fcc0864edd5 in syncX (this=0x7fcbc4032db0) at painting/qwindowsurface_raster.cpp:127
#8  QRasterWindowSurface::syncX (this=0x7fcbc4032db0) at painting/qwindowsurface_raster.cpp:123
#9  0x00007fcc0864f291 in QRasterWindowSurface::beginPaint (this=0x7fcbc4032db0, rgn=...) at painting/qwindowsurface_raster.cpp:136
#10 0x00007fcc0866ceaf in QWidgetBackingStore::sync (this=0x7fcbc4032d50) at painting/qbackingstore.cpp:1269
#11 0x00007fcc084a0360 in QWidgetPrivate::syncBackingStore (this=0x7fcbc4023bb0) at kernel/qwidget.cpp:1862
#12 0x00007fcc084ad15c in QWidget::event (this=0x7fcbc401c310, event=0x7185a90) at kernel/qwidget.cpp:8588
#13 0x00007fcc0845c424 in notify_helper (e=0x7185a90, receiver=0x7fcbc401c310, this=0x11fcbc0) at kernel/qapplication.cpp:4486
#14 QApplicationPrivate::notify_helper (this=0x11fcbc0, receiver=0x7fcbc401c310, e=0x7185a90) at kernel/qapplication.cpp:4458
#15 0x00007fcc08461291 in QApplication::notify (this=0x7ffff42e9010, receiver=0x7fcbc401c310, e=0x7185a90) at kernel/qapplication.cpp:4365
#16 0x00007fcc091701e6 in KApplication::notify (this=0x7ffff42e9010, receiver=0x7fcbc401c310, event=0x7185a90) at ../../kdeui/kernel/kapplication.cpp:311
#17 0x00007fcc07a5bafc in QCoreApplication::notifyInternal (this=0x7ffff42e9010, receiver=0x7fcbc401c310, event=0x7185a90) at kernel/qcoreapplication.cpp:787
#18 0x00007fcc07a5f51f in sendEvent (event=0x7185a90, receiver=0x7fcbc401c310) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#19 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x1193bb0) at kernel/qcoreapplication.cpp:1428
#20 0x00007fcc07a86a73 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#21 postEventSourceDispatch (s=<optimized out>) at kernel/qeventdispatcher_glib.cpp:277
#22 0x00007fcc0035ba5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007fcc0035c258 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007fcc0035c429 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007fcc07a86ed6 in QEventDispatcherGlib::processEvents (this=0x1195250, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#26 0x00007fcc0850407e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#27 0x00007fcc07a5acf2 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#28 0x00007fcc07a5aef7 in QEventLoop::exec (this=0x7ffff42e8e80, flags=...) at kernel/qeventloop.cpp:201
#29 0x00007fcc07a5f789 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1064
#30 0x00000000006b73e0 in main (argc=1, argv=0x7ffff42e96e8) at /home/tcaswell/other_source/digikam-sc/core/digikam/main/main.cpp:232

Reported using DrKonqi
Comment 1 Thomas Caswell 2011-10-07 02:09:36 UTC
Created attachment 64297 [details]
fixes crash

bug caused by trying to access the first element of an empty string
Comment 2 caulier.gilles 2011-10-07 07:10:40 UTC
I can reproduce here too.

Gilles Caulier
Comment 3 Benjamin Girault 2011-10-07 13:22:36 UTC
Git commit 0d40ee1ab510d8bb204bde89999f357be748a604 by Benjamin Girault.
Committed on 07/10/2011 at 15:24.
Pushed by girault into branch 'master'.

Panorama: bugfix

Extra test for an empty string.

BUG: 283509

M  +5    -4    panorama/manager/actionthread.cpp

http://commits.kde.org/kipi-plugins/0d40ee1ab510d8bb204bde89999f357be748a604