Bug 477941

Summary: Plasma asserts in qobject_cast<PanelView *>(panel) after ShellCorona::createWaitingPanels() after connecting the external display
Product: [Plasma] plasmashell Reporter: Ternomashi <ternomashi>
Component: Desktop ContainmentAssignee: Plasma Bugs List <plasma-bugs>
Status: CONFIRMED ---    
Severity: crash CC: anditosan1000, bednarczyk.pawel, kdedev, nate, nicolas.fella, notmart, robin, stephan.laenge, ua_bugz_kde
Priority: NOR Keywords: drkonqi, multiscreen, qt6
Version: 5.90.0   
Target Milestone: 1.0   
Platform: Neon   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=443708
https://bugs.kde.org/show_bug.cgi?id=478071
Latest Commit: Version Fixed In:
Sentry Crash Report: https://crash-reports.kde.org/organizations/kde/issues/2695/
Attachments: New crash information added by DrKonqi

Description Ternomashi 2023-12-02 20:40:31 UTC
Application: plasmashell (5.90.0)

Qt Version: 6.6.0
Frameworks Version: 5.246.0
Operating System: Linux 6.2.0-37-generic x86_64
Windowing System: Wayland
Distribution: KDE neon Unstable Edition
DrKonqi: 5.90.0 [CoredumpBackend]

-- Information about the crash:
Plasma crashes immediately after connecting the external display. In my case the display was connected to HDMI port.

The reporter is unsure if this crash is reproducible.

-- Backtrace (Reduced):
#6  __pthread_kill_implementation (no_tid=0, signo=6, threadid=140661521833920) at ./nptl/pthread_kill.c:44
#7  __pthread_kill_internal (signo=6, threadid=140661521833920) at ./nptl/pthread_kill.c:78
#8  __GI___pthread_kill (threadid=140661521833920, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#9  0x00007fee54042476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#10 0x00007fee540287f3 in __GI_abort () at ./stdlib/abort.c:79


Reported using DrKonqi
Comment 1 Ternomashi 2023-12-02 20:40:32 UTC
Created attachment 163783 [details]
New crash information added by DrKonqi

DrKonqi auto-attaching complete backtrace.
Comment 2 Nate Graham 2023-12-05 20:50:57 UTC
Thread 1 (Thread 0x7fee500adfc0 (LWP 59633)):
[KCrash Handler]
#6  __pthread_kill_implementation (no_tid=0, signo=6, threadid=140661521833920) at ./nptl/pthread_kill.c:44
#7  __pthread_kill_internal (signo=6, threadid=140661521833920) at ./nptl/pthread_kill.c:78
#8  __GI___pthread_kill (threadid=140661521833920, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#9  0x00007fee54042476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#10 0x00007fee540287f3 in __GI_abort () at ./stdlib/abort.c:79
#11 0x00007fee54cd6fb7 in qAbort() () at ./src/corelib/global/qglobal.cpp:161
#12 0x00007fee54cd2465 in qt_message_fatal<QString&> (message=..., context=<optimized out>) at ./src/corelib/global/qlogging.cpp:2003
#13 qt_message(QtMsgType, const QMessageLogContext &, const char *, typedef __va_list_tag __va_list_tag *) (msgType=msgType@entry=QtFatalMsg, context=<optimized out>, msg=<optimized out>, ap=ap@entry=0x7ffd207784a0) at ./src/corelib/global/qlogging.cpp:378
#14 0x00007fee54cd79e3 in QMessageLogger::fatal(char const*, ...) const (this=<optimized out>, msg=<optimized out>) at ./src/corelib/global/qlogging.cpp:901
#15 0x00007fee54ca5908 in qt_assert(char const*, char const*, int) (assertion=assertion@entry=0x56544c976280 "qobject_cast<PanelView *>(panel)", file=file@entry=0x56544c976faa "./shell/shellcorona.cpp", line=line@entry=1504) at ./src/corelib/global/qassert.cpp:68
#16 0x000056544c8c0e67 in operator() (__closure=0x56545094d540) at ./shell/shellcorona.cpp:1503
#17 operator() (__closure=0x56545094d540) at ./shell/shellcorona.cpp:1503
#18 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, ShellCorona::createWaitingPanels()::<lambda()> >::call (arg=<optimized out>, f=...) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:137
#19 QtPrivate::Functor<ShellCorona::createWaitingPanels()::<lambda()>, 0>::call<QtPrivate::List<>, void> (arg=<optimized out>, f=...) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:339
#20 QtPrivate::QCallableObject<ShellCorona::createWaitingPanels()::<lambda()>, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=0x56545094d530, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs_impl.h:522
#21 0x00007fee54c26b9e in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffd207786c0, r=0x56544cff9a20, this=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ./src/corelib/kernel/qobjectdefs_impl.h:433
#22 doActivate<false>(QObject*, int, void**) (sender=0x56544fd1e730, signal_index=15, argv=0x7ffd207786c0) at ./src/corelib/kernel/qobject.cpp:4021
#23 0x00007fee5513c196 in QWindow::visibleChanged(bool) (this=this@entry=0x56544fd1e730, _t1=<optimized out>) at ./obj-x86_64-linux-gnu/src/gui/Gui_autogen/include/moc_qwindow.cpp:1195
#24 0x00007fee5514372b in QWindowPrivate::setVisible(bool) (this=0x56544d7f1b80, visible=<optimized out>) at ./src/gui/kernel/qwindow.cpp:338
#25 0x00007fee55142b9b in QWindowPrivate::destroy() (this=this@entry=0x56544d7f1b80) at ./src/gui/kernel/qwindow.cpp:2031
#26 0x00007fee55142df6 in QWindow::~QWindow() (this=0x56544fd1e730, this=<optimized out>) at ./src/gui/kernel/qwindow.cpp:185
#27 0x000056544c8ecbbd in PanelView::~PanelView() (this=0x56544fd1e730, __in_chrg=<optimized out>) at ./shell/panelview.cpp:129
#28 0x00007fee54bc6eb3 in QObject::event(QEvent*) (this=0x56544fd1e730, e=0x565450506350) at ./src/corelib/kernel/qobject.cpp:1424
#29 0x00007fee56bf079b in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x56544fd1e730, e=0x565450506350) at ./src/widgets/kernel/qapplication.cpp:3290
#30 0x00007fee54c5e828 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x56544fd1e730, event=event@entry=0x565450506350) at ./src/corelib/kernel/qcoreapplication.cpp:1118
#31 0x00007fee54c5e86d in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=<optimized out>, event=event@entry=0x565450506350) at ./src/corelib/kernel/qcoreapplication.cpp:1536
#32 0x00007fee54c5ef40 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x56544ced5040) at ./src/corelib/kernel/qcoreapplication.cpp:1898
#33 0x00007fee54a63087 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x56544cf8c2e0) at ./src/corelib/kernel/qeventdispatcher_glib.cpp:243
#34 0x00007fee534a0d3b in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#35 0x00007fee534f6258 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#36 0x00007fee5349e3e3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#37 0x00007fee54a5de60 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x56544cedada0, flags=...) at ./src/corelib/kernel/qeventdispatcher_glib.cpp:393
#38 0x00007fee54c60a5b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffd20778bd0, flags=..., flags@entry=...) at ./src/corelib/global/qflags.h:34
#39 0x00007fee54c6268c in QCoreApplication::exec() () at ./src/corelib/global/qflags.h:74
#40 0x00007fee550e9940 in QGuiApplication::exec() () at ./src/gui/kernel/qguiapplication.cpp:1921
#41 0x00007fee56be8c89 in QApplication::exec() () at ./src/widgets/kernel/qapplication.cpp:2569
#42 0x000056544c8c6adf in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at ./shell/main.cpp:230
-- Notice: 1 systemd-coredump@.service unit is running, output may be incomplete.
Comment 3 Andres Betts 2023-12-15 16:02:04 UTC
In talking to @nicofe I think I am experiencing something similar.

https://pastebin.com/qhKypGXR
Comment 4 Nate Graham 2023-12-20 19:23:43 UTC
Yep, looks like your stack trace is the same one as this crash.
Comment 5 Nate Graham 2024-06-26 13:35:17 UTC
*** Bug 484689 has been marked as a duplicate of this bug. ***
Comment 6 Nate Graham 2024-09-26 20:45:59 UTC
*** Bug 478752 has been marked as a duplicate of this bug. ***
Comment 7 Nate Graham 2024-10-11 18:05:54 UTC
*** Bug 494512 has been marked as a duplicate of this bug. ***
Comment 8 TraceyC 2024-11-12 23:42:23 UTC
*** Bug 493314 has been marked as a duplicate of this bug. ***