Bug 319882 - Crash when stitching a panorama
Summary: Crash when stitching a panorama
Status: RESOLVED NOT A BUG
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-05-15 19:34 UTC by Axel Krebs
Modified: 2022-01-17 12:11 UTC (History)
10 users (show)

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


Attachments
New crash information added by DrKonqi (14.93 KB, text/plain)
2013-06-07 16:43 UTC, Axel Krebs
Details
New crash information added by DrKonqi (8.42 KB, text/plain)
2015-11-18 09:51 UTC, Syiad
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Axel Krebs 2013-05-15 19:34:04 UTC
Application: digikam (3.1.0)
KDE Platform Version: 4.10.3
Qt Version: 4.8.4
Operating System: Linux 3.8.0-21-generic x86_64
Distribution: Ubuntu 13.04

-- Information about the crash:
- What I was doing when the application crashed:
if I stitch two(!) jpg-pics into a tif-panorama, digiKam crashes

looks reproducible

The crash can be reproduced every time.

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

Thread 12 (Thread 0x7f9391b01700 (LWP 2671)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f93b45b614b in wait (time=18446744073709551615, this=0x155a2a0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x155a1a0, mutex=mutex@entry=0x155a198, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00000000005ccce8 in Digikam::ScanController::run (this=0x15699c0) at /build/buildd/digikam-3.1.0/core/digikam/database/scancontroller.cpp:705
#4  0x00007f93b45b5bec in QThreadPrivate::start (arg=0x15699c0) at thread/qthread_unix.cpp:338
#5  0x00007f93aeae2f8e in start_thread (arg=0x7f9391b01700) at pthread_create.c:311
#6  0x00007f93b37d2e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 11 (Thread 0x7f9391300700 (LWP 2672)):
#0  0x00007f93ac341aa2 in g_main_context_query () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f93ac34214c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f93ac342304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f93b46e1036 in QEventDispatcherGlib::processEvents (this=0x7f93840008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f93b46b138f in QEventLoop::processEvents (this=this@entry=0x7f93912ffb10, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f93b46b1618 in QEventLoop::exec (this=this@entry=0x7f93912ffb10, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f93b45b3410 in QThread::exec (this=this@entry=0x154d080) at thread/qthread.cpp:542
#7  0x00007f93b4692edf in QInotifyFileSystemWatcherEngine::run (this=0x154d080) at io/qfilesystemwatcher_inotify.cpp:256
#8  0x00007f93b45b5bec in QThreadPrivate::start (arg=0x154d080) at thread/qthread_unix.cpp:338
#9  0x00007f93aeae2f8e in start_thread (arg=0x7f9391300700) at pthread_create.c:311
#10 0x00007f93b37d2e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 10 (Thread 0x7f9390aff700 (LWP 2674)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f93b45b614b in wait (time=18446744073709551615, this=0x185a0d0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x1512c30, mutex=mutex@entry=0x1512c28, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f93b76010a9 in Digikam::ParkingThread::run (this=0x1512c10) at /build/buildd/digikam-3.1.0/core/libs/threads/threadmanager.cpp:119
#4  0x00007f93b45b5bec in QThreadPrivate::start (arg=0x1512c10) at thread/qthread_unix.cpp:338
#5  0x00007f93aeae2f8e in start_thread (arg=0x7f9390aff700) at pthread_create.c:311
#6  0x00007f93b37d2e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 9 (Thread 0x7f937ee25700 (LWP 2675)):
#0  0x00007f93ac33f4ab in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f93ac341bf7 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f93ac342175 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f93ac342304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f93b46e1036 in QEventDispatcherGlib::processEvents (this=0x7f93780008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#5  0x00007f93b46b138f in QEventLoop::processEvents (this=this@entry=0x7f937ee24b10, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007f93b46b1618 in QEventLoop::exec (this=this@entry=0x7f937ee24b10, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007f93b45b3410 in QThread::exec (this=this@entry=0x1d4f3a0) at thread/qthread.cpp:542
#8  0x00007f93b4692edf in QInotifyFileSystemWatcherEngine::run (this=0x1d4f3a0) at io/qfilesystemwatcher_inotify.cpp:256
#9  0x00007f93b45b5bec in QThreadPrivate::start (arg=0x1d4f3a0) at thread/qthread_unix.cpp:338
#10 0x00007f93aeae2f8e in start_thread (arg=0x7f937ee25700) at pthread_create.c:311
#11 0x00007f93b37d2e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 8 (Thread 0x7f9371a42700 (LWP 2797)):
#0  0x00007f93b37c63cd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f93ac3421dc in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f93ac342304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f93b46e1036 in QEventDispatcherGlib::processEvents (this=0x7f93681375f0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f93b46b138f in QEventLoop::processEvents (this=this@entry=0x7f9371a41ae0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f93b46b1618 in QEventLoop::exec (this=this@entry=0x7f9371a41ae0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f93b760064b in Digikam::WorkerObjectRunnable::run (this=0x1b496d40) at /build/buildd/digikam-3.1.0/core/libs/threads/threadmanager.cpp:196
#7  0x00007f93b45a955d in QThreadPoolThread::run (this=0xfb5d040) at concurrent/qthreadpool.cpp:107
#8  0x00007f93b45b5bec in QThreadPrivate::start (arg=0xfb5d040) at thread/qthread_unix.cpp:338
#9  0x00007f93aeae2f8e in start_thread (arg=0x7f9371a42700) at pthread_create.c:311
#10 0x00007f93b37d2e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 7 (Thread 0x7f9372d86700 (LWP 2814)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f93b45b614b in wait (time=18446744073709551615, this=0x1bd27970) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x1bd26dc0, mutex=mutex@entry=0x1bd26db8, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f93585d1006 in KIPIPlugins::KPRawThumbThread::run (this=0x1a43a670) at /build/buildd/digikam-3.1.0/extra/kipi-plugins/common/libkipiplugins/tools/kprawthumbthread.cpp:108
#4  0x00007f93b45b5bec in QThreadPrivate::start (arg=0x1a43a670) at thread/qthread_unix.cpp:338
#5  0x00007f93aeae2f8e in start_thread (arg=0x7f9372d86700) at pthread_create.c:311
#6  0x00007f93b37d2e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 6 (Thread 0x7f9363fff700 (LWP 2815)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f93b45b614b in wait (time=18446744073709551615, this=0x1b2be400) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x1b2ec450, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f93b7a4ac1c in KDcrawIface::RActionThreadBase::run() () from /usr/lib/libkdcraw.so.22
#4  0x00007f93b45b5bec in QThreadPrivate::start (arg=0x1aa34850) at thread/qthread_unix.cpp:338
#5  0x00007f93aeae2f8e in start_thread (arg=0x7f9363fff700) at pthread_create.c:311
#6  0x00007f93b37d2e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 5 (Thread 0x7f93637fe700 (LWP 2816)):
#0  0x00007f93b37cb233 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f93b46de4f3 in qt_safe_select (nfds=11, fdread=0x7f93637fd860, fdwrite=0x7f93637fd8e0, fdexcept=fdexcept@entry=0x0, orig_timeout=orig_timeout@entry=0x0) at kernel/qcore_unix.cpp:83
#2  0x00007f93b468cbd2 in select_msecs (fdwrite=<optimized out>, fdread=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at io/qprocess_unix.cpp:1006
#3  select_msecs (nfds=<optimized out>, fdread=<optimized out>, fdwrite=<optimized out>, timeout=<optimized out>) at io/qprocess_unix.cpp:1003
#4  0x00007f93b468e3f4 in QProcessPrivate::waitForFinished (this=this@entry=0x7f932044cc20, msecs=msecs@entry=-1) at io/qprocess_unix.cpp:1227
#5  0x00007f93b4647f6e in QProcess::waitForFinished (this=0x7f9320012dd0, msecs=msecs@entry=-1) at io/qprocess.cpp:1759
#6  0x00007f93601485fc in KIPIPanoramaPlugin::CpFindTask::run (this=0x1bd6da90) at /build/buildd/digikam-3.1.0/extra/kipi-plugins/panorama/tasks/cpfindtask.cpp:85
#7  0x00007f93b68ade3a in ThreadWeaver::JobRunHelper::runTheJob (this=this@entry=0x7f93637fdad0, th=th@entry=0x7f92fc012d80, job=job@entry=0x1bd6da90) at ../../../threadweaver/Weaver/Job.cpp:106
#8  0x00007f93b68adfb1 in ThreadWeaver::Job::execute (this=0x1bd6da90, th=0x7f92fc012d80) at ../../../threadweaver/Weaver/Job.cpp:135
#9  0x00007f93b68afe23 in ThreadWeaver::JobCollectionJobRunner::execute (this=0x1b64bda0, t=0x7f92fc012d80) at ../../../threadweaver/Weaver/JobCollection.cpp:82
#10 0x00007f93b68ad60f in ThreadWeaver::ThreadRunHelper::run (this=this@entry=0x7f93637fdb40, parent=0x1bd63290, th=th@entry=0x7f92fc012d80) at ../../../threadweaver/Weaver/Thread.cpp:95
#11 0x00007f93b68ad6cb in ThreadWeaver::Thread::run (this=0x7f92fc012d80) at ../../../threadweaver/Weaver/Thread.cpp:142
#12 0x00007f93b45b5bec in QThreadPrivate::start (arg=0x7f92fc012d80) at thread/qthread_unix.cpp:338
#13 0x00007f93aeae2f8e in start_thread (arg=0x7f93637fe700) at pthread_create.c:311
#14 0x00007f93b37d2e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 4 (Thread 0x7f9362ffd700 (LWP 2817)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f93b45b614b in wait (time=18446744073709551615, this=0x1b553290) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x1bd632b8, mutex=0x1aa1c020, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f93b68ac041 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x1bd63290, th=0x7f9320012df0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f93b68ae94b in ThreadWeaver::WorkingHardState::applyForWork (this=0xfac2ea0, th=0x7f9320012df0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007f93b68ad63f in ThreadWeaver::ThreadRunHelper::run (this=this@entry=0x7f9362ffcb40, parent=0x1bd63290, th=th@entry=0x7f9320012df0) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007f93b68ad6cb in ThreadWeaver::Thread::run (this=0x7f9320012df0) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007f93b45b5bec in QThreadPrivate::start (arg=0x7f9320012df0) at thread/qthread_unix.cpp:338
#8  0x00007f93aeae2f8e in start_thread (arg=0x7f9362ffd700) at pthread_create.c:311
#9  0x00007f93b37d2e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 3 (Thread 0x7f93627fc700 (LWP 2818)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f93b45b614b in wait (time=18446744073709551615, this=0x1b553290) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x1bd632b8, mutex=0x1aa1c020, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f93b68ac041 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x1bd63290, th=0x7f93200023c0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f93b68ae94b in ThreadWeaver::WorkingHardState::applyForWork (this=0xfac2ea0, th=0x7f93200023c0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007f93b68ad63f in ThreadWeaver::ThreadRunHelper::run (this=this@entry=0x7f93627fbb40, parent=0x1bd63290, th=th@entry=0x7f93200023c0) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007f93b68ad6cb in ThreadWeaver::Thread::run (this=0x7f93200023c0) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007f93b45b5bec in QThreadPrivate::start (arg=0x7f93200023c0) at thread/qthread_unix.cpp:338
#8  0x00007f93aeae2f8e in start_thread (arg=0x7f93627fc700) at pthread_create.c:311
#9  0x00007f93b37d2e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 2 (Thread 0x7f93617fa700 (LWP 2819)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f93b45b614b in wait (time=18446744073709551615, this=0x1b553290) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x1bd632b8, mutex=0x1aa1c020, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f93b68ac041 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x1bd63290, th=0x7f9320001650) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f93b68ae94b in ThreadWeaver::WorkingHardState::applyForWork (this=0xfac2ea0, th=0x7f9320001650) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007f93b68ad63f in ThreadWeaver::ThreadRunHelper::run (this=this@entry=0x7f93617f9b40, parent=0x1bd63290, th=th@entry=0x7f9320001650) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007f93b68ad6cb in ThreadWeaver::Thread::run (this=0x7f9320001650) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007f93b45b5bec in QThreadPrivate::start (arg=0x7f9320001650) at thread/qthread_unix.cpp:338
#8  0x00007f93aeae2f8e in start_thread (arg=0x7f93617fa700) at pthread_create.c:311
#9  0x00007f93b37d2e1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7f93b9d58a40 (LWP 2670)):
[KCrash Handler]
#6  QPixmap::copy (this=this@entry=0x1bd98228, rect=...) at image/qpixmap.cpp:390
#7  0x00007f93b51710a7 in QPixmap::QPixmap (this=0x7fff732d25c0, pixmap=...) at image/qpixmap.cpp:303
#8  0x00007f93b5e1b7a4 in KPixmapSequence::frameAt (this=0x1b546570, index=1) at ../../kdeui/util/kpixmapsequence.cpp:143
#9  0x00007f9360139fba in KIPIPanoramaPlugin::PreProcessingPage::slotProgressTimerDone (this=0x1bd255c0) at /build/buildd/digikam-3.1.0/extra/kipi-plugins/panorama/importwizard/preprocessingpage.cpp:237
#10 0x00007f93b46c70ef in QMetaObject::activate (sender=0x1b544b00, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3539
#11 0x00007f93b46cc3ec in QObject::event (this=0x1b544b00, e=<optimized out>) at kernel/qobject.cpp:1156
#12 0x00007f93b509b8ec in QApplicationPrivate::notify_helper (this=this@entry=0x1435280, receiver=receiver@entry=0x1b544b00, e=e@entry=0x7fff732d2d60) at kernel/qapplication.cpp:4567
#13 0x00007f93b509e25b in QApplication::notify (this=this@entry=0x7fff732d35f0, receiver=receiver@entry=0x1b544b00, e=e@entry=0x7fff732d2d60) at kernel/qapplication.cpp:4428
#14 0x00007f93b5da8af6 in KApplication::notify (this=0x7fff732d35f0, receiver=0x1b544b00, event=0x7fff732d2d60) at ../../kdeui/kernel/kapplication.cpp:311
#15 0x00007f93b46b263e in QCoreApplication::notifyInternal (this=0x7fff732d35f0, receiver=0x1b544b00, event=event@entry=0x7fff732d2d60) at kernel/qcoreapplication.cpp:946
#16 0x00007f93b46e3b72 in sendEvent (event=0x7fff732d2d60, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#17 QTimerInfoList::activateTimers (this=0x1445860) at kernel/qeventdispatcher_unix.cpp:622
#18 0x00007f93b46e09a4 in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:186
#19 timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:180
#20 0x00007f93b46e09c1 in idleTimerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:233
#21 0x00007f93ac341f05 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007f93ac342248 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007f93ac342304 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007f93b46e1016 in QEventDispatcherGlib::processEvents (this=0x13bf0b0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#25 0x00007f93b51411ae in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#26 0x00007f93b46b138f in QEventLoop::processEvents (this=this@entry=0x7fff732d2fe0, flags=...) at kernel/qeventloop.cpp:149
#27 0x00007f93b46b1618 in QEventLoop::exec (this=this@entry=0x7fff732d2fe0, flags=...) at kernel/qeventloop.cpp:204
#28 0x00007f93b46b6cf6 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#29 0x00007f93b5099ffc in QApplication::exec () at kernel/qapplication.cpp:3828
#30 0x000000000048f9ab in main (argc=5, argv=0x7fff732d3828) at /build/buildd/digikam-3.1.0/core/digikam/main/main.cpp:235

Possible duplicates by query: bug 246632.

Reported using DrKonqi
Comment 1 Benjamin Girault 2013-05-16 08:24:02 UTC
First of all, stitching jpegs into a tiff file doesn't make much sense, except for having an alpha channel on the output picture that shows where there is no data. Apart this case, tiff is a 16 bits color depth file format while jpegs are only 8 bits, hence you cannot expect to get a color depth of more than 8 bits.

That being said, I tried both the plugin in digiKam and the stand-alone program, and stitched 2 jpegs into a tiff file without crash. Can you send me (possibly by private email) your files for me to try them and figure out the issue?

From the bug report, and looking at the code, I see one possible issue in the way the pixmap sequence is handled (hard-coded number of frames), and maybe your system is missing the pixmap sequence (named "process-working", located in /usr/share/icons/oxygen/22x22/animations/process-working.png on my system) for some reason... I'll change the code not to hard-code the number of frames.
Comment 2 Benjamin Girault 2013-06-05 08:43:46 UTC
*** Bug 320747 has been marked as a duplicate of this bug. ***
Comment 3 Benjamin Girault 2013-06-06 08:33:05 UTC
Do you have the file "process-working.png" somewhere on your system (i.e. in a subdirectory of /usr/share/")? If not, this is a Ubuntu issue.

Also, does the plugin work when stitching into JPEG?
Comment 4 Axel Krebs 2013-06-07 16:43:11 UTC
Created attachment 80382 [details]
New crash information added by DrKonqi

digikam (3.2.0) on KDE Platform 4.10.4 using Qt 4.8.4

- What I was doing when the application crashed:

Please compare recent Discussion with Benjamin Girault, 

Instead of producing tif panoramas, first time jpg-panoramas.

Every attempt leads to crash. 

KDE? >> digiKam does not startup anymore, even when marking "restart" in bug-reporting screen.

-- Backtrace (Reduced):
#6  isNull (this=0x646b2c61) at image/qpixmapdata_p.h:131
#7  QPixmap::isNull (this=this@entry=0x5d828170) at image/qpixmap.cpp:579
#8  0x00007fe577a5f499 in QPixmap::copy (this=this@entry=0x5d828170, rect=...) at image/qpixmap.cpp:382
#9  0x00007fe577a600a7 in QPixmap::QPixmap (this=0x7fff0ec25570, pixmap=...) at image/qpixmap.cpp:303
#10 0x00007fe57870a7a4 in KPixmapSequence::frameAt (this=0x5c775e60, index=2) at ../../kdeui/util/kpixmapsequence.cpp:143
Comment 5 Axel Krebs 2013-06-07 17:04:22 UTC
To compare with digiKam/kipiplugin capabilities, I started HUGIN with the same (both) pics: crash!

Bug-report from HUGIN:
===========================================================================
***************  Panorama makefile generated by Hugin       ***************
===========================================================================
System information
===========================================================================
Operating system: GNU/Linux
Release: 3.8.0-25-generic
Kernel version: #37-Ubuntu SMP Thu Jun 6 20:47:07 UTC 2013
Machine: x86_64
Disc usage
Dateisystem    Größe Benutzt Verf. Verw% Eingehängt auf
/dev/sda1        19G    7,3G   11G   42% /
none            4,0K       0  4,0K    0% /sys/fs/cgroup
udev            3,9G    4,0K  3,9G    1% /dev
tmpfs           799M    1,2M  798M    1% /run
none            5,0M       0  5,0M    0% /run/lock
none            3,9G    1,2M  3,9G    1% /run/shm
none            100M     12K  100M    1% /run/user
/dev/sda2       181M     86M   87M   50% /boot
/dev/sdb1       1,8T    1,7T   54G   97% /data
/dev/sda4       895G    751G  100G   89% /home
/dev/sdi1        30G    5,2G   25G   18% /media/CORSAIR
/dev/sdh1       1,8T    1,6T  187G   90% /media/INTENSO_2TB
/dev/sdg1        91M    5,6M   80M    7% /media/3cbb70ec-84cf-466c-ac1a-067aa63519f6
Memory usage
             total       used       free     shared    buffers     cached
Speicher:       7986       5394       2591          0        265       1495
-/+ Puffer/Zwischenspeicher:       3633       4352
Auslagerungsdatei:       3717          0       3717
===========================================================================
Output options
===========================================================================
Hugin Version: 2011.4.0.cf9be9344356
Project file: /tmp/huginpto_HqyXVG
Output prefix: DSC_0037-DSC_0038
Projection: Equirectangular (2)
Field of view: 24 x 106
Canvas dimensions: 4586 x 20255
Crop area: (601,16780) - (4314,20201)
Output exposure value: 13.01
Selected outputs
Normal panorama
* Blended panorama
Using GPU for remapping
===========================================================================
Input images
===========================================================================
Number of images in project file: 2
Number of active images: 2
Image 0: /home/ak/Downloads/QUADRO_Bilder/130530_TM/DSC_0037.JPG
Image 0: Size 5520x3680, Exposure: 12.98
Image 1: /home/ak/Downloads/QUADRO_Bilder/130530_TM/DSC_0038.JPG
Image 1: Size 5520x3680, Exposure: 13.03
===========================================================================
Testing programs
===========================================================================
Checking nona...[OK]
Checking enblend...[OK]
Checking enfuse...[OK]
Checking hugin_hdrmerge...[OK]
Checking exiftool...[OK]
===========================================================================
Stitching panorama
===========================================================================
nona -g  -z LZW -r ldr -m TIFF_m -o DSC_0037-DSC_0038 -i 0 /tmp/huginpto_HqyXVG
nona: using graphics card: nouveau Gallium 0.4 on NV98
destStart=[601, 16780]
destEnd=[4169, 20201]
destSize=[(3568, 3421)]
srcSize=[(5520, 3680)]
srcBuffer=0x2aaab6518010
srcAlphaBuffer=0
destBuffer=0x2aaab9f37010
destAlphaBuffer=0x2aaabc224010
destGLInternalFormat=GL_RGBA8
destGLFormat=GL_RGB
destGLType=GL_UNSIGNED_BYTE
srcGLInternalFormat=GL_RGBA8
srcGLFormat=GL_RGB
srcGLType=GL_UNSIGNED_BYTE
srcAlphaGLType=GL_BYTE
destAlphaGLType=GL_UNSIGNED_BYTE
warparound=0
needsAtanWorkaround=0
maxTextureSize=8192
Source chunks:
    [(0, 0) to (5520, 3680) = (5520x3680)]
Dest chunks:
    [(0, 0) to (1784, 1711) = (1784x1711)]
    [(1784, 0) to (3568, 1711) = (1784x1711)]
    [(0, 1711) to (1784, 3421) = (1784x1710)]
    [(1784, 1711) to (3568, 3421) = (1784x1710)]
Total GPU memory used: 276501856
Interpolator chunks:
    [(0, 0) to (4, 4) = (4x4)]
#version 110
#extension GL_ARB_texture_rectangle : enable
uniform sampler2DRect SrcTexture;
float sinh(in float x) { return (exp(x) - exp(-x)) / 2.0; }
float cosh(in float x) { return (exp(x) + exp(-x)) / 2.0; }
float atan2_xge0(const in float y, const in float x) {
    return atan(y, x);
}
float atan2_safe(const in float y, const in float x) {
    return atan(y, x);
}
float atan_safe(const in float yx) {
    return atan(yx);
}
void main(void)
{
    float discardA = 1.0;
    float discardB = 0.0;
    vec2 src = gl_TexCoord[0].st;
    src -= vec2(2293.0000000000000000, 10127.500000000000000);

    // rotate_erect(34395.000000000000000, 269.34601504281783946)
    {
        src.s += 269.34601504281783946;
        float w = (abs(src.s) > 34395.000000000000000) ? 1.0 : 0.0;
        float n = (src.s < 0.0) ? 0.5 : -0.5;
        src.s += w * -68790.000000000000000 * ceil(src.s / 68790.000000000000000 + n);
    }

    // sphere_tp_erect(10948.268535291481385)
    {
        float phi = src.s / 10948.268535291481385;
        float theta = -src.t / 10948.268535291481385 + 1.5707963267948965580;
        if (theta < 0.0) {
            theta = -theta;
            phi += 3.1415926535897931160;
        }
        if (theta > 3.1415926535897931160) {
            theta = 3.1415926535897931160 - (theta - 3.1415926535897931160);
            phi += 3.1415926535897931160;
        }
        float s = sin(theta);
        vec2 v = vec2(s * sin(phi), cos(theta));
        float r = length(v);
        theta = 10948.268535291481385 * atan2_safe(r, s * cos(phi));
        src = v * (theta / r);
    }

    // persp_sphere(10948.268535291481385)
    {
        mat3 m = mat3(6.1232339957367660359e-17, -0.71629207928719007548, 0.69780058551883850093,
                      1.0000000000000000000, 4.3860240107682970194e-17, -4.2727962674939726463e-17,
                      0.0000000000000000000, 0.69780058551883850093, 0.71629207928719007548);
        float r = length(src);
        float theta = r / 10948.268535291481385;
        float s = 0.0;
        if (r != 0.0) s = sin(theta) / r;
        vec3 v = vec3(s * src.s, s * src.t, cos(theta));
        vec3 u = v * m;
        r = length(u.st);
        theta = 0.0;
        if (r != 0.0) theta = 10948.268535291481385 * atan2_safe(r, u.p) / r;
        src = theta * u.st;
    }

    // rect_sphere_tp(10948.268535291481385)
    {
        float r = length(src);
        float theta = r / 10948.268535291481385;
        float rho = 0.0;
        if (theta >= 1.5707963267948965580) rho = 1.6e16;
        else if (theta == 0.0) rho = 1.0;
        else rho = tan(theta) / theta;
        src *= rho;
    }

    // resize(1.4705521652215638451, 1.4705521652215638451)
    src *= vec2(1.4705521652215638451, 1.4705521652215638451);

    // radial(0.97129638591855782526, 0.0000000000000000000, 0.028703614081442199030, 0.0000000000000000000, 1840.0000000000000000, 1000.0000000000000000)
    {
        float r = length(src) / 1840.0000000000000000;
        float scale = 1000.0; 
        if (r < 1000.0000000000000000) {
            scale = ((0.0000000000000000000 * r + 0.028703614081442199030) * r + 0.0000000000000000000) * r + 0.97129638591855782526;
        }
        src *= scale;
    }

    src += vec2(2759.5000000000000000, 1839.5000000000000000);

    src = src * discardA + vec2(-1000.0, -1000.0) * discardB;
    gl_FragColor = vec4(src.s, 0.0, 0.0, src.t);
}
#version 110
#extension GL_ARB_texture_rectangle : enable
uniform sampler2DRect CoordTexture;
uniform sampler2DRect SrcTexture;
uniform sampler2DRect AccumTexture;
uniform vec2 SrcUL;
uniform vec2 SrcLR;
uniform vec2 KernelUL;
uniform vec2 KernelWH;
float w(const in float i, const in float f) {
    float A = -0.75000000000000000000;
    float c = abs(i - 1.0);
    float m = (i > 1.0) ? -1.0 : 1.0;
    float p = c + m * f;
    if (i == 1.0 || i == 2.0) {
        return (( A + 2.0 )*p - ( A + 3.0 ))*p*p + 1.0;
    } else {
        return (( A * p - 5.0 * A ) * p + 8.0 * A ) * p - 4.0 * A;
    }
}
void main(void)
{
    vec2 src = texture2DRect(CoordTexture, gl_TexCoord[0].st).sq;
    vec4 accum = texture2DRect(AccumTexture, gl_TexCoord[0].st);

    src -= SrcUL;
    vec2 t = floor(src) + -0.50000000000000000000;
    vec2 f = fract(src);
    vec2 k = vec2(0.0, 0.0);

    for (float ky = 0.0; ky < 4.0000000000000000000; ky += 1.0) {
        k.t = ky + KernelUL.t;
        float wy = w(k.t, f.t);
        for (float kx = 0.0; kx < 4.0000000000000000000; kx += 1.0) {
            k.s = kx + KernelUL.s;
            float wx = w(k.s, f.s);
            vec2 ix = t + k;
            vec4 sp = texture2DRect(SrcTexture, ix);
            float weight = wx * wy * sp.a;
            accum += sp * weight;
        }
    }

    gl_FragColor = accum;
}

#version 120
#extension GL_ARB_texture_rectangle : enable
uniform sampler2DRect NormTexture;
uniform sampler2DRect CoordTexture;
uniform sampler2DRect InvLutTexture;
uniform sampler2DRect DestLutTexture;
void main(void)
{
    // Normalization
    vec4 n = texture2DRect(NormTexture, gl_TexCoord[0].st);
    vec4 p = vec4(0.0, 0.0, 0.0, 0.0);
    if (n.a >= 0.2) p = n / n.a;

    // Photometric
    // invLutSize = 256.00000000000000000
    // pixelMax = 255.00000000000000000
    // destLutSize = 1024.0000000000000000
    // destExposure = 0.00012155526470237255378
    // srcExposure = 0.00012398333886234303380
    // whiteBalanceRed = 1.0000000000000000000
    // whiteBalanceBlue = 1.0000000000000000000
    p.rgb = p.rgb * 255.00000000000000000;
    vec2 invR = texture2DRect(InvLutTexture, vec2(p.r, 0.0)).sq;
    vec2 invG = texture2DRect(InvLutTexture, vec2(p.g, 0.0)).sq;
    vec2 invB = texture2DRect(InvLutTexture, vec2(p.b, 0.0)).sq;
    vec3 invX = vec3(invR.x, invG.x, invB.x);
    vec3 invY = vec3(invR.y, invG.y, invB.y);
    vec3 invA = fract(p.rgb);
    p.rgb = mix(invX, invY, invA);
    // VigCorrMode=VIGCORR_RADIAL
    float vig = 1.0;
    {
        vec2 vigCorrCenter = vec2(2759.5000000000000000, 1839.5000000000000000);
        float radiusScale=0.00030146749794849404857;
        float radialVigCorrCoeff0 = 1.0000000000000000000;
        float radialVigCorrCoeff1 = 0.18668408896774799088;
        float radialVigCorrCoeff2 = -0.93686420389978897205;
        float radialVigCorrCoeff3 = 0.63815654815826194923;
        vec2 src = texture2DRect(CoordTexture, gl_TexCoord[0].st).sq;
        vec2 d = src - vigCorrCenter;
        d *= radiusScale;
        vig = radialVigCorrCoeff0;
        float r2 = dot(d, d);
        float r = r2;
        vig += radialVigCorrCoeff1 * r;
        r *= r2;
        vig += radialVigCorrCoeff2 * r;
        r *= r2;
        vig += radialVigCorrCoeff3 * r;
    }
    vec3 exposure_whitebalance = vec3(0.98041612540644407225, 0.98041612540644407225, 0.98041612540644407225);
    p.rgb = (p.rgb * exposure_whitebalance) / vig;
    p.rgb = p.rgb * 1023.0000000000000000;
    vec2 destR = texture2DRect(DestLutTexture, vec2(p.r, 0.0)).sq;
    vec2 destG = texture2DRect(DestLutTexture, vec2(p.g, 0.0)).sq;
    vec2 destB = texture2DRect(DestLutTexture, vec2(p.b, 0.0)).sq;
    vec3 destX = vec3(destR.x, destG.x, destB.x);
    vec3 destY = vec3(destR.y, destG.y, destB.y);
    vec3 destA = fract(p.rgb);
    p.rgb = mix(destX, destY, destA);

    gl_FragColor = p;
}

gpu shader program compile time = 0.093
nona: Unsupported framebuffer format in: /build/buildd/hugin-2011.4.0+dfsg/src/hugin_base/vigra_ext/ImageTransformsGPU.cpp:713
make: *** [DSC_0037-DSC_00380000.tif] Fehler 1
Comment 6 Axel Krebs 2013-06-07 17:07:25 UTC
Benjamin,

I can not search for "process-working.png", as my system experiences a 
phase of heavy troubles. Try to save all data.

Sorry,


Axel

Am 06.06.2013 10:33, schrieb Benjamin Girault:
> https://bugs.kde.org/show_bug.cgi?id=319882
>
> --- Comment #3 from Benjamin Girault <benjamin.girault@gmail.com> ---
> Do you have the file "process-working.png" somewhere on your system (i.e. in a
> subdirectory of /usr/share/")? If not, this is a Ubuntu issue.
>
> Also, does the plugin work when stitching into JPEG?
>
Comment 7 Benjamin Girault 2013-06-07 17:57:04 UTC
Ok, so if you got the same error with hugin than with the plugin, the first thing to do is to update hugin (2012.0 is out). Next thing is (i.e. if upgrading does not help), as I request in my first comment, to send me the files, my private email.

I'll leave this bug report open while you repair your system.
Comment 8 Axel Krebs 2013-06-07 18:06:04 UTC
Am 07.06.2013 19:57, schrieb Benjamin Girault:
> https://bugs.kde.org/show_bug.cgi?id=319882
>
> --- Comment #7 from Benjamin Girault <benjamin.girault@gmail.com> ---
> Ok, so if you got the same error with hugin than with the plugin, the first
> thing to do is to update hugin (2012.0 is out). Next thing is (i.e. if
> upgrading does not help), as I request in my first comment, to send me the
> files, my private email.
>
> I'll leave this bug report open while you repair your system.
>
Thak you, I'll try my best..
Comment 9 Benjamin Girault 2013-09-15 14:57:51 UTC
Any news?
Comment 10 Benjamin Girault 2014-01-04 11:17:12 UTC
Please reopen the bug if you have more info...
Comment 11 caulier.gilles 2015-11-17 21:29:20 UTC
*** Bug 355509 has been marked as a duplicate of this bug. ***
Comment 12 Syiad 2015-11-18 09:38:06 UTC
Hi Gilles,

I see you marked bug # 355509 "DNGkonverter crash when trying to convert raw file from Nikon D750" a duplicate of this one. However, this bug here is marked RESOLVED INVALID, so how does this help with the DNGkonverter crash?

TIA
Comment 13 caulier.gilles 2015-11-18 09:41:58 UTC
The crash is due to a missing pixmap from Breeze theme. Install Oxygen theme and all will be fine.

Gilles Caulier
Comment 14 Syiad 2015-11-18 09:51:32 UTC
Created attachment 95582 [details]
New crash information added by DrKonqi

dngconverter (4.14.0) on KDE Platform 4.14.13 using Qt 4.8.6

I have installed oxygen-theme, as suggested. DNGkonverter still crashes.

The file 'process-working.png' was already installed on my system before installing oxygen-theme.

$ locate process-working.png
/usr/share/icons/Humanity/animations/16/process-working.png
/usr/share/icons/Humanity/animations/22/process-working.png
/usr/share/icons/Humanity/animations/24/process-working.png
/usr/share/icons/Humanity/animations/32/process-working.png
/usr/share/icons/oxygen/22x22/animations/process-working.png

Am I missing something?

-- Backtrace (Reduced):
#6  0x00007f1c48bc7b39 in QPixmap::isNull() const () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#7  0x00007f1c48bc896b in QPixmap::copy(QRect const&) const () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#8  0x00007f1c48bc96bf in QPixmap::QPixmap(QPixmap const&) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#9  0x00007f1c4a2a3f38 in KPixmapSequence::frameAt(int) const () from /usr/lib/libkdeui.so.5
#10 0x00007f1c4a8ca251 in KIPIPlugins::KPImagesList::slotProgressTimerDone() () from /usr/lib/digikam/libkipiplugins.so.4.14.0
Comment 15 Syiad 2015-11-18 15:27:33 UTC
OK, it now doesn't crash anymore after a reboot. Just tells me the file type is not supported, but that's a different story.
Comment 16 caulier.gilles 2016-04-12 11:49:37 UTC
*** Bug 361660 has been marked as a duplicate of this bug. ***
Comment 17 caulier.gilles 2016-04-12 16:38:23 UTC
*** Bug 361678 has been marked as a duplicate of this bug. ***
Comment 18 caulier.gilles 2016-05-10 05:41:47 UTC
*** Bug 362870 has been marked as a duplicate of this bug. ***
Comment 19 caulier.gilles 2016-06-09 04:46:27 UTC
*** Bug 364122 has been marked as a duplicate of this bug. ***