Bug 454384 - Plasmashell crashes when switching from external monitor to laptop screen and vice versa
Summary: Plasmashell crashes when switching from external monitor to laptop screen and...
Status: RESOLVED DUPLICATE of bug 451028
Alias: None
Product: plasmashell
Classification: Plasma
Component: generic-multiscreen (show other bugs)
Version: 5.23.90
Platform: Other Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-05-25 09:12 UTC by Samuel Reddy
Modified: 2022-06-19 23:11 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (2.36 KB, text/plain)
2022-06-19 23:11 UTC, tosquito
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Samuel Reddy 2022-05-25 09:12:36 UTC
SUMMARY
Plasmashell will crash when switching from the built in screen to the external monitor and vice versa using the screen switcher menu.

STEPS TO REPRODUCE
1. Switch from built in screen(or external monitor) to the external monitor(or built in screen)
2. Plasmashell will crash 

OBSERVED RESULT
Plasmashell crashes when switching screens

EXPECTED RESULT
Plasmashell does not crash switching screens

SOFTWARE/OS VERSIONS
Operating System: Arch Linux
KDE Plasma Version: 5.24.90
KDE Frameworks Version: 5.94.0
Qt Version: 5.15.4
Kernel Version: 5.17.9-arch1-1 (64-bit)
Graphics Platform: Wayland
Processors: 8 × AMD Ryzen 5 3450U with Radeon Vega Mobile Gfx
Memory: 5.7 GiB of RAM
Graphics Processor: AMD Radeon Vega 8 Graphics
Manufacturer: Dell Inc.
Product Name: Inspiron 3505
System Version: 1.4.9

ADDITIONAL INFORMATION
Comment 1 Samuel Reddy 2022-05-25 09:36:53 UTC
backtrace:

#0  __GI___pthread_sigmask (how=1, newmask=<optimized out>, oldmask=0x0) at pthread_sigmask.c:43
#1  0x00007f58e127eadd in __GI___sigprocmask (how=<optimized out>, set=<optimized out>, oset=<optimized out>) at ../sysdeps/unix/sysv/linux/sigprocmask.c:25
#2  0x00007f58e35e91cb in KCrash::setCrashHandler(void (*)(int)) (handler=handler@entry=0x0) at /usr/src/debug/kcrash-5.94.0/src/kcrash.cpp:415
#3  0x00007f58e35eb837 in KCrash::defaultCrashHandler(int) (sig=11) at /usr/src/debug/kcrash-5.94.0/src/kcrash.cpp:632
#4  0x00007f58e127e8e0 in <signal handler called> () at /usr/lib/libc.so.6
#5  0x00007f58df5b2ee7 in QtWayland::wl_output::handle_done(void*, wl_output*) (data=0x5654a4d64460, object=0x5654a2e3ac30) at /usr/src/debug/build/src/client/qwayland-wayland.cpp:2247
#6  0x00007f58e1107536 in ffi_call_unix64 () at ../src/x86/unix64.S:105
#7  0x00007f58e1104037 in ffi_call_int (cif=<optimized out>, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, closure=<optimized out>) at ../src/x86/ffi64.c:672
#8  0x00007f58e38685e2 in wl_closure_invoke (closure=closure@entry=0x7f58cc01db40, target=<optimized out>, target@entry=0x5654a2e3ac30, opcode=opcode@entry=2, data=<optimized out>, flags=<optimized out>)
    at ../wayland-1.20.0/src/connection.c:1025
#9  0x00007f58e3868d73 in dispatch_event (display=display@entry=0x5654a16279a0, queue=0x5654a1627a70, queue=<optimized out>) at ../wayland-1.20.0/src/wayland-client.c:1583
#10 0x00007f58e3868f8c in dispatch_queue (queue=0x5654a1627a70, display=0x5654a16279a0) at ../wayland-1.20.0/src/wayland-client.c:1729
#11 wl_display_dispatch_queue_pending (display=0x5654a16279a0, queue=0x5654a1627a70) at ../wayland-1.20.0/src/wayland-client.c:1971
#12 0x00007f58df58dc56 in QtWaylandClient::QWaylandDisplay::flushRequests() (this=<optimized out>) at /usr/src/debug/qtwayland/src/client/qwaylanddisplay.cpp:253
#13 0x00007f58e1935910 in QObject::event(QEvent*) (this=0x5654a1623980, e=0x7f58d40079a0) at kernel/qobject.cpp:1314
#14 0x00007f58e2563a7c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x5654a1623980, e=0x7f58d40079a0) at kernel/qapplication.cpp:3637
#15 0x00007f58e1911ff8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x5654a1623980, event=0x7f58d40079a0) at kernel/qcoreapplication.cpp:1064
#16 0x00007f58e1912af3 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x5654a1616f00) at kernel/qcoreapplication.cpp:1821
#17 0x00007f58e1958988 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x5654a163d940) at kernel/qeventdispatcher_glib.cpp:277
#18 0x00007f58dfce6163 in g_main_dispatch (context=0x5654a1640fc0) at ../glib/glib/gmain.c:3417
#19 g_main_context_dispatch (context=0x5654a1640fc0) at ../glib/glib/gmain.c:4135
#20 0x00007f58dfd3c9e9 in g_main_context_iterate.constprop.0 (context=context@entry=0x5654a1640fc0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4211
#21 0x00007f58dfce36c5 in g_main_context_iteration (context=0x5654a1640fc0, may_block=1) at ../glib/glib/gmain.c:4276
#22 0x00007f58e195c7bc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5654a15f4370, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#23 0x00007f58e190a79c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7ffeb3309c60, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#24 0x00007f58e19152a9 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#25 0x00007f58e1ce0fd2 in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1867
#26 0x00007f58e2561e8a in QApplication::exec() () at kernel/qapplication.cpp:2829
#27 0x00005654a13cb0e5 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-workspace-5.24.90/shell/main.cpp:240
Comment 2 Nate Graham 2022-05-25 15:25:33 UTC

*** This bug has been marked as a duplicate of bug 451028 ***
Comment 3 tosquito 2022-06-19 23:11:04 UTC
Created attachment 149934 [details]
New crash information added by DrKonqi

plasmashell (5.25.0) using Qt 5.15.4

The crash occurs when I attach my external screen or when I disable the external screen and switch to the laptop screen.

-- Backtrace (Reduced):
#4  0x00007f7be138821a in QtWayland::wl_output::handle_done(void*, wl_output*) () at /usr/lib64/libQt5WaylandClient.so.5
[...]
#9  0x00007f7be526832c in wl_display_dispatch_queue_pending () at /usr/lib64/libwayland-client.so.0
#10 0x00007f7be1360ada in QtWaylandClient::QWaylandDisplay::flushRequests() () at /usr/lib64/libQt5WaylandClient.so.5
#11 0x00007f7be3282d4e in QObject::event(QEvent*) () at /usr/lib64/libQt5Core.so.5
#12 0x00007f7be3ecf63f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5