KDE Dolphin is crashing, I will debug

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 :slight_smile:

1 Like

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! :smiley:

4 Likes

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

1 Like

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! :slight_smile:

2 Likes

No problem, I would love to learn more about debugging Linux/KDE code.
I am a design Verification Engineer for semiconductor designs

2 Likes

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

3 Likes

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.

1 Like