Bug 454385 - Desktop icons disappear when focusing an app following unplugging an external/secondary screen
Summary: Desktop icons disappear when focusing an app following unplugging an externa...
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (show other bugs)
Version: 5.27.4
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks: 468996
  Show dependency treegraph
 
Reported: 2022-05-25 09:22 UTC by Samuel Reddy
Modified: 2023-04-26 12:13 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.27.4


Attachments
desktop icons disappeared (1.00 MB, image/png)
2022-05-25 09:23 UTC, Samuel Reddy
Details
shown desktop icons (1.11 MB, image/png)
2022-05-25 09:24 UTC, Samuel Reddy
Details
bt full with debug symbols (57.37 KB, text/x-log)
2023-04-25 13:09 UTC, Cuchac
Details
journal (41.38 KB, text/x-log)
2023-04-25 13:11 UTC, Cuchac
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:22:08 UTC
SUMMARY
When switching back to the primary screen, either from plugging out the hdmi cable or using the screen menu to switch back to the primary screen, desktop icons don't show when focused on an app, but show when focused on plasmashell.


STEPS TO REPRODUCE
1. Disconnect hdmi cable or switch back to built in screen
2. desktop icons disapper
3. click on the wallpaper
4. desktop icons shows
5. focus on app
6. desktop icons disapper

OBSERVED RESULT
Desktop icons will disappear when focused on a app

EXPECTED RESULT
Desktop icons don't disappear

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:23:27 UTC
Created attachment 149200 [details]
desktop icons disappeared
Comment 2 Samuel Reddy 2022-05-25 09:24:00 UTC
Created attachment 149201 [details]
shown desktop icons
Comment 3 Samuel Reddy 2022-05-25 09:35:38 UTC
Backtrace from gdb and debuginfod:

#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 4 Samuel Reddy 2022-05-25 09:36:09 UTC
(In reply to Samuel Reddy from comment #3)
> Backtrace from gdb and debuginfod:
> 
> #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

wrong bug report
Comment 5 Nate Graham 2022-05-25 15:23:35 UTC
I have periodically seen this  as well on Wayland after unplugging screens or changing the scale factor; it's like there's a different version of the desktop pixmap and it gets toggled between based on app focus.
Comment 6 Vlad Zahorodnii 2022-05-26 11:13:43 UTC
(In reply to Nate Graham from comment #5)
> I have periodically seen this  as well on Wayland after unplugging screens
> or changing the scale factor; it's like there's a different version of the
> desktop pixmap and it gets toggled between based on app focus.

I wonder if the "Session Quit" effect is mistriggered. Can you disable it in system settings? You will need to uncheck "Exclude internal effects"
Comment 7 Nate Graham 2022-05-26 16:21:36 UTC
I managed to make this happen today by plugging in an external screen and choosing "Extend to left" on Wayland. Indeed, when disabling the Session Quit effect, the problem doesn't happen anymore.
Comment 8 Cuchac 2023-04-25 13:08:00 UTC
I still experience this issue. See attached "bt full" with debug symbols.

It happens during when switching screens (docking station) or wake from sleep.

Plasma 5.27.4
kded 5.105.0

Attached also journal from the crash.
Comment 9 Cuchac 2023-04-25 13:09:51 UTC
Created attachment 158418 [details]
bt full with debug symbols
Comment 10 Cuchac 2023-04-25 13:11:33 UTC
Created attachment 158419 [details]
journal
Comment 11 Nate Graham 2023-04-25 15:50:19 UTC
Cuchac, your backtrace looks different. Can you submit a new bug report for it? Thanks!

As for the original issue, this should have been fixed in Plasma 5.27. I can't reproduce it anymore the way I could in comment 5 and comment 7.
Comment 12 Cuchac 2023-04-26 12:13:45 UTC
(In reply to Nate Graham from comment #11)
> Cuchac, your backtrace looks different. Can you submit a new bug report for
> it? Thanks!

Sorry, did not recognized it is different. Here it is: https://bugs.kde.org/show_bug.cgi?id=468996