Bug 439944

Summary: Konquerer crashes when directory changes
Product: [Applications] krusader Reporter: Thorsten Brandau <thorsten.brandau>
Component: generalAssignee: Krusader Bugs Distribution List <krusader-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: crash CC: davide, krusader-bugs-null
Priority: NOR Keywords: drkonqi
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Thorsten Brandau 2021-07-16 12:29:08 UTC
Application: krusader (2.7.2 "Peace of Mind")

Qt Version: 5.12.7
Frameworks Version: 5.76.0
Operating System: Linux 5.3.18-59.13-preempt x86_64
Windowing system: X11
Distribution: "openSUSE Leap 15.3"

-- Information about the crash:
- What I was doing when the application crashed:
Konquerer in the background
Files streamed to directory (size change/number of files changed) on network drive (SMB mount)

The crash can be reproduced every time.

-- Backtrace:
Application: Krusader (krusader), signal: Segmentation fault
[KCrash Handler]
#4  0x00005623de24e210 in FileItem::getIcon() ()
#5  0x00005623de18d3ec in KrView::getIcon(FileItem*, bool, int) ()
#6  0x00005623de1572e7 in KrPreviews::addPreview(FileItem const*, QPixmap const&) ()
#7  0x00005623de1553ad in KrPreviewJob::slotGotPreview(KFileItem const&, QPixmap const&) ()
#8  0x00005623de155d87 in KrPreviewJob::slotFailed(KFileItem const&) ()
#9  0x00007f247b8a1eb5 in QMetaObject::activate (sender=0x5623e1f999f0, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3804
#10 0x00007f247fae9c35 in KIO::PreviewJob::failed(KFileItem const&) () from /usr/lib64/libKF5KIOWidgets.so.5
#11 0x00007f247faeaad3 in KIO::PreviewJobPrivate::determineNextFile() () from /usr/lib64/libKF5KIOWidgets.so.5
#12 0x00007f247faf0ca2 in KIO::PreviewJob::slotResult(KJob*) () from /usr/lib64/libKF5KIOWidgets.so.5
#13 0x00007f247b8a1fcf in QtPrivate::QSlotObjectBase::call (a=0x7ffc2729f0f0, r=0x5623e1f999f0, this=0x5623e1fcfa20) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#14 QMetaObject::activate (sender=0x5623e20abd40, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3784
#15 0x00007f247d64d9ec in KJob::result(KJob*, KJob::QPrivateSignal) () from /usr/lib64/libKF5CoreAddons.so.5
#16 0x00007f247d64e551 in KJob::finishJob(bool) () from /usr/lib64/libKF5CoreAddons.so.5
#17 0x00007f247e54f8b0 in KIO::SimpleJob::slotFinished() () from /usr/lib64/libKF5KIOCore.so.5
#18 0x00007f247e55b6cf in KIO::TransferJob::slotFinished() () from /usr/lib64/libKF5KIOCore.so.5
#19 0x00007f247e54dc4b in KIO::SimpleJob::slotError(int, QString const&) () from /usr/lib64/libKF5KIOCore.so.5
#20 0x00007f247b8a1fcf in QtPrivate::QSlotObjectBase::call (a=0x7ffc2729f410, r=0x5623e20abd40, this=0x5623e1f9d140) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#21 QMetaObject::activate (sender=0x5623e1cc3420, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3784
#22 0x00007f247e521fc6 in KIO::SlaveInterface::error(int, QString const&) () from /usr/lib64/libKF5KIOCore.so.5
#23 0x00007f247e5251e2 in KIO::SlaveInterface::dispatch(int, QByteArray const&) () from /usr/lib64/libKF5KIOCore.so.5
#24 0x00007f247e5227f8 in KIO::SlaveInterface::dispatch() () from /usr/lib64/libKF5KIOCore.so.5
#25 0x00007f247e529e51 in KIO::Slave::gotInput() () from /usr/lib64/libKF5KIOCore.so.5
#26 0x00007f247b8a1fcf in QtPrivate::QSlotObjectBase::call (a=0x7ffc2729f690, r=0x5623e1cc3420, this=0x5623e1450dc0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#27 QMetaObject::activate (sender=0x5623e1d06930, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3784
#28 0x00007f247b8a2a62 in QObject::event (this=0x5623e1d06930, e=<optimized out>) at kernel/qobject.cpp:1261
#29 0x00007f247c911f9c in QApplicationPrivate::notify_helper (this=this@entry=0x5623dffb6f20, receiver=receiver@entry=0x5623e1d06930, e=e@entry=0x5623e1fcab40) at kernel/qapplication.cpp:3701
#30 0x00007f247c9195b0 in QApplication::notify (this=0x7ffc2729fd70, receiver=0x5623e1d06930, e=0x5623e1fcab40) at kernel/qapplication.cpp:3447
#31 0x00007f247b8723a8 in QCoreApplication::notifyInternal2 (receiver=0x5623e1d06930, event=0x5623e1fcab40) at kernel/qcoreapplication.cpp:1088
#32 0x00007f247b87257e in QCoreApplication::sendEvent (receiver=<optimized out>, event=event@entry=0x5623e1fcab40) at kernel/qcoreapplication.cpp:1476
#33 0x00007f247b874f67 in QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x5623dff991e0) at kernel/qcoreapplication.cpp:1825
#34 0x00007f247b875508 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1679
#35 0x00007f247b8cfe13 in postEventSourceDispatch (s=0x5623e00a19b0) at kernel/qeventdispatcher_glib.cpp:276
#36 0x00007f2475526694 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#37 0x00007f2475526a30 in ?? () from /usr/lib64/libglib-2.0.so.0
#38 0x00007f2475526abc in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#39 0x00007f247b8cf42f in QEventDispatcherGlib::processEvents (this=0x5623e008a180, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#40 0x00007f247b8705fa in QEventLoop::exec (this=this@entry=0x7ffc2729fc60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#41 0x00007f247b879800 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1389
#42 0x00005623de115f2b in main ()
[Inferior 1 (process 1812) detached]

Reported using DrKonqi
Comment 1 Davide Gianforte 2021-07-17 10:10:03 UTC
This was solved in the master branch (https://invent.kde.org/utilities/krusader/-/commit/138e580a442aef8099c2c7c1b12bab709927c446), yet there is no official release.

You can try a beta/dev/git package if your distro has it, or you can compile it by yourself - check https://invent.kde.org/utilities/krusader/-/blob/master/INSTALL for instructions.

The issue is related to the "Show Preview" feature, when the panel refresh the filelist, a pending preview for a disappeared file lead to the crash.

*** This bug has been marked as a duplicate of bug 425528 ***