Bug 435376 - Gwenview crashed in KIO::UDSEntry::UDSEntry() after viewing an image via MTP
Summary: Gwenview crashed in KIO::UDSEntry::UDSEntry() after viewing an image via MTP
Status: RESOLVED FIXED
Alias: None
Product: frameworks-kio
Classification: Frameworks and Libraries
Component: general (other bugs)
Version First Reported In: 5.68.0
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: KIO Bugs
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2021-04-05 08:30 UTC by Marton Gunyho
Modified: 2022-12-10 10:56 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marton Gunyho 2021-04-05 08:30:17 UTC
Application: gwenview (19.12.3)

Qt Version: 5.12.8
Frameworks Version: 5.68.0
Operating System: Linux 5.4.0-70-generic x86_64
Windowing system: X11
Distribution: Ubuntu 20.04.2 LTS

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

I was browsing pictures on my Android phone via MTP. I was unable to view some of the pictures, it said "Loading image failed" or "Loading meta data failed" for many of them, this may or may not be related. I found a picture I was able to view, but then when I pressed esc to go back to the folder/gallery view, the app crashed.

-- Backtrace:
Application: Gwenview (gwenview), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f58b5a3d440 (LWP 51163))]

Thread 4 (Thread 0x7f58acdd6700 (LWP 51356)):
#0  futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7f58acdd5a10, clockid=<optimized out>, expected=0, futex_word=0x55e287c79200) at ../sysdeps/nptl/futex-internal.h:320
#1  __pthread_cond_wait_common (abstime=0x7f58acdd5a10, clockid=<optimized out>, mutex=0x55e287c791b0, cond=0x55e287c791d8) at pthread_cond_wait.c:520
#2  __pthread_cond_timedwait (cond=0x55e287c791d8, mutex=0x55e287c791b0, abstime=0x7f58acdd5a10) at pthread_cond_wait.c:656
#3  0x00007f58bb714a7c in QWaitCondition::wait(QMutex*, QDeadlineTimer) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f58bb714bcb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f58bb712171 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f58bb70e9d2 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f58b9aac609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#8  0x00007f58bb39d293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f589f7fe700 (LWP 51266)):
#0  0x00007f58bb390aff in __GI___poll (fds=0x7f5888007170, nfds=3, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f58b913d1d6 in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#2  0x00007f58b912e841 in pa_mainloop_poll () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#3  0x00007f58b912eec3 in pa_mainloop_iterate () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#4  0x00007f58b912ef70 in pa_mainloop_run () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#5  0x00007f58b913d11d in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#6  0x00007f58b6fb672c in ?? () from /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-13.99.so
#7  0x00007f58b9aac609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#8  0x00007f58bb39d293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f58af854700 (LWP 51165)):
#0  0x00007ffc0ad94933 in clock_gettime ()
#1  0x00007f58bb35b235 in __GI___clock_gettime (clock_id=1, tp=0x7f58af853820) at ../sysdeps/unix/sysv/linux/clock_gettime.c:38
#2  0x00007f58bb92de45 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007f58bb92c6dd in QTimerInfoList::updateCurrentTime() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f58bb92ccb9 in QTimerInfoList::timerWait(timespec&) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f58bb92e2d6 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f58b92908ef in g_main_context_prepare () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007f58b929129b in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#8  0x00007f58b92914a3 in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#9  0x00007f58bb92e583 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007f58bb8d54db in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#11 0x00007f58bb70d785 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007f58bb134efa in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#13 0x00007f58bb70e9d2 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007f58b9aac609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#15 0x00007f58bb39d293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f58b5a3d440 (LWP 51163)):
[KCrash Handler]
#6  0x00007f58bcf216ff in KIO::UDSEntry::UDSEntry(KIO::UDSEntry const&) () from /usr/lib/x86_64-linux-gnu/libKF5KIOCore.so.5
#7  0x00007f58bd38e3af in Gwenview::ThumbnailProvider::slotResult(KJob*) () from /usr/lib/x86_64-linux-gnu/libgwenviewlib.so.5
#8  0x00007f58bb902458 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007f58bbc52c60 in KJob::result(KJob*, KJob::QPrivateSignal) () from /usr/lib/x86_64-linux-gnu/libKF5CoreAddons.so.5
#10 0x00007f58bbc5376b in KJob::finishJob(bool) () from /usr/lib/x86_64-linux-gnu/libKF5CoreAddons.so.5
#11 0x00007f58bd0a7c10 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5KIOWidgets.so.5
#12 0x00007f58bd0ac7b2 in KIO::PreviewJob::slotResult(KJob*) () from /usr/lib/x86_64-linux-gnu/libKF5KIOWidgets.so.5
#13 0x00007f58bb902458 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007f58bbc52c60 in KJob::result(KJob*, KJob::QPrivateSignal) () from /usr/lib/x86_64-linux-gnu/libKF5CoreAddons.so.5
#15 0x00007f58bbc5376b in KJob::finishJob(bool) () from /usr/lib/x86_64-linux-gnu/libKF5CoreAddons.so.5
#16 0x00007f58bcee3af8 in KIO::SimpleJob::slotFinished() () from /usr/lib/x86_64-linux-gnu/libKF5KIOCore.so.5
#17 0x00007f58bcee88ee in KIO::StatJob::slotFinished() () from /usr/lib/x86_64-linux-gnu/libKF5KIOCore.so.5
#18 0x00007f58bb902458 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x00007f58bceb4252 in KIO::SlaveInterface::dispatch(int, QByteArray const&) () from /usr/lib/x86_64-linux-gnu/libKF5KIOCore.so.5
#20 0x00007f58bceb1f4f in KIO::SlaveInterface::dispatch() () from /usr/lib/x86_64-linux-gnu/libKF5KIOCore.so.5
#21 0x00007f58bcebb152 in KIO::Slave::gotInput() () from /usr/lib/x86_64-linux-gnu/libKF5KIOCore.so.5
#22 0x00007f58bb902458 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#23 0x00007f58bb902d5a in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#24 0x00007f58bc517a66 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#25 0x00007f58bc5210f0 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#26 0x00007f58bb8d693a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#27 0x00007f58bb8d95b8 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#28 0x00007f58bb92ef67 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#29 0x00007f58b929117d in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007f58b9291400 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007f58b92914a3 in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007f58bb92e565 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#33 0x00007f58bb8d54db in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#34 0x00007f58bb8dd246 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#35 0x000055e285734aaa in ?? ()
#36 0x00007f58bb2a20b3 in __libc_start_main (main=0x55e285734600, argc=2, argv=0x7ffc0ac4f398, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffc0ac4f388) at ../csu/libc-start.c:308
#37 0x000055e28573504e in _start ()
[Inferior 1 (process 51163) detached]

The reporter indicates this bug may be a duplicate of or related to bug 415694.

Possible duplicates by query: bug 434298, bug 427716, bug 426090, bug 425619, bug 424274.

Reported using DrKonqi
Comment 1 Nate Graham 2021-04-06 00:48:21 UTC
Looks like the thumbnailer does not like generating thumbnails for MTP files. Backtrace is mostly in KIO; moving there.

However you are using very old software, unfortunately. I don't suppose there's any chance you can upgrade to a newer version of Ubuntu?
Comment 2 Marton Gunyho 2021-04-06 07:28:00 UTC
I prefer to use LTS, but thanks for letting me know, I might consider upgrading. I understand if this is possibly fixed in a newer version, you may close this if you think so.
Comment 3 Ahmad Samir 2021-04-20 15:55:54 UTC
This might not be the reason it's crashing, but in ThumbnailProvider::slotResult I would move the removeSubjob() call to the end of that method. It could be that the StatJob is removed and gets deleted before statResult() is called.
Comment 4 Justin Zobel 2022-12-01 05:22:06 UTC
Thank you for reporting this issue in KDE software. As it was reported on an older version, can we please ask you to see if you can reproduce the issue with a more recent software version?  
  
If you can confirm this issue still exists in a recent version, please change the version field and the status to "REPORTED" when replying. Thank you!
Comment 5 Marton Gunyho 2022-12-10 10:56:44 UTC
I tried today to browse pictures on the same Android phone and the "loading image/metadata failed" messages don't appear and I can't reproduce the crash. So I think this can be marked as resolved.

Since the initial report, I have upgraded to KDE Plasma 5.26.4, Frameworks 5.100.0, Qt 5.15.7 and OpenSUSE tumbleweed with kernel 6.0.10.