Bug 237183

Summary: digikam crashes on playing Quicktime movies
Product: [Applications] digikam Reporter: Gerhard <gstengel>
Component: Preview-VideoAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: martin.sandsmark, myriam
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Unspecified   
Latest Commit: Version Fixed In: 6.0.0
Sentry Crash Report:
Attachments: digikam backtrace Quicktime movie
digikam backtrace with phonon debuginfo packages installed

Description Gerhard 2010-05-11 00:13:47 UTC
Version:           1.2.0 (using KDE 4.4.3)
Installed from:    openSUSE RPMs

When I replay Quicktime movies (HD 720p with 30 fps) digikam crashes mostly after closing the _second_ movie. Note that the first movie always plays fine.

see the attached back trace.

Another video format like mp4 works fine, though!

I can play these movies without any problems with an external player like kaffeine, so there's no fundamental problem with my multimedia system.

Another little problem in this context is that the background of the icons for forward, backward and "back to collection" contains some garbage graphics data in video replay mode.
Comment 1 Gerhard 2010-05-11 00:16:16 UTC
Created attachment 43446 [details]
digikam backtrace Quicktime movie
Comment 2 caulier.gilles 2010-05-11 09:09:44 UTC
Gerhard,

There is nothing to see in your backtrace. You use 64 bits computer, that all. 

Playing video is relevant of Phonon component and a backend as Xine or gstreamer. Please check your system.

Gilles Caulier
Comment 3 Gerhard 2010-05-11 23:14:25 UTC
Hmm, too bad the backtrace is useless. Could I make it any better by installing more debuginfo packages?

I tried to play these .mov files with kaffeine, xine-ui, mplayer and kmplayer (set to phonon as player) => no problems whatsoever! Don't know what to test more...

Gerhard
Comment 4 Marcel Wiesweg 2010-05-12 17:51:05 UTC
Thread 10 (Thread 0x7f1b6ce6c910 (LWP 18175)):
[KCrash Handler]
#5  0x00007f1b73b78b83 in video_out_loop () from /usr/lib64/libxine.so.1

Crash is clearly in libxine. This can also be a binary compatibility problem within the Phonon xine backend.
Comment 5 Myriam Schweingruber 2010-05-12 19:20:13 UTC
(In reply to comment #3)
> Hmm, too bad the backtrace is useless. Could I make it any better by installing
> more debuginfo packages?
> 
> I tried to play these .mov files with kaffeine, xine-ui, mplayer and kmplayer
> (set to phonon as player) => no problems whatsoever! Don't know what to test
> more...

Could you please install the debugging information for Phonon and check your xine backend is up-to-date? Would be really nice to have a better backtrace.
Comment 6 Gerhard 2010-05-13 23:06:59 UTC
Created attachment 43552 [details]
digikam backtrace with phonon debuginfo packages installed

Hi,

here's a crash log with phonon debuginfo and debugsource packages installed.
libxine version is 1.1.18.1 from packman. Unfortunately, they don't provide a debuginfo package and I didn't manage to compile one myself.

/Gerhard
Comment 7 Myriam Schweingruber 2010-05-14 00:36:41 UTC
Backtrace from comment #6 (please paste backtraces inline so they are searchable):

See thread 7: the crash seems to be in libxine itself, not much we can do about. Please report this upstream to xine.


Thread 7 (Thread 0x7f1ae4d9e910 (LWP 5129)):
[KCrash Handler]
#5  0x00007f1aebaaab83 in video_out_loop () from /usr/lib64/libxine.so.1
#6  0x00007f1b03d2c65d in start_thread () from /lib64/libpthread.so.0
#7  0x00007f1b0561ce1d in clone () from /lib64/libc.so.6
#8  0x0000000000000000 in ?? ()

Completre backtrace:


Application: digiKam (digikam), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f1b0bcb57c0 (LWP 5119))]

Thread 14 (Thread 0x7f1af7b1f910 (LWP 5120)):
#0  0x00007f1b03d31049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f1b0631272b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00000000006ded8b in Digikam::ScanController::run (this=0xc2b8a0) at /usr/src/debug/digikam-1.2.0/digikam/scancontroller.cpp:516
#3  0x00007f1b06311775 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007f1b03d2c65d in start_thread () from /lib64/libpthread.so.0
#5  0x00007f1b0561ce1d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 13 (Thread 0x7f1aeffff910 (LWP 5122)):
#0  0x00007f1b05613d03 in poll () from /lib64/libc.so.6
#1  0x00007f1afee6859c in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f1afee688e0 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f1b0642ef06 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#4  0x00007f1b064042a2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x00007f1b0640467c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#6  0x00007f1b0630ed59 in QThread::exec() () from /usr/lib64/libQtCore.so.4
#7  0x00007f1b06311775 in ?? () from /usr/lib64/libQtCore.so.4
#8  0x00007f1b03d2c65d in start_thread () from /lib64/libpthread.so.0
#9  0x00007f1b0561ce1d in clone () from /lib64/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 12 (Thread 0x7f1aef7fe910 (LWP 5123)):
#0  0x00007f1afee6806b in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0
#1  0x00007f1afee683b1 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f1afee688e0 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f1b0642ef06 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#4  0x00007f1b064042a2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x00007f1b0640467c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#6  0x00007f1b0630ed59 in QThread::exec() () from /usr/lib64/libQtCore.so.4
#7  0x00007f1b06311775 in ?? () from /usr/lib64/libQtCore.so.4
#8  0x00007f1b03d2c65d in start_thread () from /lib64/libpthread.so.0
#9  0x00007f1b0561ce1d in clone () from /lib64/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 11 (Thread 0x7f1aeeffd910 (LWP 5124)):
#0  0x00007f1b03d31049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f1b0631272b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007f1b09180522 in Digikam::LoadSaveThread::run (this=0xda5b30) at /usr/src/debug/digikam-1.2.0/libs/threadimageio/loadsavethread.cpp:131
#3  0x00007f1b06311775 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007f1b03d2c65d in start_thread () from /lib64/libpthread.so.0
#5  0x00007f1b0561ce1d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7f1aee7fc910 (LWP 5125)):
#0  0x00007f1b05613d03 in poll () from /lib64/libc.so.6
#1  0x00007f1afee6859c in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f1afee688e0 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f1b0642ef06 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#4  0x00007f1b064042a2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x00007f1b0640467c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#6  0x00007f1b0630ed59 in QThread::exec() () from /usr/lib64/libQtCore.so.4
#7  0x00007f1b06311775 in ?? () from /usr/lib64/libQtCore.so.4
#8  0x00007f1b03d2c65d in start_thread () from /lib64/libpthread.so.0
#9  0x00007f1b0561ce1d in clone () from /lib64/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7f1aedffb910 (LWP 5126)):
#0  0x00007f1afee684c8 in ?? () from /usr/lib64/libglib-2.0.so.0
#1  0x00007f1afee688e0 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f1b0642ef06 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#3  0x00007f1b064042a2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#4  0x00007f1b0640467c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x00007f1b0630ed59 in QThread::exec() () from /usr/lib64/libQtCore.so.4
#6  0x00007f1b06311775 in ?? () from /usr/lib64/libQtCore.so.4
#7  0x00007f1b03d2c65d in start_thread () from /lib64/libpthread.so.0
#8  0x00007f1b0561ce1d in clone () from /lib64/libc.so.6
#9  0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7f1ae61da910 (LWP 5128)):
#0  0x00007f1b03d312cd in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f1aeba9c671 in metronom_sync_loop () from /usr/lib64/libxine.so.1
#2  0x00007f1b03d2c65d in start_thread () from /lib64/libpthread.so.0
#3  0x00007f1b0561ce1d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f1ae4d9e910 (LWP 5129)):
[KCrash Handler]
#5  0x00007f1aebaaab83 in video_out_loop () from /usr/lib64/libxine.so.1
#6  0x00007f1b03d2c65d in start_thread () from /lib64/libpthread.so.0
#7  0x00007f1b0561ce1d in clone () from /lib64/libc.so.6
#8  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f1ae459d910 (LWP 5130)):
#0  0x00007f1b03d2ed52 in pthread_mutex_lock () from /lib64/libpthread.so.0
#1  0x00007f1afee67d01 in g_main_context_check () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f1afee684b0 in ?? () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f1afee688e0 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#4  0x00007f1b0642ef06 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x00007f1b064042a2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#6  0x00007f1b0640467c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#7  0x00007f1b0630ed59 in QThread::exec() () from /usr/lib64/libQtCore.so.4
#8  0x00007f1aebcf8286 in Phonon::Xine::XineThread::run (this=0x1442d80) at /usr/src/debug/phonon-4.4.1/xine/xinethread.cpp:143
#9  0x00007f1b06311775 in ?? () from /usr/lib64/libQtCore.so.4
#10 0x00007f1b03d2c65d in start_thread () from /lib64/libpthread.so.0
#11 0x00007f1b0561ce1d in clone () from /lib64/libc.so.6
#12 0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f1ae3b92910 (LWP 5133)):
#0  0x00007f1b05613d03 in poll () from /lib64/libc.so.6
#1  0x00007f1ae3b98c4e in ao_alsa_handle_event_thread () from /usr/lib64/xine/plugins/1.28/xineplug_ao_out_alsa.so
#2  0x00007f1b03d2c65d in start_thread () from /lib64/libpthread.so.0
#3  0x00007f1b0561ce1d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f1ae3391910 (LWP 5134)):
#0  0x00007f1b03d31049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f1aebaad713 in ao_loop () from /usr/lib64/libxine.so.1
#2  0x00007f1b03d2c65d in start_thread () from /lib64/libpthread.so.0
#3  0x00007f1b0561ce1d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f1ae10fd910 (LWP 5135)):
#0  0x00007f1b03d31049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f1b0631272b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007f1b09180522 in Digikam::LoadSaveThread::run (this=0x172f4a0) at /usr/src/debug/digikam-1.2.0/libs/threadimageio/loadsavethread.cpp:131
#3  0x00007f1b06311775 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007f1b03d2c65d in start_thread () from /lib64/libpthread.so.0
#5  0x00007f1b0561ce1d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f1ae00fb910 (LWP 5143)):
#0  0x00007f1b03d31049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f1b0631272b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007f1b09180522 in Digikam::LoadSaveThread::run (this=0x1c5b7a0) at /usr/src/debug/digikam-1.2.0/libs/threadimageio/loadsavethread.cpp:131
#3  0x00007f1b06311775 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007f1b03d2c65d in start_thread () from /lib64/libpthread.so.0
#5  0x00007f1b0561ce1d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f1b0bcb57c0 (LWP 5119)):
#0  0x00007f1b03d312cd in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f1b063110e5 in ?? () from /usr/lib64/libQtCore.so.4
#2  0x00007f1b06311250 in QThread::msleep(unsigned long) () from /usr/lib64/libQtCore.so.4
#3  0x00007f1aebd133b2 in Phonon::Xine::Backend::~Backend (this=0xf84c20, __in_chrg=<value optimized out>) at /usr/src/debug/phonon-4.4.1/xine/backend.cpp:111
#4  0x00007f1b0b696087 in Phonon::FactoryPrivate::~FactoryPrivate (this=0xd65aa0, __in_chrg=<value optimized out>) at /usr/src/debug/phonon-4.4.1/phonon/factory.cpp:218
#5  0x00007f1b05581065 in ?? () from /lib64/libc.so.6
#6  0x00007f1b055810b5 in exit () from /lib64/libc.so.6
#7  0x00007f1b06dd6788 in ?? () from /usr/lib64/libQtGui.so.4
#8  0x00007f1b079acc58 in KApplication::xioErrhandler(_XDisplay*) () from /usr/lib64/libkdeui.so.5
#9  0x00007f1b042b72be in _XIOError () from /usr/lib64/libX11.so.6
#10 0x00007f1b042bec95 in ?? () from /usr/lib64/libX11.so.6
#11 0x00007f1b042bf547 in _XEventsQueued () from /usr/lib64/libX11.so.6
#12 0x00007f1b042a824b in XEventsQueued () from /usr/lib64/libX11.so.6
#13 0x00007f1b06e0e6dc in ?? () from /usr/lib64/libQtGui.so.4
#14 0x00007f1afee67cca in g_main_context_check () from /usr/lib64/libglib-2.0.so.0
#15 0x00007f1afee684b0 in ?? () from /usr/lib64/libglib-2.0.so.0
#16 0x00007f1afee688e0 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#17 0x00007f1b0642eeb3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#18 0x00007f1b06e0e51e in ?? () from /usr/lib64/libQtGui.so.4
#19 0x00007f1b064042a2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#20 0x00007f1b0640467c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#21 0x00007f1b064083cb in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#22 0x000000000077d34b in main (argc=<value optimized out>, argv=<value optimized out>) at /usr/src/debug/digikam-1.2.0/digikam/main.cpp:193
Comment 8 Myriam Schweingruber 2010-08-14 12:39:27 UTC
Setting status correctly.
Comment 9 caulier.gilles 2018-08-21 10:43:54 UTC
Problem is not reproducible since digiKam use QtAv framework +ffmpeg to handle video files.