Is anyone willing to help with the gdb debug?
Of course, I will file a bug report. However, I may need some help to understand the cause of the crash.
Hi - just checking, have you already looked at the Community Wiki page on getting a solid crash report? Guidelines and HOWTOs/Debugging/How to create useful crash reports - KDE Community Wiki
I’ve had pretty good luck with that process personally on Fedora KDE 42, for what it’s worth - but if you’re running into specific issues with getting that pulled together, I’m sure folks here could help
So the whole setup depends a bit on your distro, where the link @johnandmegh provided is a good starting point.
Then, I wrote a quick non-dev crash-course about it here: Debug symbols for all!
Maybe it could be useful too.
But the most important part is downloading debug symbols, then running something like coredumpctl debug dolphin
. Then in gdb
you need to run bt
or thread apply all bt
. The former shows the crash from the point of view of the main thread, the latter shows all threads involved in the crash. Usually the main thread is enough, but sometimes the crash can be deep in some other thread.
If you get items like #12 0x0000000000000000 in ??? ()
then that means there is no debug symbol for that part. That can be caused by either not having the symbols downloaded, or the application has updated since the coredump, so it doesn’t know what’s going on.
Anyhow, good luck and happy debugging!
I did follow the dbg instruction and generated a full bt for all threads.
Now, it is now to understand what went wrong.
I will post a reply with the dbg.txt
The dgb.txt was too long to post here.
Here is a link to the debug backtrace file
dolphin_bt_full_all_threads_06_19_2025.txt
Main thread crash at hideEvent
Thread 1 (Thread 0x7fffeeb4ca80 (LWP 14643) "dolphin"):
#0 QWidget::hide (this=0x0) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidget.cpp:8191
#1 0x000055555561e79b in PhononWidget::stop (this=0x555555ce4f30) at /usr/src/debug/dolphin/dolphin-25.04.2/src/panels/information/phononwidget.cpp:252
#2 PhononWidget::hideEvent (this=0x555555ce4f30, event=0x7fffffffc1d0) at /usr/src/debug/dolphin/dolphin-25.04.2/src/panels/information/phononwidget.cpp:179
#3 0x00007ffff675ae1e in QWidget::event (this=0x555555ce4f30, event=0x7fffffffc1d0) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidget.cpp:9215
d = <optimized out>
#4 0x00007ffff6701c70 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x555555ce4f30, e=0x7fffffffc1d0) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3303
consumed = false
filtered = false
threadData = <optimized out>
#5 0x00007ffff5568118 in QCoreApplication::notifyInternal2 (receiver=0x555555ce4f30, event=0x7fffffffc1d0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1106
d = <optimized out>
threadData = 0x5555556bae40
selfRequired = <optimized out>
result = false
cbdata = {0x555555ce4f30, 0x7fffffffc1d0, 0x7fffffffc10f}
scopeLevelCounter = {threadData = 0x5555556bae40}
#6 0x00007ffff556815d in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1546
#7 0x00007ffff67558de in QWidgetPrivate::hideChildren (this=<optimized out>, spontaneous=spontaneous@entry=false) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidget.cpp:8518
widget = 0x555555ce4f30
e = {<QEvent> = {_vptr.QEvent = 0x7ffff64c4090 <vtable for QHideEvent+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff58cfbc8 <QEvent::qt_staticMetaObjectStaticContent<(anonymous namespace)::qt_meta_tag_ZN6QEventE_t>+1512>, data = 0x7ffff58cf5e0 <QEvent::qt_staticMetaObjectStaticContent<(anonymous namespace)::qt_meta_tag_ZN6QEventE_t>>, static_metacall = 0x0, relatedMetaObjects = 0x0, metaTypes = 0x7ffff5a12c10 <QEvent::qt_staticMetaObjectRelocatingContent<(anonymous namespace)::qt_meta_tag_ZN6QEventE_t>>, extradata = 0x0}}, t = 18, m_posted = false, m_spont = false, m_accept = true, m_unused = false, m_reserved = 0, m_inputEvent = 0, m_pointerEvent = 0, m_singlePointEvent = 0}, <No data fields>}
event = {_vptr.QAccessibleEvent = <optimized out>, m_type = <optimized out>, m_object = <optimized out>, {m_child = <optimized out>, m_uniqueId = <optimized out>}}
i = 4
q = 0x555555ce0bf0
childList = {<QListSpecialMethods<QObject*>> = {<QListSpecialMethodsBase<QObject*>> = {<No data fields>}, <No data fields>}, d = {d = <optimized out>, ptr = <optimized out>, size = <optimized out>}}
#8 0x00007ffff67558bd in QWidgetPrivate::hideChildren (this=<optimized out>, spontaneous=spontaneous@entry=false) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidget.h:101
widget = 0x555555ce0bf0
e = {<QEvent> = {_vptr.QEvent = 0x555555d2fea0, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff58cfbc8 <QEvent::qt_staticMetaObjectStaticContent<(anonymous namespace)::qt_meta_tag_ZN6QEventE_t>+1512>, data = 0x7ffff58cf5e0 <QEvent::qt_staticMetaObjectStaticContent<(anonymous namespace)::qt_meta_tag_ZN6QEventE_t>>, static_metacall = 0x0, relatedMetaObjects = 0x0, metaTypes = 0x7ffff5a12c10 <QEvent::qt_staticMetaObjectRelocatingContent<(anonymous namespace)::qt_meta_tag_ZN6QEventE_t>>, extradata = 0x0}}, t = 44608, m_posted = 107, m_spont = 85, m_accept = 85, m_unused = 85, m_reserved = 0, m_inputEvent = 0, m_pointerEvent = 0, m_singlePointEvent = 0}, <No data fields>}
event = {_vptr.QAccessibleEvent = <optimized out>, m_type = <optimized out>, m_object = <optimized out>, {m_child = <optimized out>, m_uniqueId = <optimized out>}}
i = 4
q = 0x555555a0da60
childList = {<QListSpecialMethods<QObject*>> = {<QListSpecialMethodsBase<QObject*>> = {<No data fields>}, <No data fields>}, d = {d = <optimized out>, ptr = <optimized out>, size = <optimized out>}}
#9 0x00007ffff67558bd in QWidgetPrivate::hideChildren (this=<optimized out>, spontaneous=spontaneous@entry=false) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidget.h:101
widget = 0x555555a0da60
e = {<QEvent> = {_vptr.QEvent = 0x7ffff5a12a48 <vtable for QEvent+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff58cfbc8 <QEvent::qt_staticMetaObjectStaticContent<(anonymous namespace)::qt_meta_tag_ZN6QEventE_t>+1512>, data = 0x7ffff58cf5e0 <QEvent::qt_staticMetaObjectStaticContent<(anonymous namespace)::qt_meta_tag_ZN6QEventE_t>>, static_metacall = 0x0, relatedMetaObjects = 0x0, metaTypes = 0x7ffff5a12c10 <QEvent::qt_staticMetaObjectRelocatingContent<(anonymous namespace)::qt_meta_tag_ZN6QEventE_t>>, extradata = 0x0}}, t = 18, m_posted = false, m_spont = false, m_accept = true, m_unused = false, m_reserved = 0, m_inputEvent = 0, m_pointerEvent = 0, m_singlePointEvent = 0}, <No data fields>}
event = {_vptr.QAccessibleEvent = <optimized out>, m_type = <optimized out>, m_object = <optimized out>, {m_child = <optimized out>, m_uniqueId = <optimized out>}}
i = 6
q = 0x555555afb940
childList = {<QListSpecialMethods<QObject*>> = {<QListSpecialMethodsBase<QObject*>> = {<No data fields>}, <No data fields>}, d = {d = <optimized out>, ptr = <optimized out>, size = <optimized out>}}
#10 0x00007ffff67558bd in QWidgetPrivate::hideChildren (this=this@entry=0x555555af1b30, spontaneous=spontaneous@entry=false) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidget.h:101
widget = 0x555555afb940
e = {<QEvent> = {_vptr.QEvent = 0x7ffff5a12a48 <vtable for QEvent+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff58cfbc8 <QEvent::qt_staticMetaObjectStaticContent<(anonymous namespace)::qt_meta_tag_ZN6QEventE_t>+1512>, data = 0x7ffff58cf5e0 <QEvent::qt_staticMetaObjectStaticContent<(anonymous namespace)::qt_meta_tag_ZN6QEventE_t>>, static_metacall = 0x0, relatedMetaObjects = 0x0, metaTypes = 0x7ffff5a12c10 <QEvent::qt_staticMetaObjectRelocatingContent<(anonymous namespace)::qt_meta_tag_ZN6QEventE_t>>, extradata = 0x0}}, t = 18, m_posted = false, m_spont = false, m_accept = true, m_unused = false, m_reserved = 0, m_inputEvent = 0, m_pointerEvent = 0, m_singlePointEvent = 0}, <No data fields>}
event = {_vptr.QAccessibleEvent = <optimized out>, m_type = <optimized out>, m_object = <optimized out>, {m_child = <optimized out>, m_uniqueId = <optimized out>}}
i = 19
q = 0x555555ac2c30
childList = {<QListSpecialMethods<QObject*>> = {<QListSpecialMethodsBase<QObject*>> = {<No data fields>}, <No data fields>}, d = {d = <optimized out>, ptr = <optimized out>, size = <optimized out>}}
#11 0x00007ffff6755e4e in QWidgetPrivate::hide_helper (this=this@entry=0x555555af1b30) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidget.cpp:8222
q = 0x555555ac2c30
isEmbedded = <optimized out>
wasVisible = <optimized out>
hideEvent = {<QEvent> = {_vptr.QEvent = 0x7ffff64c4090 <vtable for QHideEvent+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff58cfbc8 <QEvent::qt_staticMetaObjectStaticContent<(anonymous namespace)::qt_meta_tag_ZN6QEventE_t>+1512>, data = 0x7ffff58cf5e0 <QEvent::qt_staticMetaObjectStaticContent<(anonymous namespace)::qt_meta_tag_ZN6QEventE_t>>, static_metacall = 0x0, relatedMetaObjects = 0x0, metaTypes = 0x7ffff5a12c10 <QEvent::qt_staticMetaObjectRelocatingContent<(anonymous namespace)::qt_meta_tag_ZN6QEventE_t>>, extradata = 0x0}}, t = 18, m_posted = false, m_spont = false, m_accept = true, m_unused = false, m_reserved = 0, m_inputEvent = 0, m_pointerEvent = 0, m_singlePointEvent = 0}, <No data fields>}
#12 0x00007ffff67582ca in QWidgetPrivate::setVisible (this=0x555555af1b30, visible=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidget.cpp:8418
hideToParentEvent = {_vptr.QEvent = 0x555555ce4f30, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff58cfbc8 <QEvent::qt_staticMetaObjectStaticContent<(anonymous namespace)::qt_meta_tag_ZN6QEventE_t>+1512>, data = 0x7ffff58cf5e0 <QEvent::qt_staticMetaObjectStaticContent<(anonymous namespace)::qt_meta_tag_ZN6QEventE_t>>, static_metacall = 0x0, relatedMetaObjects = 0x0, metaTypes = 0x7ffff5a12c10 <QEvent::qt_staticMetaObjectRelocatingContent<(anonymous namespace)::qt_meta_tag_ZN6QEventE_t>>, extradata = 0x0}}, t = 0, m_posted = false, m_spont = false, m_accept = false, m_unused = false, m_reserved = 0, m_inputEvent = 0, m_pointerEvent = 0, m_singlePointEvent = 0}
q = 0x555555ac2c30
#13 0x00007ffff6775f83 in QWidgetWindowPrivate::setVisible (this=0x555555dfdd60, visible=false) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidget.h:101
widget = <optimized out>
q = 0x555555a4aa90
#14 0x00007ffff5e069ed in QWindow::setVisible (this=0x555555a4aa90, visible=false) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qwindow.cpp:705
d = <optimized out>
#15 QWindowPrivate::destroy (this=0x555555dfdd60) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qwindow.cpp:2136
q = 0x555555a4aa90
childrenWindows = {<QListSpecialMethods<QObject*>> = {<QListSpecialMethodsBase<QObject*>> = {<No data fields>}, <No data fields>}, d = {d = <optimized out>, ptr = <optimized out>, size = <optimized out>}}
wasVisible = <optimized out>
e = {<QEvent> = {_vptr.QEvent = 0x555556ca4a60, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff58cfbc8 <QEvent::qt_staticMetaObjectStaticContent<(anonymous namespace)::qt_meta_tag_ZN6QEventE_t>+1512>, data = 0x7ffff58cf5e0 <QEvent::qt_staticMetaObjectStaticContent<(anonymous namespace)::qt_meta_tag_ZN6QEventE_t>>, static_metacall = 0x0, relatedMetaObjects = 0x0, metaTypes = 0x7ffff5a12c10 <QEvent::qt_staticMetaObjectRelocatingContent<(anonymous namespace)::qt_meta_tag_ZN6QEventE_t>>, extradata = 0x0}}, t = 45312, m_posted = 228, m_spont = 184, m_accept = false, m_unused = false, m_reserved = 0, m_inputEvent = 0, m_pointerEvent = 0, m_singlePointEvent = 0}, m_surfaceEventType = (QPlatformSurfaceEvent::SurfaceAboutToBeDestroyed | unknown: 0x4)}
#16 0x00007ffff677b8e2 in QWidgetWindow::~QWidgetWindow (this=0x555555a4aa90, this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidgetwindow.cpp:162
topData = <optimized out>
topData = <optimized out>
#17 0x00007ffff6742520 in QWidgetWindow::~QWidgetWindow (this=0x555555a4aa90, this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidgetwindow.cpp:159
#18 QWidgetPrivate::deleteTLSysExtra (this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidget.cpp:1721
q = <optimized out>
#19 QWidgetPrivate::deleteTLSysExtra (this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidget.cpp:1714
q = <optimized out>
#20 0x00007ffff6760678 in QWidget::destroy (this=0x555555ac2c30, destroyWindow=<optimized out>, destroySubWindows=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidget.cpp:12636
d = 0x555555af1b30
#21 0x00007ffff6759744 in QWidget::setParent (this=<optimized out>, parent=<optimized out>, f=...) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidget.cpp:10924
windowStateBeforeDestroy = {<QtPrivate::QFlagsStorageHelper<Qt::WindowState, 4>> = {<QtPrivate::QFlagsStorage<Qt::WindowState>> = {static IntegerSize = 4, i = <optimized out>}, <No data fields>}, <No data fields>}
visibilityBeforeDestroy = <optimized out>
existingWindow = <optimized out>
existingSurfaceType = QSurface::RasterSurface
rhiConfig = {m_enable = true, m_api = QPlatformBackingStoreRhiConfig::OpenGL, m_debugLayer = false}
surfaceType = QSurface::OpenGLSurface
d = <optimized out>
resized = <optimized out>
wasCreated = <optimized out>
oldtlw = <optimized out>
oldParentWithWindow = <optimized out>
desktopWidget = <optimized out>
newParent = <optimized out>
oldWidgetUsesRhiFlush = <optimized out>
useStyleSheetPropagationInWidgetStyles = <optimized out>
newParentWithWindow = 0x555555ac2c30
#22 0x00007ffff6745092 in QWidgetPrivate::init (this=0x55555a303970, parentWidget=0x555556ca4a60, f=...) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidget.cpp:995
q = 0x5555582dfc80
e = {_vptr.QEvent = 0x5555582dfc80, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff58cfbc8 <QEvent::qt_staticMetaObjectStaticContent<(anonymous namespace)::qt_meta_tag_ZN6QEventE_t>+1512>, data = 0x7ffff58cf5e0 <QEvent::qt_staticMetaObjectStaticContent<(anonymous namespace)::qt_meta_tag_ZN6QEventE_t>>, static_metacall = 0x0, relatedMetaObjects = 0x0, metaTypes = 0x7ffff5a12c10 <QEvent::qt_staticMetaObjectRelocatingContent<(anonymous namespace)::qt_meta_tag_ZN6QEventE_t>>, extradata = 0x0}}, t = 64640, m_posted = 45, m_spont = 88, m_accept = 85, m_unused = 85, m_reserved = 0, m_inputEvent = 0, m_pointerEvent = 0, m_singlePointEvent = 0}
#23 0x00007ffff6745313 in QWidget::QWidget (this=<optimized out>, dd=<optimized out>, parent=<optimized out>, f=..., this=<optimized out>, dd=<optimized out>, parent=<optimized out>, f=...) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidget.cpp:874
d = <optimized out>
d = <optimized out>
#24 0x00007fffb0457003 in QOpenGLWidget::QOpenGLWidget (this=this@entry=0x5555582dfc80, parent=parent@entry=0x555556ca4a60, f=f@entry=..., this=<optimized out>, parent=<optimized out>, f=...) at /usr/src/debug/qt6-base/qtbase/src/openglwidgets/qopenglwidget.cpp:1130
d = <optimized out>
#25 0x00007fffb04c6dc6 in Phonon::MPV::VideoWidget::VideoWidget (this=0x5555582dfc80, parent=0x555556ca4a60) at /usr/include/qt6/QtCore/qflags.h:76
#26 Phonon::MPV::Backend::createObject (this=<optimized out>, c=<optimized out>, parent=<optimized out>, args=<optimized out>) at /usr/src/debug/phonon-mpv/phonon-mpv/src/backend.cpp:216
#27 0x00007ffff6efee5b in Phonon::Factory::createVideoWidget (parent=0x555556ca4a60) at /usr/src/debug/phonon/phonon-4.12.0/phonon/factory.cpp:294
#28 Phonon::VideoWidgetPrivate::createBackendObject (this=0x555556a7d440) at /usr/src/debug/phonon/phonon-4.12.0/phonon/videowidget.cpp:76
q = 0x555556ca4a60
q = <optimized out>
#29 Phonon::VideoWidgetPrivate::createBackendObject (this=0x555556a7d440) at /usr/src/debug/phonon/phonon-4.12.0/phonon/videowidget.cpp:71
q = <optimized out>
#30 0x00007ffff6ef9037 in Phonon::VideoWidget::VideoWidget (this=0x555556ca4a60, parent=<optimized out>, this=<optimized out>, parent=<optimized out>) at /usr/src/debug/phonon/phonon-4.12.0/phonon/videowidget.cpp:46
d = 0x555556a7d440
d = <optimized out>
#31 0x000055555561ec0a in EmbeddedVideoPlayer::EmbeddedVideoPlayer (this=0x555556ca4a60, parent=0x555555ce4f30) at /usr/src/debug/dolphin/dolphin-25.04.2/src/panels/information/phononwidget.cpp:25
#32 PhononWidget::play (this=0x555555ce4f30) at /usr/src/debug/dolphin/dolphin-25.04.2/src/panels/information/phononwidget.cpp:210
#33 0x000055555561ac61 in PhononWidget::setUrl (this=0x555555ce4f30, url=..., kind=(unknown: 0xfe)) at /usr/src/debug/dolphin/dolphin-25.04.2/src/panels/information/phononwidget.cpp:65
#34 InformationPanelContent::refreshPreview (this=0x555555ce0bf0) at /usr/src/debug/dolphin/dolphin-25.04.2/src/panels/information/informationpanelcontent.cpp:240
mimeType = {d = {d = 0x555556638110, ptr = 0x555556638120 u"video/mp4", size = 9}}
isAnimatedImage = <optimized out>
usePhonon = true
itemUrl = {d = 0x5555565f8fb0}
isSearchUrl = <optimized out>
#35 0x000055555561b00c in InformationPanelContent::showItem (this=<optimized out>, item=<optimized out>) at /usr/src/debug/dolphin/dolphin-25.04.2/src/panels/information/informationpanelcontent.cpp:159
#36 0x000055555561b506 in InformationPanel::showItemInfo (this=0x555555a0da60) at /usr/src/debug/dolphin/dolphin-25.04.2/src/panels/information/informationpanel.cpp:240
item = {static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff7978100 <KFileItem::qt_staticMetaObjectStaticContent<(anonymous namespace)::qt_meta_tag_ZN9KFileItemE_t>+800>, data = 0x7ffff7977de0 <KFileItem::qt_staticMetaObjectStaticContent<(anonymous namespace)::qt_meta_tag_ZN9KFileItemE_t>>, static_metacall = 0x7ffff788ed60 <KFileItem::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7ffff79a2140 <KFileItem::qt_staticMetaObjectRelocatingContent<(anonymous namespace)::qt_meta_tag_ZN9KFileItemE_t>>, extradata = 0x0}}, d = {d = {ptr = 0x5555565f8da0}}}
#37 0x00007ffff55d37ef in QtPrivate::QSlotObjectBase::call (this=0x555555ce06e0, r=0x555555a0da60, a=0x7fffffffcf50, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
#38 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4146
obj = {m_slotObject = std::unique_ptr<QtPrivate::QSlotObjectBase> = {get() = 0x555555ce06e0}}
receiver = 0x555555a0da60
td = <optimized out>
receiverInSameThread = <optimized out>
senderData = {previous = 0x0, receiver = 0x555555a0da60, sender = 0x555555ce0610, signal = 3}
c = 0x555555ce0710
connections = {d = {ptr = <optimized out>}}
list = 0x555555ce07f0
inSenderThread = <optimized out>
highestConnectionId = <optimized out>
signalVector = 0x555555ce07a0
currentThreadId = <optimized out>
sp = <optimized out>
signal_spy_set = 0x0
empty_argv = {0x0}
senderDeleted = false
#39 0x00007ffff55e0abf in QMetaObject::activate<void, QTimer::QPrivateSignal> (sender=<optimized out>, mo=<optimized out>, local_signal_index=0, ret=0x0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs.h:306
_a = {0x0, 0x7fffffffcf4f}
#40 QTimer::timeout (this=<optimized out>, _t1=...) at /usr/src/debug/qt6-base/build/src/corelib/Core_autogen/include/moc_qtimer.cpp:182
#41 QTimer::timerEvent (e=<optimized out>, this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qtimer.cpp:285
d = <optimized out>
#42 QTimer::timerEvent (this=<optimized out>, e=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qtimer.cpp:279
d = <optimized out>
#43 0x00007ffff55c0dd6 in QObject::event (this=<optimized out>, e=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:1406
#44 0x00007ffff6701c70 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x555555ce0610, e=0x7fffffffd0f0) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3303
consumed = false
filtered = false
threadData = <optimized out>
#45 0x00007ffff5568118 in QCoreApplication::notifyInternal2 (receiver=0x555555ce0610, event=0x7fffffffd0f0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1106
d = <optimized out>
threadData = 0x5555556bae40
selfRequired = <optimized out>
result = false
cbdata = {0x555555ce0610, 0x7fffffffd0f0, 0x7fffffffd06f}
scopeLevelCounter = {threadData = 0x5555556bae40}
#46 0x00007ffff571bc6f in QCoreApplication::sendEvent (receiver=<optimized out>, event=0x7fffffffd0f0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1546
#47 QTimerInfoList::activateTimers (this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qtimerinfo_unix.cpp:426
e = {<QEvent> = {_vptr.QEvent = 0x7ffff5a12a18 <vtable for QTimerEvent+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff58cfbc8 <QEvent::qt_staticMetaObjectStaticContent<(anonymous namespace)::qt_meta_tag_ZN6QEventE_t>+1512>, data = 0x7ffff58cf5e0 <QEvent::qt_staticMetaObjectStaticContent<(anonymous namespace)::qt_meta_tag_ZN6QEventE_t>>, static_metacall = 0x0, relatedMetaObjects = 0x0, metaTypes = 0x7ffff5a12c10 <QEvent::qt_staticMetaObjectRelocatingContent<(anonymous namespace)::qt_meta_tag_ZN6QEventE_t>>, extradata = 0x0}}, t = 1, m_posted = false, m_spont = false, m_accept = true, m_unused = false, m_reserved = 0, m_inputEvent = 0, m_pointerEvent = 0, m_singlePointEvent = 0}, m_id = (unknown: 0x14000013)}
currentTimerInfo = 0x0
now = Python Exception <class 'gdb.error'>: value has been optimized out
stillActive = Python Exception <class 'gdb.error'>: value has been optimized out
{__now = <synthetic pointer>}
it = {i = <optimized out>}
maxCount = <optimized out>
n_act = 1
#48 0x00007ffff583fc79 in timerSourceDispatch (source=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:152
timerSource = <optimized out>
#49 0x00007ffff2cb887d in g_main_dispatch (context=0x7fffe8000f00) at ../glib/glib/gmain.c:3398
user_data = 0x0
callback = 0x0
gaig_temp = <optimized out>
gaig_temp = <optimized out>
cb_data = 0x0
need_destroy = <optimized out>
dispatch = 0x7ffff583fc50 <timerSourceDispatch(GSource*, GSourceFunc, gpointer)>
prev_source = 0x0
was_in_call = 0
cb_funcs = 0x0
begin_time_nsec = 2316899154045
source = 0x55555573b750
current = 0x555556381d00
i = 0
#50 0x00007ffff2cb9cd7 in g_main_context_dispatch_unlocked (context=0x7fffe8000f00) at ../glib/glib/gmain.c:4249
#51 g_main_context_iterate_unlocked (context=context@entry=0x7fffe8000f00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4314
max_priority = 2147483647
timeout_usec = 12000
some_ready = 1
nfds = 13
allocated_nfds = <optimized out>
fds = 0x5555564f2f80
begin_time_nsec = <optimized out>
#52 0x00007ffff2cb9ee5 in g_main_context_iteration (context=0x7fffe8000f00, may_block=1) at ../glib/glib/gmain.c:4379
retval = <optimized out>
#53 0x00007ffff583c5e2 in QEventDispatcherGlib::processEvents (this=0x5555556c2e80, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399
d = 0x5555556d35a0
canWait = <optimized out>
savedFlags = {<QtPrivate::QFlagsStorageHelper<QEventLoop::ProcessEventsFlag, 4>> = {<QtPrivate::QFlagsStorage<QEventLoop::ProcessEventsFlag>> = {static IntegerSize = 4, i = 0}, <No data fields>}, <No data fields>}
result = <optimized out>
#54 0x00007ffff55744b6 in QEventLoop::processEvents (this=0x7fffffffd3c0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:104
d = <optimized out>
threadData = <optimized out>
#55 QEventLoop::exec (this=0x7fffffffd3c0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:186
d = 0x555556348e80
threadData = <optimized out>
locker = {m_mutex = 0x5555556baf78, m_isLocked = false}
ref = {d = <optimized out>, locker = <optimized out>, exceptionCaught = <optimized out>}
app = <optimized out>
#56 0x00007ffff556c7c1 in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1449
threadData = 0x5555556bae40
eventLoop = {<QObject> = {_vptr.QObject = 0x7ffff5a0e690 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff58cda70 <_ZN7QObject32qt_staticMetaObjectStaticContentIN12_GLOBAL__N_125qt_meta_tag_ZN7QObjectE_tEEE.lto_priv.0+272>, data = 0x7ffff58cd960 <_ZN7QObject32qt_staticMetaObjectStaticContentIN12_GLOBAL__N_125qt_meta_tag_ZN7QObjectE_tEEE.lto_priv.0>, static_metacall = 0x7ffff55ce080 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7ffff5a114c0 <_ZN7QObject36qt_staticMetaObjectRelocatingContentIN12_GLOBAL__N_125qt_meta_tag_ZN7QObjectE_tEEE.lto_priv.0>, extradata = 0x0}}, d_ptr = {d = 0x555556348e80}}, static staticMetaObject = {d = {superdata = {direct = 0x7ffff5a11540 <QObject::staticMetaObject>}, stringdata = 0x7ffff58ccd4c <_ZN10QEventLoop32qt_staticMetaObjectStaticContentIN12_GLOBAL__N_129qt_meta_tag_ZN10QEventLoopE_tEEE.lto_priv.0+236>, data = 0x7ffff58ccc60 <_ZN10QEventLoop32qt_staticMetaObjectStaticContentIN12_GLOBAL__N_129qt_meta_tag_ZN10QEventLoopE_tEEE.lto_priv.0>, static_metacall = 0x7ffff556f2e0 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7ffff5a10fa0 <_ZN10QEventLoop36qt_staticMetaObjectRelocatingContentIN12_GLOBAL__N_129qt_meta_tag_ZN10QEventLoopE_tEEE.lto_priv.0>, extradata = 0x0}}}
returnCode = <optimized out>
I filed a KDE bug ticket, I got a quick response after it was reported earlier.
So my filed ticket got closed as a duplicate and the other bug report was resolved too.
Here is the response
nstall phonon-vlc and remove phonon-mpv, which is broken.
Removed phonon-qt6_mpv phonon-qt5_mpv
And, Dolphin is back to normal.
Thus, the bug is in the broken phonon-qt?_mpv
Just so you know, duplicates are not a bad thing. Sometimes they can help us prioritize or track the bug and help us repro it.
Thanks for the debugging efforts!
No problem, I would love to learn more about debugging Linux/KDE code.
I am a design Verification Engineer for semiconductor designs
Are you familiar with the base of computer programs (memory/stack/heap, cycles, instructions, addressing, registers…) ? Or this is completely abstracted away when designing semiconductor, I wonder.
Debugging in Linux/KDE, that’s typicaly gdb. Stopping the program at a convenient time, observing what’s going on.
This is not KDE specific and there is plenty of documentation out there. A semi-random one for instance: https://developers.redhat.com/articles/the-gdb-developers-gnu-debugger-tutorial-part-1-getting-started-with-the-debugger
I think you can many resources on the subject.
Qtcreator has a debugger built-in, so does kdevelop, and they are many other IDE, personally I use gdb.
There are also qt specific tools that are generally applicable to KDE software: Testing and Debugging | Qt 6.9
As Hardware (semiconductor, i.e. ASIC, FPGA, CPU, DSP, GPU) Design and Verification Engineer, one has to learn all the basic and advanced architecture of RISC/CISC/VLW, of CPU etc. In addition, SRAM, DRAM, SSD memory architecture. Plus, an RTL design engineer, one has to develop RTL code for either FPGA or AISC ICs chips.
A Design Verification has to master all the above, plus that ability to develop an advanced testbench to automate the testing to debug the design and flush out any design issues and limitations. Test regression suites are developed to iron out any new bug introduced when a code designer does an RTL code change.
I bookmarked https://developers.redhat.com/author/keith-seitz
I will dive into it soon.