Bug 486018

Summary: Yakuake randomly crashes in QWindowPrivate::emitScreenChangedRecursion() when opening app menu
Product: [Applications] yakuake Reporter: Timothy B <yule2000>
Component: generalAssignee: Eike Hein <hein>
Status: RESOLVED DUPLICATE    
Severity: crash CC: kde, kde, nate
Priority: NOR Keywords: qt6, wayland
Version: 24.02.2   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Timothy B 2024-04-23 13:55:36 UTC
SUMMARY
Since upgrading to Plasma 6 and KDE Gear 24.02, Yakuake would randomly crash when I click on the Open Menu button.

STEPS TO REPRODUCE
1. Leave Yakuake running for a couple days
2. Open Yakuake if hidden
3. Click on the menu icon

OBSERVED RESULT
Yakuake suddenly crashes, with all its tabs being killed.

EXPECTED RESULT
A menu would appear.

SOFTWARE/OS VERSIONS
Operating System: EndeavourOS
Yakuake Version: 24.02.2
KDE Plasma Version: 6.0.4
KDE Frameworks Version: 6.1.0
Qt Version: 6.7.0
Graphics Platform: Wayland

ADDITIONAL INFORMATION
I was also able to reproduce this with Qt 6.6 as well as Frameworks 6.0. I haven't tried reproducing this on the X11 session.

BACKTRACE
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0)
    at pthread_kill.c:44
#1  0x00007b41d76ab393 in __pthread_kill_internal (signo=11, threadid=<optimized out>) at pthread_kill.c:78
#2  0x00007b41d765a6c8 in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
#3  0x00007b41d9abc45f in KCrash::defaultCrashHandler (sig=11) at /usr/src/debug/kcrash/kcrash-6.1.0/src/kcrash.cpp:593
#4  0x00007b41d765a770 in <signal handler called> () at /usr/lib/libc.so.6
#5  0x00007b41d83c2353 in QScreen::devicePixelRatio (this=0x5f5f0c532e10)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/gui/kernel/qscreen.cpp:288
#6  0x00007b41d83cb3a0 in QWindowPrivate::updateDevicePixelRatio (this=0x5f5f0d35c710)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/gui/kernel/qwindow.cpp:1404
#7  0x00007b41d7d97609 in QtPrivate::QSlotObjectBase::call
    (a=0x7ffcf8d6e570, r=0x5f5f0d2ffb20, this=0x5f5f0d3c5000, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/corelib/kernel/qobjectdefs_impl.h:469
#8  doActivate<false> (sender=0x5f5f0d2ffb20, signal_index=3, argv=0x7ffcf8d6e570)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/corelib/kernel/qobject.cpp:4078
#9  0x00007b41d83cb7d3 in QWindow::screenChanged (_t1=0x5f5f0c532e10, this=0x5f5f0d2ffb20)
    at /usr/src/debug/qt6-base/build/src/gui/Gui_autogen/include/moc_qwindow.cpp:817
#10 QWindowPrivate::emitScreenChangedRecursion (newScreen=0x5f5f0c532e10, this=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/gui/kernel/qwindow.cpp:496
#11 QWindowPrivate::setTopLevelScreen (this=<optimized out>, newScreen=0x5f5f0c532e10, recreate=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/gui/kernel/qwindow.cpp:520
#12 0x00007b41d8d32ae7 in QWidgetPrivate::create (this=this@entry=0x5f5f0c585ed0)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/kernel/qwidget.cpp:1318
#13 0x00007b41d8d31912 in QWidget::create
    (this=0x5f5f0c980d90, window=<optimized out>, initializeWindow=<optimized out>, destroyOldWindow=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/kernel/qwidget.cpp:1209
#14 0x00007b41d8ebb448 in QMenuPrivate::popup(QPoint const&, QAction*, std::function<QPoint (QSize const&)>)
    (this=0x5f5f0c585ed0, p=..., atAction=0x0, positionFunction=...)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/widgets/qmenu.cpp:2359
#15 0x00007b41d8eceb6b in QMenu::popup (atAction=<optimized out>, p=<optimized out>, this=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/widgets/qmenu.cpp:2306
#16 QPushButtonPrivate::popupPressed (this=0x7ffcf8d6e7d0)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/widgets/qpushbutton.cpp:586
#17 0x00007b41d7d97609 in QtPrivate::QSlotObjectBase::call
    (a=0x7ffcf8d6e8b8, r=0x5f5f0c939e80, this=0x5f5f0c939d40, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/corelib/kernel/qobjectdefs_impl.h:469
#18 doActivate<false> (sender=0x5f5f0c939e80, signal_index=7, argv=0x7ffcf8d6e8b8)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/corelib/kernel/qobject.cpp:4078
#19 0x00007b41d8dff332 in QAbstractButton::pressed (this=0x5f5f0c939e80)
    at /usr/src/debug/qt6-base/build/src/widgets/Widgets_autogen/include/moc_qabstractbutton.cpp:311
#20 QAbstractButtonPrivate::emitPressed (this=0x5f5f0c939180)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/widgets/qabstractbutton.cpp:395
#21 0x00007b41d8e0b8ab in QAbstractButton::mousePressEvent (this=0x5f5f0c939e80, e=0x7ffcf8d6eeb0)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/widgets/qabstractbutton.cpp:948
#22 0x00007b41d8d47292 in QWidget::event (this=0x5f5f0c939e80, event=0x7ffcf8d6eeb0)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/kernel/qwidget.cpp:9018
#23 0x00007b41d8cfbfcb in QApplicationPrivate::notify_helper
    (this=this@entry=0x5f5f0c4f6be0, receiver=receiver@entry=0x5f5f0c939e80, e=e@entry=0x7ffcf8d6eeb0)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/kernel/qapplication.cpp:3287
#24 0x00007b41d8d00ac5 in QApplication::notify (this=<optimized out>, receiver=<optimized out>, e=0x7ffcf8d6eeb0)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/kernel/qapplication.cpp:2765
--Type <RET> for more, q to quit, c to continue without paging--c
#25 0x00007b41d7d3dae8 in QCoreApplication::notifyInternal2 (receiver=0x5f5f0c939e80, event=0x7ffcf8d6eeb0)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/corelib/kernel/qcoreapplication.cpp:1134
#26 0x00007b41d7d3db3d in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/corelib/kernel/qcoreapplication.cpp:1589
#27 0x00007b41d8cf4597 in QApplicationPrivate::sendMouseEvent
    (receiver=0x5f5f0c939e80, event=0x7ffcf8d6eeb0, alienWidget=0x5f5f0c939e80, nativeWidget=0x7ffcf8d6f8f0, buttonDown=<optimized out>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/kernel/qapplication.cpp:2347
#28 0x00007b41d8d5be37 in QWidgetWindow::handleMouseEvent (this=0x5f5f0ccc3320, event=event@entry=0x7ffcf8d6f220)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/kernel/qwidgetwindow.cpp:649
#29 0x00007b41d8d5d1c0 in QWidgetWindow::event (this=0x5f5f0ccc3320, event=0x7ffcf8d6f220)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/kernel/qwidgetwindow.cpp:263
#30 0x00007b41d8cfbfcb in QApplicationPrivate::notify_helper
    (this=<optimized out>, receiver=0x5f5f0ccc3320, e=0x7ffcf8d6f220)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/kernel/qapplication.cpp:3287
#31 0x00007b41d7d3dae8 in QCoreApplication::notifyInternal2 (receiver=0x5f5f0ccc3320, event=0x7ffcf8d6f220)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/corelib/kernel/qcoreapplication.cpp:1134
#32 0x00007b41d7d3db3d in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/corelib/kernel/qcoreapplication.cpp:1589
#33 0x00007b41d83720e5 in QGuiApplicationPrivate::processMouseEvent (e=0x7b41bc00b200)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/gui/kernel/qguiapplication.cpp:2327
#34 0x00007b41d83dcfdc in QWindowSystemInterface::sendWindowSystemEvents (flags=...)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/gui/kernel/qwindowsysteminterface.cpp:1114
#35 0x00007b41d87c1244 in userEventSourceDispatch (source=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/gui/platform/unix/qeventdispatcher_glib.cpp:38
#36 0x00007b41d689c199 in g_main_dispatch (context=0x7b41cc000f00) at ../glib/glib/gmain.c:3344
#37 0x00007b41d68fb3bf in g_main_context_dispatch_unlocked (context=0x7b41cc000f00) at ../glib/glib/gmain.c:4152
#38 g_main_context_iterate_unlocked.isra.0
    (context=context@entry=0x7b41cc000f00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at ../glib/glib/gmain.c:4217
#39 0x00007b41d689b712 in g_main_context_iteration (context=0x7b41cc000f00, may_block=1) at ../glib/glib/gmain.c:4282
#40 0x00007b41d7f83df4 in QEventDispatcherGlib::processEvents (this=0x5f5f0c531140, flags=...)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/corelib/kernel/qeventdispatcher_glib.cpp:394
#41 0x00007b41d7d45c7e in QEventLoop::processEvents (flags=..., this=0x7ffcf8d6f6e0)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/corelib/kernel/qeventloop.cpp:100
#42 QEventLoop::exec (this=0x7ffcf8d6f6e0, flags=...)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/corelib/kernel/qeventloop.cpp:182
#43 0x00007b41d7d416e8 in QCoreApplication::exec ()
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/corelib/global/qflags.h:74
#44 0x00007b41d8cf851a in QApplication::exec ()
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/kernel/qapplication.cpp:2555
#45 0x00005f5f0b03cbfb in main (argc=<optimized out>, argv=<optimized out>)
    at /usr/src/debug/yakuake/yakuake-24.02.2/app/main.cpp:71
Comment 1 Timothy B 2024-04-29 14:18:14 UTC
Yakuake crashed again with the above steps to reproduce. This time the backtrace looks a bit different, with the top of the backtrace stack still pointing to QScreen:

#5  0x00007cfd3a7bee48 in QScreen::geometry (this=0x59862d3e2e10) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/gui/kernel/qscreen.cpp:330
#6  0x00007cfd3b2b2c00 in QWidgetPrivate::screenGeometry (hasPosition=<optimized out>, globalPosition=<optimized out>, widget=<optimized out>) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/kernel/qwidget_p.h:489
#7  QWidgetPrivate::screenGeometry (widget=<optimized out>) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/kernel/qwidget_p.h:470
#8  QMenuPrivate::popupGeometry (this=<optimized out>, screen=<optimized out>) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/widgets/qmenu.cpp:297
#9  0x00007cfd3b2b7c68 in QMenuPrivate::updateActionRects (this=0x59862d48c650) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/widgets/qmenu.cpp:328
#10 QMenu::sizeHint (this=0x59862d830090) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/widgets/qmenu.cpp:2265
#11 0x00007cfd3b2ce5ca in QPushButtonPrivate::adjustedMenuPosition (this=0x59862d834e00) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/widgets/qpushbutton.cpp:604
#12 0x00007cfd3b2cea00 in QPushButtonPrivate::popupPressed (this=0x59862d834e00) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/widgets/qpushbutton.cpp:577
#13 0x00007cfd3a197609 in QtPrivate::QSlotObjectBase::call (a=0x7ffdf4b9f938, r=0x59862d7e9080, this=0x59862d7e8f40, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/corelib/kernel/qobjectdefs_impl.h:469
#14 doActivate<false> (sender=0x59862d7e9080, signal_index=7, argv=0x7ffdf4b9f938) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/corelib/kernel/qobject.cpp:4078
#15 0x00007cfd3b1ff332 in QAbstractButton::pressed (this=0x59862d7e9080) at /usr/src/debug/qt6-base/build/src/widgets/Widgets_autogen/include/moc_qabstractbutton.cpp:311
#16 QAbstractButtonPrivate::emitPressed (this=0x59862d834e00) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/widgets/qabstractbutton.cpp:395
#17 0x00007cfd3b20b8ab in QAbstractButton::mousePressEvent (this=0x59862d7e9080, e=0x7ffdf4b9ff30) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/widgets/qabstractbutton.cpp:948
#18 0x00007cfd3b147292 in QWidget::event (this=0x59862d7e9080, event=0x7ffdf4b9ff30) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/kernel/qwidget.cpp:9018
#19 0x00007cfd3b0fbfcb in QApplicationPrivate::notify_helper (this=this@entry=0x59862d3a6be0, receiver=receiver@entry=0x59862d7e9080, e=e@entry=0x7ffdf4b9ff30) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/kernel/qapplication.cpp:3287
#20 0x00007cfd3b100ac5 in QApplication::notify (this=<optimized out>, receiver=<optimized out>, e=0x7ffdf4b9ff30) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/kernel/qapplication.cpp:2765
#21 0x00007cfd3a13dae8 in QCoreApplication::notifyInternal2 (receiver=0x59862d7e9080, event=0x7ffdf4b9ff30) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/corelib/kernel/qcoreapplication.cpp:1134
#22 0x00007cfd3a13db3d in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/corelib/kernel/qcoreapplication.cpp:1589
#23 0x00007cfd3b0f4597 in QApplicationPrivate::sendMouseEvent (receiver=0x59862d7e9080, event=0x7ffdf4b9ff30, alienWidget=0x59862d7e9080, nativeWidget=0x7ffdf4ba0970, buttonDown=<optimized out>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/kernel/qapplication.cpp:2347
#24 0x00007cfd3b15be37 in QWidgetWindow::handleMouseEvent (this=0x59862d8c9cb0, event=event@entry=0x7ffdf4ba02a0) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/kernel/qwidgetwindow.cpp:649
#25 0x00007cfd3b15d1c0 in QWidgetWindow::event (this=0x59862d8c9cb0, event=0x7ffdf4ba02a0) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/kernel/qwidgetwindow.cpp:263
#26 0x00007cfd3b0fbfcb in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x59862d8c9cb0, e=0x7ffdf4ba02a0) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/kernel/qapplication.cpp:3287
#27 0x00007cfd3a13dae8 in QCoreApplication::notifyInternal2 (receiver=0x59862d8c9cb0, event=0x7ffdf4ba02a0) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/corelib/kernel/qcoreapplication.cpp:1134
#28 0x00007cfd3a13db3d in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/corelib/kernel/qcoreapplication.cpp:1589
#29 0x00007cfd3a7720e5 in QGuiApplicationPrivate::processMouseEvent (e=0x7cfd20003640) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/gui/kernel/qguiapplication.cpp:2327
#30 0x00007cfd3a7dcfdc in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/gui/kernel/qwindowsysteminterface.cpp:1114
#31 0x00007cfd3abc1244 in userEventSourceDispatch (source=<optimized out>) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/gui/platform/unix/qeventdispatcher_glib.cpp:38
#32 0x00007cfd38c98199 in g_main_dispatch (context=0x7cfd2c000f00) at ../glib/glib/gmain.c:3344
#33 0x00007cfd38cf73bf in g_main_context_dispatch_unlocked (context=0x7cfd2c000f00) at ../glib/glib/gmain.c:4152
#34 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7cfd2c000f00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4217
#35 0x00007cfd38c97712 in g_main_context_iteration (context=0x7cfd2c000f00, may_block=1) at ../glib/glib/gmain.c:4282
#36 0x00007cfd3a383df4 in QEventDispatcherGlib::processEvents (this=0x59862d3e1080, flags=...) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/corelib/kernel/qeventdispatcher_glib.cpp:394
#37 0x00007cfd3a145c7e in QEventLoop::processEvents (flags=..., this=0x7ffdf4ba0760) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/corelib/kernel/qeventloop.cpp:100
#38 QEventLoop::exec (this=0x7ffdf4ba0760, flags=...) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/corelib/kernel/qeventloop.cpp:182
#39 0x00007cfd3a1416e8 in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/corelib/global/qflags.h:74
#40 0x00007cfd3b0f851a in QApplication::exec () at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.7.0/src/widgets/kernel/qapplication.cpp:2555
#41 0x000059862c445bfb in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/yakuake/yakuake-24.02.2/app/main.cpp:71
Comment 2 Timothy B 2024-06-09 20:13:56 UTC
Yakuake crashed at me again doing the same steps to reproduce above, this time with Yakuake 24.05.0 and Frameworks 6.2:

#5  std::__atomic_base<int>::fetch_add (this=0x8a04000000000076, __i=1, __m=std::memory_order_acq_rel, this=<optimized out>, __i=<optimized out>, __m=<optimized out>) at /usr/include/c++/14.1.1/bits/atomic_base.h:629
#6  QAtomicOps<int>::ref<int> (_q_value=<error reading variable: Cannot access memory at address 0x8a04000000000076>, _q_value=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qatomic_cxx11.h:259
#7  QBasicAtomicInteger<int>::ref (this=0x8a04000000000076, this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qbasicatomic.h:47
#8  QtSharedPointer::ExternalRefCountData::getAndRef (obj=obj@entry=0x63b79f792730) at /usr/src/debug/qt6-base/qtbase/src/corelib/tools/qsharedpointer.cpp:1456
#9  0x00007f36b7f7f511 in QWeakPointer<QObject>::QWeakPointer<QObject, true> (this=<optimized out>, ptr=0x63b79f792730) at /usr/src/debug/qt6-base/qtbase/src/corelib/tools/qsharedpointer_impl.h:733
#10 QWeakPointer<QObject>::assign<QObject> (this=0x63b7a0e37630, ptr=0x63b79f792730) at /usr/src/debug/qt6-base/qtbase/src/corelib/tools/qsharedpointer_impl.h:728
#11 0x00007f36b7fd229f in QPointer<QScreen>::operator= (this=0x63b7a0e37630, p=0x63b79f792730, this=<optimized out>, p=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qpointer.h:71
#12 QWindowPrivate::connectToScreen (this=<optimized out>, screen=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qwindow.cpp:490
#13 QWindowPrivate::setTopLevelScreen (this=0x63b7a0e374e0, newScreen=0x63b79f792730, recreate=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qwindow.cpp:515
#14 0x00007f36b8936a87 in QWidgetPrivate::create (this=this@entry=0x63b79fbd1c00) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidget.cpp:1318
#15 0x00007f36b8935816 in QWidget::create (this=0x63b79faf5540, window=<optimized out>, initializeWindow=<optimized out>, destroyOldWindow=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidget.cpp:1209
#16 0x00007f36b8ad4208 in QMenuPrivate::popup(QPoint const&, QAction*, std::function<QPoint (QSize const&)>) (this=0x63b79fbd1c00, p=..., atAction=0x0, positionFunction=...) at /usr/src/debug/qt6-base/qtbase/src/widgets/widgets/qmenu.cpp:2369
#17 0x00007f36b8ae713d in QMenu::popup (this=<optimized out>, p=..., atAction=0x0) at /usr/src/debug/qt6-base/qtbase/src/widgets/widgets/qmenu.cpp:2313
#18 QPushButtonPrivate::popupPressed (this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/widgets/widgets/qpushbutton.cpp:586
#19 0x00007f36b79a17e7 in QtPrivate::QSlotObjectBase::call (this=0x63b79fbb8060, r=0x63b79fbb81a0, a=0x7ffe0237a078, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:469
#20 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4086
#21 0x00007f36b8a0e4d2 in QAbstractButton::pressed (this=0x63b79fbb81a0) at /usr/src/debug/qt6-base/build/src/widgets/Widgets_autogen/include/moc_qabstractbutton.cpp:311
#22 QAbstractButtonPrivate::emitPressed (this=0x63b79fbadf00) at /usr/src/debug/qt6-base/qtbase/src/widgets/widgets/qabstractbutton.cpp:395
#23 0x00007f36b8a1b138 in QAbstractButton::mousePressEvent (this=0x63b79fbb81a0, e=0x7ffe0237a6e0) at /usr/src/debug/qt6-base/qtbase/src/widgets/widgets/qabstractbutton.cpp:948
#24 0x00007f36b894bcc6 in QWidget::event (this=0x63b79fbb81a0, event=0x7ffe0237a6e0) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidget.cpp:9018
#25 0x00007f36b88fc55c in QApplicationPrivate::notify_helper (this=this@entry=0x63b79f778be0, receiver=receiver@entry=0x63b79fbb81a0, e=e@entry=0x7ffe0237a6e0) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3287
#26 0x00007f36b8901a01 in QApplication::notify (this=<optimized out>, receiver=<optimized out>, e=0x7ffe0237a6e0) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:2765
#27 0x00007f36b7944e38 in QCoreApplication::notifyInternal2 (receiver=0x63b79fbb81a0, event=0x7ffe0237a6e0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1142
#28 0x00007f36b7944e8d in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1597
#29 0x00007f36b88f3e6d in QApplicationPrivate::sendMouseEvent (receiver=0x63b79fbb81a0, event=0x7ffe0237a6e0, alienWidget=<optimized out>, nativeWidget=0x7ffe0237b1b0, buttonDown=<optimized out>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:2347
#30 0x00007f36b8962072 in QWidgetWindow::handleMouseEvent (this=0x63b79feaf7f0, event=event@entry=0x7ffe0237ab30) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidgetwindow.cpp:649
#31 0x00007f36b89636b0 in QWidgetWindow::event (this=0x63b79feaf7f0, event=0x7ffe0237ab30) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidgetwindow.cpp:263
#32 0x00007f36b88fc55c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x63b79feaf7f0, e=0x7ffe0237ab30) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3287
#33 0x00007f36b7944e38 in QCoreApplication::notifyInternal2 (receiver=0x63b79feaf7f0, event=0x7ffe0237ab30) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1142
#34 0x00007f36b7944e8d in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1597
#35 0x00007f36b7f76cf0 in QGuiApplicationPrivate::processMouseEvent (e=0x63b79fe389c0) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qguiapplication.cpp:2327
#36 0x00007f36b7fe5b44 in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1114
#37 0x00007f36b83f9594 in userEventSourceDispatch (source=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/gui/platform/unix/qeventdispatcher_glib.cpp:38
#38 0x00007f36b6464a89 in g_main_dispatch (context=0x7f36ac000f00) at ../glib/glib/gmain.c:3344
#39 0x00007f36b64c69b7 in g_main_context_dispatch_unlocked (context=0x7f36ac000f00) at ../glib/glib/gmain.c:4152
#40 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7f36ac000f00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4217
#41 0x00007f36b6463f95 in g_main_context_iteration (context=0x7f36ac000f00, may_block=1) at ../glib/glib/gmain.c:4282
#42 0x00007f36b7ba28dd in QEventDispatcherGlib::processEvents (this=0x63b79f7909b0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:394
#43 0x00007f36b794f10e in QEventLoop::processEvents (this=0x7ffe0237af90, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:100
#44 QEventLoop::exec (this=0x7ffe0237af90, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:182
#45 0x00007f36b794945d in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/corelib/global/qflags.h:74
#46 0x00007f36b88f83fa in QApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:2555
#47 0x000063b78852bbf9 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/yakuake/yakuake-24.05.0/app/main.cpp:67
Comment 3 Timothy B 2024-06-15 13:30:13 UTC
It seems that the crash only occurs when I click on the Open Menu button or right click its system tray icon; I could not make Yakuake crash when I clicked on the Quit or Always on Top buttons. I've updated the title to reflect this observation.
Comment 4 Arazil 2024-06-22 14:52:23 UTC
The first back trace (crash involving "QScreen::devicePixelRatio") resembles a back trace found in: https://bugs.kde.org/show_bug.cgi?id=483702#c10

I'm going to add that bug to the "See Also" section since they seem to be related. We might be looking at an upstream Qt bug with handling DPI changes while changing the active screen.
Comment 5 David Edmundson 2024-08-01 11:31:45 UTC

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