Application: kphotoalbum (5.6.1) Qt Version: 5.14.2 Frameworks Version: 5.70.0 Operating System: Linux 5.3.0-53-generic x86_64 Windowing system: X11 Distribution: KDE neon User Edition 5.18 -- Information about the crash: - What I was doing when the application crashed: I was tagging multiple pictures in kophotoalbum, I can consistently trigger the bug. I've been tagging pictures before without the same issue, but I can consistently reproduce it now. The crash can be reproduced every time. -- Backtrace: Application: KPhotoAlbum (kphotoalbum), signal: Segmentation fault Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [Current thread is 1 (Thread 0x7f26bcafdc00 (LWP 21854))] Thread 6 (Thread 0x7f2666bfe700 (LWP 21862)): #0 0x00007f26b5d539f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x557edf7b63f0) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 #1 __pthread_cond_wait_common (abstime=0x0, mutex=0x557edf7b63a0, cond=0x557edf7b63c8) at pthread_cond_wait.c:502 #2 __pthread_cond_wait (cond=0x557edf7b63c8, mutex=0x557edf7b63a0) at pthread_cond_wait.c:655 #3 0x00007f26b719d1db in QWaitConditionPrivate::wait (deadline=..., this=0x557edf7b63a0) at thread/qwaitcondition_unix.cpp:146 #4 QWaitCondition::wait (this=<optimized out>, mutex=0x557edf7b8b20, deadline=...) at thread/qwaitcondition_unix.cpp:225 #5 0x00007f26b719d359 in QWaitCondition::wait (this=this@entry=0x557edf7b8b18, mutex=mutex@entry=0x557edf7b8b20, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:208 #6 0x0000557ed9f42732 in ImageManager::AsyncLoader::next (this=0x557edf7b8af0) at ./ImageManager/AsyncLoader.cpp:180 #7 0x0000557ed9f42294 in ImageManager::ImageLoaderThread::run (this=0x557edf7b0fb0) at ./ImageManager/ImageLoaderThread.cpp:69 #8 0x00007f26b7196c2c in QThreadPrivate::start (arg=0x557edf7b0fb0) at thread/qthread_unix.cpp:342 #9 0x00007f26b5d4d6db in start_thread (arg=0x7f2666bfe700) at pthread_create.c:463 #10 0x00007f26b64d588f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 5 (Thread 0x7f266cffc700 (LWP 21861)): #0 0x00007f26b5d539f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x557edf7b63f0) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 #1 __pthread_cond_wait_common (abstime=0x0, mutex=0x557edf7b63a0, cond=0x557edf7b63c8) at pthread_cond_wait.c:502 #2 __pthread_cond_wait (cond=0x557edf7b63c8, mutex=0x557edf7b63a0) at pthread_cond_wait.c:655 #3 0x00007f26b719d1db in QWaitConditionPrivate::wait (deadline=..., this=0x557edf7b63a0) at thread/qwaitcondition_unix.cpp:146 #4 QWaitCondition::wait (this=<optimized out>, mutex=0x557edf7b8b20, deadline=...) at thread/qwaitcondition_unix.cpp:225 #5 0x00007f26b719d359 in QWaitCondition::wait (this=this@entry=0x557edf7b8b18, mutex=mutex@entry=0x557edf7b8b20, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:208 #6 0x0000557ed9f42732 in ImageManager::AsyncLoader::next (this=0x557edf7b8af0) at ./ImageManager/AsyncLoader.cpp:180 #7 0x0000557ed9f42294 in ImageManager::ImageLoaderThread::run (this=0x557edf7b8870) at ./ImageManager/ImageLoaderThread.cpp:69 #8 0x00007f26b7196c2c in QThreadPrivate::start (arg=0x557edf7b8870) at thread/qthread_unix.cpp:342 #9 0x00007f26b5d4d6db in start_thread (arg=0x7f266cffc700) at pthread_create.c:463 #10 0x00007f26b64d588f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 4 (Thread 0x7f266ffff700 (LWP 21860)): #0 0x00007f26b5d539f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x557edf7b63f0) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 #1 __pthread_cond_wait_common (abstime=0x0, mutex=0x557edf7b63a0, cond=0x557edf7b63c8) at pthread_cond_wait.c:502 #2 __pthread_cond_wait (cond=0x557edf7b63c8, mutex=0x557edf7b63a0) at pthread_cond_wait.c:655 #3 0x00007f26b719d1db in QWaitConditionPrivate::wait (deadline=..., this=0x557edf7b63a0) at thread/qwaitcondition_unix.cpp:146 #4 QWaitCondition::wait (this=<optimized out>, mutex=0x557edf7b8b20, deadline=...) at thread/qwaitcondition_unix.cpp:225 #5 0x00007f26b719d359 in QWaitCondition::wait (this=this@entry=0x557edf7b8b18, mutex=mutex@entry=0x557edf7b8b20, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:208 #6 0x0000557ed9f42732 in ImageManager::AsyncLoader::next (this=0x557edf7b8af0) at ./ImageManager/AsyncLoader.cpp:180 #7 0x0000557ed9f42294 in ImageManager::ImageLoaderThread::run (this=0x557edf7b87e0) at ./ImageManager/ImageLoaderThread.cpp:69 #8 0x00007f26b7196c2c in QThreadPrivate::start (arg=0x557edf7b87e0) at thread/qthread_unix.cpp:342 #9 0x00007f26b5d4d6db in start_thread (arg=0x7f266ffff700) at pthread_create.c:463 #10 0x00007f26b64d588f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 3 (Thread 0x7f267dc33700 (LWP 21857)): #0 0x00007f26b64c8bf9 in __GI___poll (fds=0x7f2670002de0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007f26afc195c9 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f26afc196dc in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f26b73e57cb in QEventDispatcherGlib::processEvents (this=0x7f2670000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #4 0x00007f26b7384d2a in QEventLoop::exec (this=this@entry=0x7f267dc32970, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225 #5 0x00007f26b7195757 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:536 #6 0x00007f26b8d4a555 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5 #7 0x00007f26b7196c2c in QThreadPrivate::start (arg=0x7f26b8fc2da0) at thread/qthread_unix.cpp:342 #8 0x00007f26b5d4d6db in start_thread (arg=0x7f267dc33700) at pthread_create.c:463 #9 0x00007f26b64d588f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 2 (Thread 0x7f267fe80700 (LWP 21856)): #0 0x00007f26b5d539f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x557edaab7778) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 #1 __pthread_cond_wait_common (abstime=0x0, mutex=0x557edaab7728, cond=0x557edaab7750) at pthread_cond_wait.c:502 #2 __pthread_cond_wait (cond=0x557edaab7750, mutex=0x557edaab7728) at pthread_cond_wait.c:655 #3 0x00007f26811c2ecb in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so #4 0x00007f26811c2ac7 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so #5 0x00007f26b5d4d6db in start_thread (arg=0x7f267fe80700) at pthread_create.c:463 #6 0x00007f26b64d588f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 1 (Thread 0x7f26bcafdc00 (LWP 21854)): [KCrash Handler] #4 0x0000557eda021488 in BackgroundJobs::HandleVideoThumbnailRequestJob::sendResult (this=this@entry=0x557edf8e0240, image=<incomplete type>) at ./BackgroundJobs/HandleVideoThumbnailRequestJob.cpp:104 #5 0x0000557eda0216a3 in BackgroundJobs::HandleVideoThumbnailRequestJob::frameLoaded (this=this@entry=0x557edf8e0240, image=<incomplete type>) at ./BackgroundJobs/HandleVideoThumbnailRequestJob.cpp:71 #6 0x0000557eda040b15 in BackgroundJobs::HandleVideoThumbnailRequestJob::qt_static_metacall (_o=0x557edf8e0240, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at ./obj-x86_64-linux-gnu/kphotoalbum_autogen/UHUIEV64BD/moc_HandleVideoThumbnailRequestJob.cpp:73 #7 0x00007f26b73c14b9 in doActivate<false> (sender=0x557ee07f2430, signal_index=3, argv=0x7ffe6036b090) at kernel/qobject.cpp:3882 #8 0x00007f26b73bbf92 in QMetaObject::activate (sender=sender@entry=0x557ee07f2430, m=m@entry=0x557eda2e78c0 <ImageManager::ExtractOneVideoFrame::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffe6036b090) at kernel/qobject.cpp:3930 #9 0x0000557eda036782 in ImageManager::ExtractOneVideoFrame::result (this=this@entry=0x557ee07f2430, _t1=...) at ./obj-x86_64-linux-gnu/kphotoalbum_autogen/NAEE7Z5ID4/moc_ExtractOneVideoFrame.cpp:146 #10 0x0000557ed9f53908 in ImageManager::ExtractOneVideoFrame::frameFetched (this=0x557ee07f2430) at ./ImageManager/ExtractOneVideoFrame.cpp:87 #11 0x0000557eda0397f5 in ImageManager::ExtractOneVideoFrame::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at ./obj-x86_64-linux-gnu/kphotoalbum_autogen/NAEE7Z5ID4/moc_ExtractOneVideoFrame.cpp:86 #12 0x00007f26b73c14b9 in doActivate<false> (sender=0x557edfe10460, signal_index=10, argv=0x7ffe6036b280) at kernel/qobject.cpp:3882 #13 0x00007f26b73bbf92 in QMetaObject::activate (sender=sender@entry=0x557edfe10460, m=m@entry=0x7f26b78527c0 <QProcess::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffe6036b280) at kernel/qobject.cpp:3930 #14 0x00007f26b72f49a1 in QProcess::finished (this=this@entry=0x557edfe10460, _t1=<optimized out>) at .moc/moc_qprocess.cpp:332 #15 0x00007f26b72fb3be in QProcessPrivate::_q_processDied (this=0x557edf901850) at io/qprocess.cpp:1181 #16 0x00007f26b72fb4f9 in QProcess::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=0x7ffe6036b400) at .moc/moc_qprocess.cpp:216 #17 0x00007f26b73c14b9 in doActivate<false> (sender=0x557ee08ac4b0, signal_index=3, argv=0x7ffe6036b400) at kernel/qobject.cpp:3882 #18 0x00007f26b73bbf92 in QMetaObject::activate (sender=sender@entry=0x557ee08ac4b0, m=m@entry=0x7f26b7854ba0 <QSocketNotifier::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffe6036b400) at kernel/qobject.cpp:3930 #19 0x00007f26b73c4cb8 in QSocketNotifier::activated (this=this@entry=0x557ee08ac4b0, _t1=<optimized out>, _t2=...) at .moc/moc_qsocketnotifier.cpp:141 #20 0x00007f26b73c5072 in QSocketNotifier::event (this=0x557ee08ac4b0, e=0x7ffe6036b6d0) at kernel/qsocketnotifier.cpp:266 #21 0x00007f26b82759ac in QApplicationPrivate::notify_helper (this=this@entry=0x557eda90b710, receiver=receiver@entry=0x557ee08ac4b0, e=e@entry=0x7ffe6036b6d0) at kernel/qapplication.cpp:3685 #22 0x00007f26b827cbb0 in QApplication::notify (this=0x7ffe6036b9d0, receiver=0x557ee08ac4b0, e=0x7ffe6036b6d0) at kernel/qapplication.cpp:3431 #23 0x00007f26b73864a8 in QCoreApplication::notifyInternal2 (receiver=0x557ee08ac4b0, event=0x7ffe6036b6d0) at kernel/qcoreapplication.cpp:1075 #24 0x00007f26b738667e in QCoreApplication::sendEvent (receiver=<optimized out>, event=event@entry=0x7ffe6036b6d0) at kernel/qcoreapplication.cpp:1470 #25 0x00007f26b73e6378 in socketNotifierSourceDispatch (source=0x557eda95d750) at kernel/qeventdispatcher_glib.cpp:107 #26 0x00007f26afc19417 in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #27 0x00007f26afc19650 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #28 0x00007f26afc196dc in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #29 0x00007f26b73e57cb in QEventDispatcherGlib::processEvents (this=0x557eda96ac50, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #30 0x00007f26b7384d2a in QEventLoop::exec (this=this@entry=0x7ffe6036b8f0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225 #31 0x00007f26b738e4a0 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1383 #32 0x0000557ed9e42585 in main (argc=<optimized out>, argv=<optimized out>) at ./main.cpp:132 Reported using DrKonqi
Hello Joan, Thanks for the bug report! The backtrace seems to indicate a problem with video thumbnail generation. Does the crash also happen if you simply wait (without tagging any images)? Johannes
Created attachment 129117 [details] attachment-26490-0.html It can be at any moment, sometimes I see I when scrolling photos for example, but since it was consistent this time when tagging I thought it was the cause. Might be related to background tasks as you say. If you need any more information I'd be glad to help. Joan El dg., 7 juny 2020, 0.41, Johannes Zarl-Zierl <bugzilla_noreply@kde.org> va escriure: > https://bugs.kde.org/show_bug.cgi?id=422555 > > Johannes Zarl-Zierl <johannes@zarl-zierl.at> changed: > > What |Removed |Added > > ---------------------------------------------------------------------------- > CC| |johannes@zarl-zierl.at > > --- Comment #1 from Johannes Zarl-Zierl <johannes@zarl-zierl.at> --- > Hello Joan, > > Thanks for the bug report! > > The backtrace seems to indicate a problem with video thumbnail generation. > Does the crash also happen if you simply wait (without tagging any images)? > > Johannes > > -- > You are receiving this mail because: > You reported the bug.
Created attachment 129129 [details] Script for logging calls to ffmpeg Can you try adding the attached script to your path and see if ffmpeg is having problems with some files? A quick way to add the script to your path would be: mkdir ~/temp-ffmpeg # copy script to ~/temp-ffmpeg chmod +x ~/temp-ffmpeg/ffmpeg export PATH="~/temp-ffmpeg:$PATH" kphotoalbum Afterwards, you should find a file /tmp/ffmpeg.log on your system. Of special interest would be any lines not starting with "[0]" and/or the last few lines.
Created attachment 129147 [details] ffmpeg logs Relevant part of the logs generated with Johannes's script.
I just tried with one of the files (see attached the logs of your script), and the errors are the following: cvlc /media/jjuvan/TOSHIBA_FOTOS/Fotos/2019/agost/YDXJ0002.MP4 VLC media player 3.0.8 Vetinari (revision 3.0.8-0-gf350b6b5a7) [000055a73b72d800] dummy interface: using the dummy interface module... Failed to open VDPAU backend libvdpau_i965.so: cannot open shared object file: No such file or directory [00007fc2b0d823b0] main decoder error: Timestamp conversion failed for 21354667: no reference clock [00007fc2b0d823b0] main decoder error: Could not convert timestamp 0 for faad [00007fc2b0cc1ae0] main decoder error: Timestamp conversion failed for 21390701: no reference clock [00007fc2b0cc1ae0] main decoder error: Could not convert timestamp 0 for FFmpeg [00007fc2b0cc1ae0] main decoder error: buffer deadlock prevented [00007fc2b0d823b0] main decoder error: buffer deadlock prevented
Git commit 7e0c7cb15b78c3920eadfed5f1398c2754cb91dc by Johannes Zarl-Zierl. Committed on 08/06/2020 at 23:27. Pushed by johanneszarl into branch 'master'. ExtractOneVideoFrame: fix connect statements. Fix incorrect signal/slot connection that may prevent proper error handling when extracting video frames fails. M +10 -2 ImageManager/ExtractOneVideoFrame.cpp M +8 -2 ImageManager/ExtractOneVideoFrame.h https://invent.kde.org/graphics/kphotoalbum/commit/7e0c7cb15b78c3920eadfed5f1398c2754cb91dc
Thanks for the log file and for the additional info! I think I may have found the culprit. A change in the Qt library that we didn't notice may have prevented proper error handling when ffmpeg fails to extract video thumbnails. I think I can sync Neon user edition to git master this week so that you can try the fix without compiling kphotoalbum yourself...
Great, I'll check it out when the version is updated. Thanks
*** Bug 412409 has been marked as a duplicate of this bug. ***
I've just synced the KDE Neon branch with master. You should get the updated package soon. Please report back if this fixes the crash for you... Btw. thanks for taking the time to close your related bug report - this really makes a difference for us! Cheers, Johannes
Hi Joan, Did you have time to check whether the fix works for you? Cheers, Johannes
I just realized that the 5.x branch is only used for the Neon/stable *developer* edition. I.e. you won't get the updated package in Neon user edition unless we do a proper release. We are not far from a release, but I think it will take around a month to finalize everything. Sorry for the additional delay...
Git commit c6fb6c1214e6a5b65d34573096e6ddb5dcd2deb8 by Johannes Zarl-Zierl. Committed on 24/06/2020 at 22:29. Pushed by johanneszarl into branch 'master'. Changelog M +2 -0 ChangeLog https://invent.kde.org/graphics/kphotoalbum/commit/c6fb6c1214e6a5b65d34573096e6ddb5dcd2deb8
I've marked the bug as fixed for now. If you experience any problems with 5.7.0 (once it has been released) or an up-to-date version from git then please reopen this bug (or open a new one)! Cheers, Johannes
Hi Johannes, I was waiting for the fix until you say that it wasn't comming yet. I tried compiling and ti works perfectly (I see warnings about thumbnails not being generated, but kphotoalbum is not crashing). On thing only, on the backup part tells us to use kpa-backup.sh, but it doesn't work: $ ~/.local/bin/kpa-backup.sh --backup qtpaths: could not find a Qt installation of '' QStandardPaths command line client (qtpaths) not usable!
Hi Joan! Thanks for the feedback! The issue with kpa-backup.sh seems to be a problem with your Qt installation: kpa-backup calls "qtpaths --types" to verify that qtpaths is working correctly. For some reason, this doesn't work on your system.