| Summary: | KIO, Dolphin, and file open/save dialogs hang in KSambaShare::instance() ppoll() even though samba is not used | ||
|---|---|---|---|
| Product: | [Frameworks and Libraries] frameworks-kio | Reporter: | Artur <k> |
| Component: | general | Assignee: | KIO Bugs <kio-bugs-null> |
| Status: | RESOLVED WORKSFORME | ||
| Severity: | normal | CC: | k, kdelibs-bugs-null, sitter |
| Priority: | NOR | ||
| Version First Reported In: | 6.5.0 | ||
| Target Milestone: | --- | ||
| Platform: | Gentoo Packages | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: | debug patch | ||
Either the testparm or net tools are probably broken. You will need to provide a trace with debug symbols to figure out which. Could you advise which packages should I instrument? I rebuilt qtbase, kio, kio-extras, samba, net-tools. All with the same gcc toolchain. The problem is still there. Running testparm returns: Load smb config files from /etc/samba/smb.conf Loaded services file OK. Weak crypto is allowed by GnuTLS (e.g. NTLM as a compatibility fallback) Server role: ROLE_STANDALONE When running without gdb I can also observe a testparm process that is a zombie.
I rebuilt kio with debug symbols. This is what I get in the stuck state:
(gdb) bt full
#0 0x00007ffff54496c6 in ppoll () at /lib64/libc.so.6
#1 0x00007ffff598f34d in qt_safe_poll(pollfd*, unsigned long, QDeadlineTimer) () at /usr/lib64/libQt6Core.so.6
#2 0x00007ffff58df8e4 in ??? () at /usr/lib64/libQt6Core.so.6
#3 0x00007ffff58e8ae7 in QProcess::waitForFinished(int) () at /usr/lib64/libQt6Core.so.6
#4 0x00007ffff78194d8 in KSambaSharePrivate::runProcess (progName=..., args=..., stdOut=..., stdErr=...)
at /usr/src/debug/kde-frameworks/kio-6.5.0/kio-6.5.0/src/core/ksambashare.cpp:88
process = <incomplete type>
exec = {d = {d = 0x555555e959a0, ptr = 0x555555e959b0 u"/usr/bin/testparm", size = 17}, static _empty = 0 u'\000'}
#5 0x00007ffff7819857 in KSambaSharePrivate::testparmParamValue (parameterName=...)
at /usr/src/debug/kde-frameworks/kio-6.5.0/kio-6.5.0/src/core/ksambashare.cpp:111
stdErr = {d = {d = 0x0, ptr = 0x0, size = 0}, static _empty = 0 '\000'}
stdOut = {d = {d = 0x0, ptr = 0x0, size = 0}, static _empty = 0 '\000'}
args = {<QListSpecialMethods<QString>> = {<QListSpecialMethodsBase<QString>> = {<No data fields>}, <No data fields>}, d = {d = 0x555555e4e600, ptr = 0x555555e4e610, size = 4}}
#6 0x00007ffff781ac90 in KSambaSharePrivate::setUserSharePath (this=this@entry=0x555555e7b7f0)
at /usr/src/debug/kde-frameworks/kio-6.5.0/kio-6.5.0/src/core/ksambashare.cpp:68
rawString = {d = {d = 0x7ffff795f0c0 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS__instance> >::instance()::holder>, ptr = 0x7fffffffc260 u"", size = 140737488339536}, static _empty = 0 u'\000'}
fileInfo = {d_ptr = {d = 0x0}}
#7 0x00007ffff781c8ac in KSambaSharePrivate::KSambaSharePrivate (this=0x555555e7b7f0, parent=<optimized out>)
at /usr/src/debug/kde-frameworks/kio-6.5.0/kio-6.5.0/src/core/ksambashare.cpp:42
#8 0x00007ffff781c98c in KSambaShare::KSambaShare
(this=0x7ffff795f0c0 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS__instance> >::instance()::holder>) at /usr/src/debug/kde-frameworks/kio-6.5.0/kio-6.5.0/src/core/ksambashare.cpp:455
d = <optimized out>
#9 0x00007ffff781cacf in KSambaShareSingleton::KSambaShareSingleton
(this=0x7ffff795f0c0 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS__instance> >::instance()::holder>) at /usr/src/debug/kde-frameworks/kio-6.5.0/kio-6.5.0/src/core/ksambashare.cpp:523
#10 (anonymous namespace)::Q_QGS__instance::innerFunction
(pointer=0x7ffff795f0c0 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS__instance> >::instance()::holder>) at /usr/src/debug/kde-frameworks/kio-6.5.0/kio-6.5.0/src/core/ksambashare.cpp:529
#11 QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS__instance>::Holder
(this=0x7ffff795f0c0 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS__instance> >::instance()::holder>) at /usr/include/qt6/QtCore/qglobalstatic.h:37
--Type <RET> for more, q to quit, c to continue without paging--c
#12 QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS__instance> >::instance ()
at /usr/include/qt6/QtCore/qglobalstatic.h:100
holder = {static ConstructionIsNoexcept = false, static guard = {_q_value = std::atomic<signed char> = { 0 '\000' }}, storage = {instance = {<QObject> = {<No data fields>}, static staticMetaObject = {d = {superdata = {direct = 0x7ffff5d588e0 <QObject::staticMetaObject>}, stringdata = 0x7ffff7913940 <(anonymous namespace)::qt_meta_stringdata_CLASSKSambaShareENDCLASS>, data = 0x7ffff79138e0 <qt_meta_data_CLASSKSambaShareENDCLASS>, static_metacall = 0x7ffff7817d00 <KSambaShare::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7ffff7953860 <qt_incomplete_metaTypeArray<(anonymous namespace)::qt_meta_stringdata_CLASSKSambaShareENDCLASS_t, QtPrivate::TypeAndForceComplete<KSambaShare, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> > >>, extradata = 0x0}}, d_ptr = 0x0}}}
#13 QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS__instance> >::operator() (this=<optimized out>)
at /usr/include/qt6/QtCore/qglobalstatic.h:82
#14 KSambaShare::instance () at /usr/src/debug/kde-frameworks/kio-6.5.0/kio-6.5.0/src/core/ksambashare.cpp:533
#15 0x00007ffff7829ccd in KFileItem::overlays (this=<optimized out>)
at /usr/src/debug/kde-frameworks/kio-6.5.0/kio-6.5.0/src/core/kfileitem.cpp:1261
path = {d = {d = 0x555555cd5c70, ptr = 0x555555cd5c80 u"/home/hexx/app", size = 14}, static _empty = 0 u'\000'}
url = {d = 0x555555c72170}
isLocalUrl = true
names = {<QListSpecialMethods<QString>> = {<QListSpecialMethodsBase<QString>> = {<No data fields>}, <No data fields>}, d = {d = 0x0, ptr = 0x0, size = 0}}
#16 0x00007ffff7e927db in KFileItemModelRolesUpdater::rolesData(KFileItem const&, int) ()
at /usr/lib64/libdolphinprivate.so.6
#17 0x00007ffff7e93141 in KFileItemModelRolesUpdater::applyResolvedRoles(int, KFileItemModelRolesUpdater::ResolveHint) ()
at /usr/lib64/libdolphinprivate.so.6
#18 0x00007ffff7e940b4 in KFileItemModelRolesUpdater::slotPreviewFailed(KFileItem const&) ()
at /usr/lib64/libdolphinprivate.so.6
#19 0x00007ffff5a901e7 in ??? () at /usr/lib64/libQt6Core.so.6
#20 0x00007ffff7a87679 in KIO::PreviewJob::failed (this=this@entry=0x555555e6cbb0, _t1=...)
at /usr/src/debug/kde-frameworks/kio-6.5.0/kio-6.5.0_build/src/gui/KF6KIOGui_autogen/include/moc_previewjob.cpp:203
_a = {0x0, 0x555555cd9960}
#21 0x00007ffff7a88603 in KIO::PreviewJobPrivate::determineNextFile (this=0x555555cd9890)
at /usr/src/debug/kde-frameworks/kio-6.5.0/kio-6.5.0/src/gui/previewjob.cpp:460
q = 0x555555e6cbb0
#22 0x00007ffff5a901e7 in ??? () at /usr/lib64/libQt6Core.so.6
#23 0x00007ffff70338c7 in KJob::result(KJob*, KJob::QPrivateSignal) () at /usr/lib64/libKF6CoreAddons.so.6
#24 0x00007ffff703452b in ??? () at /usr/lib64/libKF6CoreAddons.so.6
#25 0x00007ffff5a901e7 in ??? () at /usr/lib64/libQt6Core.so.6
#26 0x00007ffff78edb43 in KIO::WorkerInterface::privilegeOperationRequested (this=<optimized out>)
at /usr/src/debug/kde-frameworks/kio-6.5.0/kio-6.5.0_build/src/core/KF6KIOCore_autogen/include/moc_workerinterface_p.cpp:565
#27 KIO::WorkerInterface::dispatch (this=0x555555e2ab20, _cmd=102, rawdata=<optimized out>)
at /usr/src/debug/kde-frameworks/kio-6.5.0/kio-6.5.0/src/core/workerinterface.cpp:278
stream = {<QIODeviceBase> = {<No data fields>}, d = {d = 0x0}, dev = 0x555555e58200, owndev = true, noswap = false, byteorder = QDataStream::BigEndian, ver = 22, q_status = QDataStream::Ok, static NullCode = 4294967295, static ExtendedSize = 4294967294}
str1 = {d = {d = 0x555555ea7970, ptr = 0x555555ea7980 u"Cannot create thumbnail for directory", size = 37}, static _empty = 0 u'\000'}
i = 104
b = 0 '\000'
ul = 1439271856
#28 0x00007ffff78eb1ef in KIO::WorkerInterface::dispatch (this=0x555555e2ab20)
at /usr/src/debug/kde-frameworks/kio-6.5.0/kio-6.5.0/src/core/workerinterface.cpp:60
cmd = 102
data = {d = {d = 0x555555bc3d90, ptr = 0x555555bc3da0 "", size = 82}, static _empty = 0 '\000'}
ret = <optimized out>
#29 0x00007ffff78e80f7 in KIO::Worker::gotInput (this=0x555555e2ab20)
at /usr/src/debug/kde-frameworks/kio-6.5.0/kio-6.5.0/src/core/worker.cpp:263
#30 0x00007ffff5a901e7 in ??? () at /usr/lib64/libQt6Core.so.6
#31 0x00007ffff5a32b7b in QObject::event(QEvent*) () at /usr/lib64/libQt6Core.so.6
#32 0x00007ffff6b98835 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt6Widgets.so.6
#33 0x00007ffff5aa7c68 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt6Core.so.6
#34 0x00007ffff5accba7 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) ()
at /usr/lib64/libQt6Core.so.6
#35 0x00007ffff5884da7 in ??? () at /usr/lib64/libQt6Core.so.6
#36 0x00007ffff26f0c84 in ??? () at /usr/lib64/libglib-2.0.so.0
#37 0x00007ffff26f3d27 in ??? () at /usr/lib64/libglib-2.0.so.0
#38 0x00007ffff26f431c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#39 0x00007ffff58833d0 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
at /usr/lib64/libQt6Core.so.6
#40 0x00007ffff5ad17ba in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt6Core.so.6
#41 0x00007ffff5ad196a in QCoreApplication::exec() () at /usr/lib64/libQt6Core.so.6
#42 0x00005555555ae474 in ??? ()
#43 0x00007ffff5375f50 in ??? () at /lib64/libc.so.6
#44 0x00007ffff5376009 in __libc_start_main () at /lib64/libc.so.6
#45 0x00005555555aeb55 in ??? ()
What happens when you run `testparm -d0 -s --parameter-name "usershare path"` `testparm -d0 -s --parameter-name "usershare path"`
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed by GnuTLS (e.g. NTLM as a compatibility fallback)
bash: /var/lib/samba/usershares: No such file or directory
If I mkdir /var/lib/samba/usershares then I get:
bash: /var/lib/samba/usershares: Is a directory
In both cases testparm executes and exits immediately. Dolphin gets stuch no matter if /var/lib/samba/usershares exists or not.
Can this possibly be a glibc/kernel issue? I am running glibc-2.39-r6 but quite old kernel 4.15.0-rc7.
I also rebuilt qtbase with debug symbols:
#0 0x00007ffff54496c6 in ppoll () at /lib64/libc.so.6
#1 0x00007ffff598f34d in ppoll
(__ss=<optimized out>, __timeout=<optimized out>, __nfds=<optimized out>, __fds=<optimized out>)
at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qcore_unix.cpp:100
#2 qt_ppoll (timeout_ts=0x7fffffffbd80, nfds=4, fds=0x7fffffffbe00)
at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qcore_unix.cpp:103
#3 qt_ppoll (timeout_ts=0x7fffffffbd80, nfds=4, fds=0x7fffffffbe00)
at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qcore_unix.cpp:100
#4 qt_safe_poll (fds=fds@entry=0x7fffffffbe00, nfds=nfds@entry=4, deadline=...)
at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qcore_unix.cpp:135
ts = {tv_sec = 29, tv_nsec = 903306472}
ret = <optimized out>
remaining = std::chrono::duration = { <optimized out>ns }
#5 0x00007ffff58df8e4 in (anonymous namespace)::QProcessPoller::poll (deadline=..., this=0x7fffffffbe00)
at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/corelib/io/qprocess_unix.cpp:224
#6 QProcessPrivate::waitForFinished (this=this@entry=0x555555bda7d0, deadline=...)
at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/corelib/io/qprocess_unix.cpp:1234
poller = {pfds = {{fd = -1, events = 1, revents = 0}, {fd = -1, events = 1, revents = 0}, {fd = -1, events = 1, revents = 0}, {fd = 53, events = 1, revents = 0}}}
ret = <optimized out>
#7 0x00007ffff58e8ae7 in QProcess::waitForFinished (this=this@entry=0x7fffffffbed0, msecs=msecs@entry=30000)
at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/corelib/io/qprocess.cpp:2084
d = 0x555555bda7d0
deadline = {static Forever = QDeadlineTimer::ForeverConstant::Forever, t1 = 2273016157442, t2 = 0, type = 1}
#8 0x00007ffff78194d8 in KSambaSharePrivate::runProcess (progName=..., args=..., stdOut=..., stdErr=...)
at /usr/src/debug/kde-frameworks/kio-6.5.0/kio-6.5.0/src/core/ksambashare.cpp:88
process = {<QIODevice> = {<QObject> = {_vptr.QObject = 0x7ffff5d5d1a8 <vtable for QProcess+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff5c0a820 <(anonymous namespace)::qt_meta_stringdata_CLASSQObjectENDCLASS>, data = 0x7ffff5c0a700 <qt_meta_data_CLASSQObjectENDCLASS>, static_metacall = 0x7ffff5a6f860 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7ffff5d60320 <qt_incomplete_metaTypeArray<(anonymous namespace)::qt_meta_stringdata_CLASSQObjectENDCLASS_t, QtPrivate::TypeAndForceComplete<QString, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<QObject, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QObject*, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::i--Type <RET> for more, q to quit, c to continue without paging--c
ntegral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QString const&, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QObject*, std::integral_constant<bool, false> > >>, extradata = 0x0}}, d_ptr = {d = 0x555555bda7d0}}, <QIODeviceBase> = {<No data fields>}, static staticMetaObject = {d = {superdata = {direct = 0x7ffff5d588e0 <QObject::staticMetaObject>}, stringdata = 0x7ffff5c10f60 <(anonymous namespace)::qt_meta_stringdata_CLASSQIODeviceENDCLASS>, data = 0x7ffff5c10e40 <qt_meta_data_CLASSQIODeviceENDCLASS>, static_metacall = 0x7ffff5a9dad0 <QIODevice::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7ffff5d62960 <qt_incomplete_metaTypeArray<(anonymous namespace)::qt_meta_stringdata_CLASSQIODeviceENDCLASS_t, QtPrivate::TypeAndForceComplete<QIODevice, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<int, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<long long, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<int, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<long long, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> > >>, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7ffff5d62ca0 <QIODevice::staticMetaObject>}, stringdata = 0x7ffff5b7fc60 <(anonymous namespace)::qt_meta_stringdata_CLASSQProcessENDCLASS>, data = 0x7ffff5b7f940 <qt_meta_data_CLASSQProcessENDCLASS>, static_metacall = 0x7ffff58e8bb0 <QProcess::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7ffff5d5bd80 <qt_incomplete_metaTypeArray<(anonymous namespace)::qt_meta_stringdata_CLASSQProcessENDCLASS_t, QtPrivate::TypeAndForceComplete<QProcess::ProcessError, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<QProcess::ProcessState, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<QProcess::ProcessChannel, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<QProcess::ProcessChannelMode, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<QProcess::InputChannelMode, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<QProcess::ExitStatus, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<QProcess, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<int, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QProcess::ExitStatus, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<int, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QProcess::ProcessError, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QProcess::ProcessState, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<bool, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<bool, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<bool, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<bool, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> > >>, extradata = 0x0}}}
exec = {d = {d = 0x555555be24d0, ptr = 0x555555be24e0 u"/usr/bin/testparm", size = 17}, static _empty = 0 u'\000'}
#9 0x00007ffff7819857 in KSambaSharePrivate::testparmParamValue (parameterName=...)
at /usr/src/debug/kde-frameworks/kio-6.5.0/kio-6.5.0/src/core/ksambashare.cpp:111
stdErr = {d = {d = 0x0, ptr = 0x0, size = 0}, static _empty = 0 '\000'}
stdOut = {d = {d = 0x0, ptr = 0x0, size = 0}, static _empty = 0 '\000'}
args = {<QListSpecialMethods<QString>> = {<QListSpecialMethodsBase<QString>> = {<No data fields>}, <No data fields>}, d = {d = 0x555555caccc0, ptr = 0x555555caccd0, size = 4}}
#10 0x00007ffff781ac90 in KSambaSharePrivate::setUserSharePath (this=this@entry=0x5555564f4050)
at /usr/src/debug/kde-frameworks/kio-6.5.0/kio-6.5.0/src/core/ksambashare.cpp:68
rawString = {d = {d = 0x7ffff795f0c0 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS__instance> >::instance()::holder>, ptr = 0x7fffffffc260 u"", size = 140737488339536}, static _empty = 0 u'\000'}
fileInfo = {d_ptr = {d = 0x0}}
#11 0x00007ffff781c8ac in KSambaSharePrivate::KSambaSharePrivate (this=0x5555564f4050, parent=<optimized out>)
at /usr/src/debug/kde-frameworks/kio-6.5.0/kio-6.5.0/src/core/ksambashare.cpp:42
#12 0x00007ffff781c98c in KSambaShare::KSambaShare
(this=0x7ffff795f0c0 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS__instance> >::instance()::holder>) at /usr/src/debug/kde-frameworks/kio-6.5.0/kio-6.5.0/src/core/ksambashare.cpp:455
d = <optimized out>
#13 0x00007ffff781cacf in KSambaShareSingleton::KSambaShareSingleton
(this=0x7ffff795f0c0 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS__instance> >::instance()::holder>) at /usr/src/debug/kde-frameworks/kio-6.5.0/kio-6.5.0/src/core/ksambashare.cpp:523
#14 (anonymous namespace)::Q_QGS__instance::innerFunction
(pointer=0x7ffff795f0c0 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS__instance> >::instance()::holder>) at /usr/src/debug/kde-frameworks/kio-6.5.0/kio-6.5.0/src/core/ksambashare.cpp:529
#15 QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS__instance>::Holder
(this=0x7ffff795f0c0 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS__instance> >::instance()::holder>) at /usr/include/qt6/QtCore/qglobalstatic.h:37
#16 QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS__instance> >::instance ()
at /usr/include/qt6/QtCore/qglobalstatic.h:100
holder = {static ConstructionIsNoexcept = false, static guard = {_q_value = std::atomic<signed char> = { 0 '\000' }}, storage = {instance = {<QObject> = {_vptr.QObject = 0x7ffff7954828 <vtable for KSambaShare+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff5c0a820 <(anonymous namespace)::qt_meta_stringdata_CLASSQObjectENDCLASS>, data = 0x7ffff5c0a700 <qt_meta_data_CLASSQObjectENDCLASS>, static_metacall = 0x7ffff5a6f860 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7ffff5d60320 <qt_incomplete_metaTypeArray<(anonymous namespace)::qt_meta_stringdata_CLASSQObjectENDCLASS_t, QtPrivate::TypeAndForceComplete<QString, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<QObject, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QObject*, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QString const&, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QObject*, std::integral_constant<bool, false> > >>, extradata = 0x0}}, d_ptr = {d = 0x555555d690b0}}, static staticMetaObject = {d = {superdata = {direct = 0x7ffff5d588e0 <QObject::staticMetaObject>}, stringdata = 0x7ffff7913940 <(anonymous namespace)::qt_meta_stringdata_CLASSKSambaShareENDCLASS>, data = 0x7ffff79138e0 <qt_meta_data_CLASSKSambaShareENDCLASS>, static_metacall = 0x7ffff7817d00 <KSambaShare::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7ffff7953860 <qt_incomplete_metaTypeArray<(anonymous namespace)::qt_meta_stringdata_CLASSKSambaShareENDCLASS_t, QtPrivate::TypeAndForceComplete<KSambaShare, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> > >>, extradata = 0x0}}, d_ptr = 0x0}}}
Very strange. Can you build with a patch perhaps? I may need to add some debug logging to figure this out. I can try a patch. Some more observations:
1. Renaming /usr/bin/testparm so that it is not found helps and Dolphin never gets stuck (but I'd rather have a working samba installation).
2. I built this minimal test piece based on KSambaSharePrivate::setUserSharePath() using the exact same toolchain & Qt6, and it runs fine (completes immediately):
#include <QDebug>
#include <QProcess>
#include <QStandardPaths>
int main(int argc, char *argv[])
{
const QStringList args{
QStringLiteral("-d0"),
QStringLiteral("-s"),
QStringLiteral("--parameter-name"),
QStringLiteral("usershare path"),
};
QProcess process;
process.setProcessChannelMode(QProcess::SeparateChannels);
const QString exec = QStandardPaths::findExecutable("/usr/bin/testparm");
if (exec.isEmpty()) {
qWarning() << "Could not find an executable named:" << "/usr/bin/testparm";
return -1;
}
process.start(exec, args);
process.waitForFinished();
QByteArray stdOut = process.readAllStandardOutput();
QByteArray stdErr = process.readAllStandardError();
return process.exitCode();
}
Created attachment 174402 [details]
debug patch
Please patch your KIO and then run the following command to collect output and attach it here
QT_LOGGING_RULES="kf.kio.core=true" dolphin
I built KIO with patch and this is the full output:
$ QT_LOGGING_RULES="kf.kio.core=true" dolphin
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/timeline.so" supports protocols QList("timeline")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/tags.so" supports protocols QList("tags")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/baloosearch.so" supports protocols QList("baloosearch")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/activities.so" supports protocols QList("activities")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/recentlyused.so" supports protocols QList("recentlyused")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/filter.so" supports protocols QList("bzip", "bzip2", "gzip", "lzma", "xz", "zstd")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/info.so" supports protocols QList("info")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/archive.so" supports protocols QList("ar", "sevenz", "tar", "zip")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/fish.so" supports protocols QList("fish")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/thumbnail.so" supports protocols QList("thumbnail")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/sftp.so" supports protocols QList("sftp")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_filenamesearch.so" supports protocols QList("filenamesearch")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_fonts.so" supports protocols QList("fonts")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/applications.so" supports protocols QList("applications", "programs")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/desktop.so" supports protocols QList("desktop")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/ldap.so" supports protocols QList("ldap", "ldaps")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/akonadi.so" supports protocols QList("akonadi")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_bluetooth.so" supports protocols QList("bluetooth")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_obexftp.so" supports protocols QList("obexftp")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/bookmarks.so" supports protocols QList("bookmarks")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kdeconnect.so" supports protocols QList("kdeconnect")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_ftp.so" supports protocols QList("ftp")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_file.so" supports protocols QList("file")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_http.so" supports protocols QList("http", "https", "webdav", "webdavs")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_remote.so" supports protocols QList("remote")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_trash.so" supports protocols QList("trash")
kf.kio.core: Refilling KProtocolInfoFactory cache in the hope to find "mtp"
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/timeline.so" supports protocols QList("timeline")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/tags.so" supports protocols QList("tags")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/baloosearch.so" supports protocols QList("baloosearch")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/activities.so" supports protocols QList("activities")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/recentlyused.so" supports protocols QList("recentlyused")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/filter.so" supports protocols QList("bzip", "bzip2", "gzip", "lzma", "xz", "zstd")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/info.so" supports protocols QList("info")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/archive.so" supports protocols QList("ar", "sevenz", "tar", "zip")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/fish.so" supports protocols QList("fish")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/thumbnail.so" supports protocols QList("thumbnail")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/sftp.so" supports protocols QList("sftp")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_filenamesearch.so" supports protocols QList("filenamesearch")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_fonts.so" supports protocols QList("fonts")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/applications.so" supports protocols QList("applications", "programs")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/desktop.so" supports protocols QList("desktop")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/ldap.so" supports protocols QList("ldap", "ldaps")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/akonadi.so" supports protocols QList("akonadi")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_bluetooth.so" supports protocols QList("bluetooth")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_obexftp.so" supports protocols QList("obexftp")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/bookmarks.so" supports protocols QList("bookmarks")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kdeconnect.so" supports protocols QList("kdeconnect")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_ftp.so" supports protocols QList("ftp")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_file.so" supports protocols QList("file")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_http.so" supports protocols QList("http", "https", "webdav", "webdavs")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_remote.so" supports protocols QList("remote")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_trash.so" supports protocols QList("trash")
kf.kio.core: Refilling KProtocolInfoFactory cache in the hope to find "afc"
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/timeline.so" supports protocols QList("timeline")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/tags.so" supports protocols QList("tags")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/baloosearch.so" supports protocols QList("baloosearch")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/activities.so" supports protocols QList("activities")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/recentlyused.so" supports protocols QList("recentlyused")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/filter.so" supports protocols QList("bzip", "bzip2", "gzip", "lzma", "xz", "zstd")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/info.so" supports protocols QList("info")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/archive.so" supports protocols QList("ar", "sevenz", "tar", "zip")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/fish.so" supports protocols QList("fish")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/thumbnail.so" supports protocols QList("thumbnail")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/sftp.so" supports protocols QList("sftp")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_filenamesearch.so" supports protocols QList("filenamesearch")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_fonts.so" supports protocols QList("fonts")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/applications.so" supports protocols QList("applications", "programs")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/desktop.so" supports protocols QList("desktop")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/ldap.so" supports protocols QList("ldap", "ldaps")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/akonadi.so" supports protocols QList("akonadi")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_bluetooth.so" supports protocols QList("bluetooth")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_obexftp.so" supports protocols QList("obexftp")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/bookmarks.so" supports protocols QList("bookmarks")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kdeconnect.so" supports protocols QList("kdeconnect")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_ftp.so" supports protocols QList("ftp")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_file.so" supports protocols QList("file")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_http.so" supports protocols QList("http", "https", "webdav", "webdavs")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_remote.so" supports protocols QList("remote")
kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_trash.so" supports protocols QList("trash")
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::Fstab::FstabStorageAccess::repairRequested(QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::Fstab::FstabStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::Fstab::FstabStorageAccess::repairRequested(QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::Fstab::FstabStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
kf.kio.core: 0x7f46eaaaf6c0 Creating threaded worker
qt.svg: Invalid path data; path truncated.
kf.kio.core: 0x7f46e9ef86c0 Creating threaded worker
kf.kio.core: 0x7f46e96f76c0 Creating threaded worker
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::Fstab::FstabStorageAccess::repairRequested(QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::Fstab::FstabStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::Fstab::FstabStorageAccess::repairRequested(QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::Fstab::FstabStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
kf.kio.core: 0x7f46e8ef66c0 Creating threaded worker
kf.kio.core: 0x7f46cffff6c0 Creating threaded worker
qt.svg: Invalid path data; path truncated.
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed by GnuTLS (e.g. NTLM as a compatibility fallback)
/var/lib/samba/usershares
----------------------------------------------------------------
I also run it under strace and it seems like everything gets stuck in the ppoll syscall. I think my next step will be to try a more recent kernel. If ppoll or glibc was broken I should see way more problems by now.
statx(AT_FDCWD, "/usr/local/sbin/testparm", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_ALL, 0x7fffb0a8dfd0) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/usr/local/bin/testparm", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_ALL, 0x7fffb0a8dfd0) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/usr/sbin/testparm", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_ALL, 0x7fffb0a8dfd0) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/usr/bin/testparm", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_ALL, {stx_mask=STATX_ALL, stx_attributes=0, stx_mode=S_IFREG|0755, stx_size=42944, ...}) = 0
access("/usr/bin/testparm", X_OK) = 0
getcwd("/tmp", 4096) = 5
statx(AT_FDCWD, "/usr/local/sbin/testparm", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_ALL, 0x7fffb0a8e000) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/usr/local/bin/testparm", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_ALL, 0x7fffb0a8e000) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/usr/sbin/testparm", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_ALL, 0x7fffb0a8e000) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/usr/bin/testparm", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_ALL, {stx_mask=STATX_ALL, stx_attributes=0, stx_mode=S_IFREG|0755, stx_size=42944, ...}) = 0
access("/usr/bin/testparm", X_OK) = 0
pipe2([26, 45], O_CLOEXEC) = 0
pipe2([46, 47], O_CLOEXEC) = 0
write(4, "\1\0\0\0\0\0\0\0", 8) = 8
rt_sigprocmask(SIG_SETMASK, ~[RTMIN RT_1], [], 8) = 0
pipe2([48, 49], O_CLOEXEC) = 0
eventfd2(0, EFD_CLOEXEC) = 50
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f66ce32ac10) = 26354
write(50, "*\0\0\0\0\0\0\0", 8) = 8
close(50) = 0
close(47) = 0
close(26) = 0
fcntl(45, F_GETFL) = 0x1 (flags O_WRONLY)
fcntl(45, F_SETFL, O_WRONLY|O_NONBLOCK) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
ppoll([{fd=46, events=POLLIN}], 1, {tv_sec=29, tv_nsec=999999552}, NULL, 8) = 1 ([{fd=46, revents=POLLHUP}], left {tv_sec=29, tv_nsec=998886341})
read(46, "", 512) = 0
write(4, "\1\0\0\0\0\0\0\0", 8) = 8
close(46) = 0
write(4, "\1\0\0\0\0\0\0\0", 8) = 8
ppoll([{fd=-1}, {fd=-1}, {fd=-1}, {fd=48, events=POLLIN}], 4, {tv_sec=29, tv_nsec=998541602}, NULL, 8Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed by GnuTLS (e.g. NTLM as a compatibility fallback)
/var/lib/samba/usershares
) = ? ERESTARTNOHAND (To be restarted if no handler)
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=26354, si_uid=500, si_status=0, si_utime=1 /* 0.01 s */, si_stime=0} ---
ppoll([{fd=-1}, {fd=-1}, {fd=-1}, {fd=48, events=POLLIN}], 4, {tv_sec=29, tv_nsec=978383752}, NULL, 8) = 0 (Timeout)
write(2, "QProcess: Destroyed while proces"..., 74QProcess: Destroyed while process ("/usr/bin/testparm") is still running.
) = 74
kill(26354, SIGKILL) = 0
ppoll([{fd=-1}, {fd=-1}, {fd=-1}, {fd=48, events=POLLIN}], 4, {tv_sec=29, tv_nsec=999999034}, NULL, 8
I upgraded the kernel to 6.11.2 and the problem is gone. It must be one of the rare low-level qt/glibc/kernel interactions. |
SUMMARY I recently updated from 5 to 6.5.0. Dolphin freezes for several minutes when started. Other apps also get stuck in the file open/save dialogs. The freeze happens in KSambaShare::instance() ppoll(). There are no samba mounts in use. There are no samba daemons running so it is not network related (like "freeze-on-NFS"). STEPS TO REPRODUCE 1. Start Dolphin... 2. ...Dolphin hangs 1. Start Kolourpaint 2. Press "Open..." button 3. Kolourpaint hangs OBSERVED RESULT Application freezes for a couple (2-3?) minutes. EXPECTED RESULT Application does not freeze and files are displayed immediately. SOFTWARE/OS VERSIONS Linux/KDE Plasma: Gentoo on amd64 KDE Plasma Version: 6.5.0 KDE Frameworks Version: 6.5.0 Qt Version: 6.7.2-r2 Samba: 4.18.9 ADDITIONAL INFORMATION gdb trace from Dolphin getting stuck at startup: 0x00007ffff54496c6 in ppoll () from /lib64/libc.so.6 (gdb) bt 100 #0 0x00007ffff54496c6 in ppoll () at /lib64/libc.so.6 #1 0x00007ffff598f34d in qt_safe_poll(pollfd*, unsigned long, QDeadlineTimer) () at /usr/lib64/libQt6Core.so.6 #2 0x00007ffff58df8e4 in ??? () at /usr/lib64/libQt6Core.so.6 #3 0x00007ffff58e8ae7 in QProcess::waitForFinished(int) () at /usr/lib64/libQt6Core.so.6 #4 0x00007ffff78194d8 in ??? () at /usr/lib64/libKF6KIOCore.so.6 #5 0x00007ffff7819857 in ??? () at /usr/lib64/libKF6KIOCore.so.6 #6 0x00007ffff781ac90 in ??? () at /usr/lib64/libKF6KIOCore.so.6 #7 0x00007ffff781c8ac in ??? () at /usr/lib64/libKF6KIOCore.so.6 #8 0x00007ffff781c98c in ??? () at /usr/lib64/libKF6KIOCore.so.6 #9 0x00007ffff781cacf in KSambaShare::instance() () at /usr/lib64/libKF6KIOCore.so.6 #10 0x00007ffff7829ccd in KFileItem::overlays() const () at /usr/lib64/libKF6KIOCore.so.6 #11 0x00007ffff7e927db in KFileItemModelRolesUpdater::rolesData(KFileItem const&, int) () at /usr/lib64/libdolphinprivate.so.6 #12 0x00007ffff7e93141 in KFileItemModelRolesUpdater::applyResolvedRoles(int, KFileItemModelRolesUpdater::ResolveHint) () at /usr/lib64/libdolphinprivate.so.6 #13 0x00007ffff7e940b4 in KFileItemModelRolesUpdater::slotPreviewFailed(KFileItem const&) () at /usr/lib64/libdolphinprivate.so.6 #14 0x00007ffff5a901e7 in ??? () at /usr/lib64/libQt6Core.so.6 #15 0x00007ffff7a87679 in KIO::PreviewJob::failed(KFileItem const&) () at /usr/lib64/libKF6KIOGui.so.6 #16 0x00007ffff7a88603 in ??? () at /usr/lib64/libKF6KIOGui.so.6 #17 0x00007ffff5a901e7 in ??? () at /usr/lib64/libQt6Core.so.6 #18 0x00007ffff70338c7 in KJob::result(KJob*, KJob::QPrivateSignal) () at /usr/lib64/libKF6CoreAddons.so.6 #19 0x00007ffff703452b in ??? () at /usr/lib64/libKF6CoreAddons.so.6 #20 0x00007ffff5a901e7 in ??? () at /usr/lib64/libQt6Core.so.6 #21 0x00007ffff78edb43 in ??? () at /usr/lib64/libKF6KIOCore.so.6 #22 0x00007ffff78eb1ef in ??? () at /usr/lib64/libKF6KIOCore.so.6 #23 0x00007ffff78e80f7 in ??? () at /usr/lib64/libKF6KIOCore.so.6 #24 0x00007ffff5a901e7 in ??? () at /usr/lib64/libQt6Core.so.6 #25 0x00007ffff5a32b7b in QObject::event(QEvent*) () at /usr/lib64/libQt6Core.so.6 #26 0x00007ffff6b98835 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt6Widgets.so.6 #27 0x00007ffff5aa7c68 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt6Core.so.6 #28 0x00007ffff5accba7 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib64/libQt6Core.so.6 #29 0x00007ffff5884da7 in ??? () at /usr/lib64/libQt6Core.so.6 #30 0x00007ffff26f0c84 in ??? () at /usr/lib64/libglib-2.0.so.0 #31 0x00007ffff26f3d27 in ??? () at /usr/lib64/libglib-2.0.so.0 #32 0x00007ffff26f431c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #33 0x00007ffff58833d0 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt6Core.so.6 #34 0x00007ffff5ad17ba in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt6Core.so.6 #35 0x00007ffff5ad196a in QCoreApplication::exec() () at /usr/lib64/libQt6Core.so.6 #36 0x00005555555ae474 in ??? () #37 0x00007ffff5375f50 in ??? () at /lib64/libc.so.6 #38 0x00007ffff5376009 in __libc_start_main () at /lib64/libc.so.6 #39 0x00005555555aeb55 in ??? () gdb trace from Kolourpaint after open file button is pressed: Thread 1 "kolourpaint" received signal SIGINT, Interrupt. 0x00007ffff5ba76c6 in ppoll () from /lib64/libc.so.6 (gdb) bt 100 #0 0x00007ffff5ba76c6 in ppoll () at /lib64/libc.so.6 #1 0x00007ffff61cb34d in qt_safe_poll(pollfd*, unsigned long, QDeadlineTimer) () at /usr/lib64/libQt6Core.so.6 #2 0x00007ffff611b8e4 in ??? () at /usr/lib64/libQt6Core.so.6 #3 0x00007ffff6124ae7 in QProcess::waitForFinished(int) () at /usr/lib64/libQt6Core.so.6 #4 0x00007ffff79b94d8 in ??? () at /usr/lib64/libKF6KIOCore.so.6 #5 0x00007ffff79b9857 in ??? () at /usr/lib64/libKF6KIOCore.so.6 #6 0x00007ffff79bac90 in ??? () at /usr/lib64/libKF6KIOCore.so.6 #7 0x00007ffff79bc8ac in ??? () at /usr/lib64/libKF6KIOCore.so.6 #8 0x00007ffff79bc98c in ??? () at /usr/lib64/libKF6KIOCore.so.6 #9 0x00007ffff79bcacf in KSambaShare::instance() () at /usr/lib64/libKF6KIOCore.so.6 #10 0x00007ffff79c9ccd in KFileItem::overlays() const () at /usr/lib64/libKF6KIOCore.so.6 #11 0x00007ffff566daa2 in KDirModel::data(QModelIndex const&, int) const () at /usr/lib64/libKF6KIOWidgets.so.6 #12 0x00007ffff612c616 in QSortFilterProxyModel::data(QModelIndex const&, int) const () at /usr/lib64/libQt6Core.so.6 #13 0x00007ffff5686f02 in ??? () at /usr/lib64/libKF6KIOWidgets.so.6 #14 0x00007ffff5687686 in ??? () at /usr/lib64/libKF6KIOWidgets.so.6 #15 0x00007ffff5687d22 in KFileItemDelegate::sizeHint(QStyleOptionViewItem const&, QModelIndex const&) const () at /usr/lib64/libKF6KIOWidgets.so.6 #16 0x00007ffff7056100 in ??? () at /usr/lib64/libQt6Widgets.so.6 #17 0x00007ffff6ff59f0 in ??? () at /usr/lib64/libQt6Widgets.so.6 #18 0x00007ffff6ff5bdd in QListView::doItemsLayout() () at /usr/lib64/libQt6Widgets.so.6 #19 0x00007ffff6ff5dd3 in QListView::rectForIndex(QModelIndex const&) const () at /usr/lib64/libQt6Widgets.so.6 #20 0x00007ffff6ff62d2 in QListView::visualRect(QModelIndex const&) const () at /usr/lib64/libQt6Widgets.so.6 #21 0x00007ffff7e1bd9b in ??? () at /usr/lib64/libKF6KIOFileWidgets.so.6 #22 0x00007ffff7e1d999 in ??? () at /usr/lib64/libKF6KIOFileWidgets.so.6 #23 0x00007ffff62cc1e7 in ??? () at /usr/lib64/libQt6Core.so.6 #24 0x00007ffff7a554c9 in KCoreDirLister::newItems(KFileItemList const&) () at /usr/lib64/libKF6KIOCore.so.6 #25 0x00007ffff7a5a765 in ??? () at /usr/lib64/libKF6KIOCore.so.6 #26 0x00007ffff7a6ea10 in ??? () at /usr/lib64/libKF6KIOCore.so.6 #27 0x00007ffff62cc1e7 in ??? () at /usr/lib64/libQt6Core.so.6 #28 0x00007ffff7a15668 in KIO::ListJob::entries(KIO::Job*, QList<KIO::UDSEntry> const&) () at /usr/lib64/libKF6KIOCore.so.6 #29 0x00007ffff62cc1e7 in ??? () at /usr/lib64/libQt6Core.so.6 #30 0x00007ffff7a8dd1b in ??? () at /usr/lib64/libKF6KIOCore.so.6 #31 0x00007ffff7a8b1ef in ??? () at /usr/lib64/libKF6KIOCore.so.6 #32 0x00007ffff7a880f7 in ??? () at /usr/lib64/libKF6KIOCore.so.6 #33 0x00007ffff62cc1e7 in ??? () at /usr/lib64/libQt6Core.so.6 #34 0x00007ffff626eb7b in QObject::event(QEvent*) () at /usr/lib64/libQt6Core.so.6 #35 0x00007ffff73bb835 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt6Widgets.so.6 #36 0x00007ffff62e3c68 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt6Core.so.6 #37 0x00007ffff6308ba7 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib64/libQt6Core.so.6 #38 0x00007ffff60c0da7 in ??? () at /usr/lib64/libQt6Core.so.6 #39 0x00007ffff4de4c84 in ??? () at /usr/lib64/libglib-2.0.so.0 #40 0x00007ffff4de7d27 in ??? () at /usr/lib64/libglib-2.0.so.0 #41 0x00007ffff4de831c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #42 0x00007ffff60bf3d0 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt6Core.so.6 #43 0x00007ffff630d7ba in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt6Core.so.6 #44 0x00007ffff71986c7 in QDialog::exec() () at /usr/lib64/libQt6Widgets.so.6 #45 0x00007ffff71985ce in QDialog::exec() () at /usr/lib64/libQt6Widgets.so.6 #46 0x00005555555f0f0f in ??? () #47 0x00005555555f314f in ??? () #48 0x00007ffff62cc4c3 in ??? () at /usr/lib64/libQt6Core.so.6 #49 0x00007ffff6b54f56 in QAction::triggered(bool) () at /usr/lib64/libQt6Gui.so.6 #50 0x00007ffff6b579a1 in QAction::activate(QAction::ActionEvent) () at /usr/lib64/libQt6Gui.so.6 #51 0x00007ffff72d3238 in ??? () at /usr/lib64/libQt6Widgets.so.6 #52 0x00007ffff72d345b in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /usr/lib64/libQt6Widgets.so.6 #53 0x00007ffff710b2fb in QToolButton::mouseReleaseEvent(QMouseEvent*) () at /usr/lib64/libQt6Widgets.so.6 #54 0x00007ffff73cb017 in QWidget::event(QEvent*) () at /usr/lib64/libQt6Widgets.so.6 #55 0x00007ffff73bb835 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt6Widgets.so.6 #56 0x00007ffff73bc69c in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt6Widgets.so.6 #57 0x00007ffff62e3c68 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt6Core.so.6 #58 0x00007ffff73c2ff3 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at /usr/lib64/libQt6Widgets.so.6 #59 0x00007ffff73c8c98 in ??? () at /usr/lib64/libQt6Widgets.so.6 #60 0x00007ffff73cc800 in ??? () at /usr/lib64/libQt6Widgets.so.6 #61 0x00007ffff73bb835 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt6Widgets.so.6 #62 0x00007ffff62e3c68 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt6Core.so.6 #63 0x00007ffff68458cf in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib64/libQt6Gui.so.6 #64 0x00007ffff689c89c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt6Gui.so.6 #65 0x00007fffeffb134e in ??? () at /usr/lib64/qt6/plugins/platforms/../../../libQt6XcbQpa.so.6 #66 0x00007ffff4de4c84 in ??? () at /usr/lib64/libglib-2.0.so.0 #67 0x00007ffff4de7d27 in ??? () at /usr/lib64/libglib-2.0.so.0 #68 0x00007ffff4de831c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #69 0x00007ffff60bf3d0 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt6Core.so.6 #70 0x00007ffff630d7ba in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt6Core.so.6 #71 0x00007ffff630d96a in QCoreApplication::exec() () at /usr/lib64/libQt6Core.so.6 #72 0x00005555555a49d5 in ??? () #73 0x00007ffff5ad3f50 in ??? () at /lib64/libc.so.6 #74 0x00007ffff5ad4009 in __libc_start_main () at /lib64/libc.so.6 #75 0x00005555555a4cb5 in ??? () Installed versions: kde-frameworks/kio-5.116.0-r2:5/5.116 kde-frameworks/kio-6.5.0:6/6.5 kde-apps/dolphin-24.05.2-r1:6 kde-apps/kolourpaint-24.05.2:6 net-fs/samba-4.18.9:0 dev-qt/qtbase-6.7.2-r5:6/6.7.2