Bug 444386 - Plasma crashes in QWindowSystemInterface::handleScreenRemoved() when HDMI cable is disconnected/reconnected
Summary: Plasma crashes in QWindowSystemInterface::handleScreenRemoved() when HDMI cab...
Status: RESOLVED WORKSFORME
Alias: None
Product: plasmashell
Classification: Plasma
Component: generic-crash (show other bugs)
Version: master
Platform: Neon Linux
: NOR normal
Target Milestone: 1.0
Assignee: David Edmundson
URL:
Keywords: wayland
Depends on:
Blocks:
 
Reported: 2021-10-25 20:35 UTC by techxgames
Modified: 2023-11-26 03:45 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
After effect of disconnecting/reconnecting HDMI on display scaled to 80% (1.36 MB, image/png)
2021-10-25 21:20 UTC, techxgames
Details
Backtrace - latest (26.55 KB, text/plain)
2021-10-25 23:07 UTC, techxgames
Details
Backtrace - just before (15.06 KB, text/plain)
2021-10-25 23:08 UTC, techxgames
Details

Note You need to log in before you can comment on or make changes to this bug.
Description techxgames 2021-10-25 20:35:56 UTC
SUMMARY
I recently acquired an HDMI switch.  Unlike switching through the monitor (where the displays goes "stand-by", the HDMI switch "disconnects" the display when switching happens.
The desktop stops responding to keyboard shortcuts, desktop goes black (KWin doesn't crash).
Only way to bring it back is by `plasmashell --replace`

STEPS TO REPRODUCE
1. Disconnect HDMI
2. Reconnect HDMI

OBSERVED RESULT
The desktop stops responding to keyboard shortcuts, desktop goes black (KWin doesn't crash).  Latte dock stays active, and application windows are unaffected.

EXPECTED RESULT
Plasma shell shouldn't have to crash.

SOFTWARE/OS VERSIONS
Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.23.80
KDE Frameworks Version: 5.88.0
Qt Version: 5.15.3
Kernel Version: 5.11.0-38-generic (64-bit)
Graphics Platform: Wayland
Processors: 4 × Intel® Core™ i7-4510U CPU @ 2.00GHz
Memory: 15.5 GiB of RAM
Graphics Processor: Mesa DRI Intel® HD Graphics 4400

ADDITIONAL INFORMATION
The disconnect/reconnect procedure is done by HDMI switch.
Comment 1 techxgames 2021-10-25 21:20:56 UTC
Created attachment 142872 [details]
After effect of disconnecting/reconnecting HDMI on display scaled to 80%

On the HDMI display, I adjusted fractional scale to 80%.  In this case, the desktop survives, but the wallpaper gets scaled back. 

Still gets fixed  with `plasmashell --replace`
Comment 2 Nate Graham 2021-10-25 22:35:42 UTC
Can you please attach a backtrace for the plasma crash? Probably Bug 421700 or Bug 419492, but we'll need to see the backtrace to be sure.
Comment 3 techxgames 2021-10-25 23:07:46 UTC
Created attachment 142876 [details]
Backtrace - latest
Comment 4 techxgames 2021-10-25 23:08:28 UTC
Created attachment 142877 [details]
Backtrace - just before
Comment 5 Nate Graham 2021-10-25 23:12:49 UTC
Ah neither, it's Bug 414805.

*** This bug has been marked as a duplicate of bug 414805 ***
Comment 6 Nate Graham 2023-10-27 15:39:40 UTC
Pasting backtrace inline for future searchability:

Thread 1 (Thread 0x7ff784bf59c0 (LWP 6424)):
#0  __GI_raise (sig=<optimized out>) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ff78af18e95 in KCrash::defaultCrashHandler(int) () from /lib/x86_64-linux-gnu/libKF5Crash.so.5
#2  <signal handler called>
#3  0x00007ff789421c38 in QScreen::handle() const () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#4  0x00007ff789422f9f in QScreen::~QScreen() () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#5  0x00007ff78942328d in QScreen::~QScreen() () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#6  0x00007ff7893d2bdb in QWindowSystemInterface::handleScreenRemoved(QPlatformScreen*) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#7  0x00007ff786ea0c99 in QtWaylandClient::QWaylandDisplay::registry_global_remove(unsigned int) () from /lib/x86_64-linux-gnu/libQt5WaylandClient.so.5
#8  0x00007ff7872f4ff5 in ?? () from /lib/x86_64-linux-gnu/libffi.so.7
#9  0x00007ff7872f440a in ?? () from /lib/x86_64-linux-gnu/libffi.so.7
#10 0x00007ff78893a3a8 in ?? () from /lib/x86_64-linux-gnu/libwayland-client.so.0
#11 0x00007ff788936c48 in ?? () from /lib/x86_64-linux-gnu/libwayland-client.so.0
#12 0x00007ff78893821c in wl_display_dispatch_queue_pending () from /lib/x86_64-linux-gnu/libwayland-client.so.0
#13 0x00007ff786e9f235 in QtWaylandClient::QWaylandDisplay::flushRequests() () from /lib/x86_64-linux-gnu/libQt5WaylandClient.so.5
#14 0x00007ff78904de00 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x00007ff789051e53 in QSocketNotifier::activated(QSocketDescriptor, QSocketNotifier::Type, QSocketNotifier::QPrivateSignal) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#16 0x00007ff7890525f3 in QSocketNotifier::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#17 0x00007ff789d28dc3 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#18 0x00007ff789d31bb8 in QApplication::notify(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007ff789016daa in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00007ff789072205 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#21 0x00007ff78734c17d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007ff78734c400 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007ff78734c4a3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007ff789071602 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#25 0x00007ff7890158ab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#26 0x00007ff78901da64 in QCoreApplication::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#27 0x0000562092f3acf5 in ?? ()
#28 0x00007ff7889b30b3 in __libc_start_main (main=0x562092f39e90, argc=2, argv=0x7ffc6fb00208, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffc6fb001f8) at ../csu/libc-start.c:308
#29 0x0000562092f3ae1e in ?? ()
Comment 7 Nate Graham 2023-10-27 15:42:08 UTC
My mistake, it's not a duplicate of Bug 414805 as the backtrace is different. It's got the same root cause as Bug 468694 which is fixed in Spectacle code. So this might require a fix in plasmashell code if it's not already fixed. Can you check again in Plasma 5.27? Thanks a lot!
Comment 8 Bug Janitor Service 2023-11-11 03:45:46 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 9 Bug Janitor Service 2023-11-26 03:45:42 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!