Bug 439020

Summary: Choosing "New Desktop" from the windows operations menu crashes kwin
Product: [Plasma] kwin Reporter: Oded Arbel <oded>
Component: platform-x11-standaloneAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: crash CC: kde, nate
Priority: NOR    
Version First Reported In: git master   
Target Milestone: ---   
Platform: Other   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=438149
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Oded Arbel 2021-06-22 07:59:50 UTC
I'm using Neon developer edition with DBus integration turned on.

SUMMARY
Plasma crahes when opening the window operations menu and selecting "Move To Desktop" -> "New Desktop".

STEPS TO REPRODUCE
1. Start a kwin X11 session.
2. Start an application
3. Open the window operations menu, select "Move To Desktop" then select "New Desktop"

OBSERVED RESULT
The entire desktop session crashes - all windows disappear, there's a black screen for a few seconds, after which kwin restarts and shows the windows that were opened before the crash. Looking in the "Move To Desktop" window again, I can see that a new desktop has been created and I can now move the window there.

EXPECTED RESULT
The window should be moved to the newly created desktop.

SOFTWARE/OS VERSIONS
KDE Plasma Version: 5.22.80
KDE Frameworks Version: 5.84.0
Qt Version: 5.15.3

ADDITIONAL INFORMATION
This seems very very similar to bug #438149 (to the point where I basically copied all the text and just modified it a bit for this X11 crash), but the stack traces I get look very much different.

Here's what apport-retrace found for me as a possible cause for the crash:

---8<---
 Thread 1 (Thread 0x7f115364ed80 (LWP 8832)):
 #0  __GI___pthread_sigmask (how=1, newmask=<optimized out>, oldmask=0x0) at pthread_sigmask.c:44
         local_newmask = {__val = {139712506051280, 32, 2, 9223372036854775822, 0 <repeats 12 times>}}
         result = 0
 #1  0x00007f1158b5827d in __GI___sigprocmask (how=<optimized out>, set=<optimized out>, oset=<optimized out>) at ../sysdeps/unix/sysv/linux/sigprocmask.c:25
         result = <optimized out>
 #2  0x00007f115a4b350f in KCrash::setCrashHandler(void (*)(int)) () at /lib/x86_64-linux-gnu/libKF5Crash.so.5
 #3  0x00007f115a4b41f6 in KCrash::defaultCrashHandler(int) () at /lib/x86_64-linux-gnu/libKF5Crash.so.5
 #4  0x00007f1158b58040 in <signal handler called> () at /lib/x86_64-linux-gnu/libc.so.6
 #5  KWin::Workspace::sendClientToDesktop(KWin::AbstractClient*, int, bool) (this=this@entry=0x55da33ac7180, c=0x0, desk=desk@entry=7, dont_activate=dont_activate@entry=false) at ./src/workspace.cpp:1273
         old_desktop = <optimized out>
         was_on_desktop = <optimized out>
         transients_stacking_order = {<QListSpecialMethods<KWin::AbstractClient*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x55da33695cb0}, d = 0x55da33695cb0}}
 #6  0x00007f115a6ffc98 in KWin::UserActionsMenu::slotSendToDesktop(QAction*) (this=0x55da33838ec0, action=<optimized out>) at ./src/useractions.cpp:733
         ok = true
         desk = 7
         ws = 0x55da33ac7180
         vds = <optimized out>
---8<---

The full crash file is available at http://code.geek.co.il/dumps/2021-06-22-_usr_bin_kwin_x11.1000.crash
Comment 1 David Edmundson 2021-08-01 23:27:20 UTC

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