Bug 415469

Summary: KWin crashes when activating window rule to disable compositing
Product: [Plasma] kwin Reporter: Oded Arbel <oded>
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: crash CC: kde
Priority: NOR Keywords: drkonqi
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Kwin rule that supposedly causes the crash

Description Oded Arbel 2019-12-23 07:47:26 UTC
Application: kwin_x11 (5.17.80)

Qt Version: 5.12.4
Frameworks Version: 5.66.0
Operating System: Linux 5.3.0-25-generic x86_64
Windowing system: X11
Distribution: Ubuntu 19.10

-- Information about the crash:
- What I was doing when the application crashed:
Launching an application that triggeres a kwin rule that has "Block Compositing" set to "Force Yes".

- Custom settings of the application:
Kwin rule attached.

Kwin is installed from Kubuntu KCI ppa "unstable", currently running kwin_x11 from 4:5.17.80+p19.10+git20191220.2244-0 but previous install - which was 4:5.17.80+p19.10+git20191217.0754-0 - did not exhibit this behavior.

The crash can be reproduced every time.

-- Backtrace:
Application: KWin (kwin_x11), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f8df69cb800 (LWP 16300))]

Thread 7 (Thread 0x7f8de3fff700 (LWP 16334)):
#0  0x00007f8dfd8d02c6 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55ad044728c4) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  0x00007f8dfd8d02c6 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55ad04472870, cond=0x55ad04472898) at pthread_cond_wait.c:508
#2  0x00007f8dfd8d02c6 in __pthread_cond_wait (cond=0x55ad04472898, mutex=0x55ad04472870) at pthread_cond_wait.c:638
#3  0x00007f8dfc1d4def in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f8dfc1d4ee1 in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f8dfb2ab7b9 in  () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#6  0x00007f8dfb2aba1a in  () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#7  0x00007f8dfc1cecc2 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f8dfd8c9669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#9  0x00007f8dfda0b323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7f8de1b35700 (LWP 16317)):
#0  0x00007f8dfd8d02c6 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x7f8dfbd8ffb8) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  0x00007f8dfd8d02c6 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x7f8dfbd8ff68, cond=0x7f8dfbd8ff90) at pthread_cond_wait.c:508
#2  0x00007f8dfd8d02c6 in __pthread_cond_wait (cond=0x7f8dfbd8ff90, mutex=0x7f8dfbd8ff68) at pthread_cond_wait.c:638
#3  0x00007f8dfbc9908a in  () at /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#4  0x00007f8dfbc990af in  () at /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#5  0x00007f8dfd8c9669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#6  0x00007f8dfda0b323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7f8de2b37700 (LWP 16306)):
#0  0x00007f8dfd8d02c6 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55ad03c90018) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  0x00007f8dfd8d02c6 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55ad03c8ffc8, cond=0x55ad03c8fff0) at pthread_cond_wait.c:508
#2  0x00007f8dfd8d02c6 in __pthread_cond_wait (cond=0x55ad03c8fff0, mutex=0x55ad03c8ffc8) at pthread_cond_wait.c:638
#3  0x00007f8de301d97b in  () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007f8de301d59b in  () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007f8dfd8c9669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#6  0x00007f8dfda0b323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f8ded8a5700 (LWP 16304)):
#0  0x00007f8dfd9fed26 in __GI_ppoll (fds=0x7f8ddc000d68, nfds=1, timeout=<optimized out>, sigmask=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:39
#1  0x00007f8dfc3e95f9 in qt_safe_poll(pollfd*, unsigned long, timespec const*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f8dfc3eab64 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007f8dfc39463b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f8dfc1cda75 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f8dfaf50319 in  () at /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#6  0x00007f8dfc1cecc2 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f8dfd8c9669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#8  0x00007f8dfda0b323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f8df50c4700 (LWP 16302)):
#0  0x00007f8dfd9fed26 in __GI_ppoll (fds=0x7f8de800ec38, nfds=1, timeout=<optimized out>, sigmask=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:39
#1  0x00007f8dfc3e95f9 in qt_safe_poll(pollfd*, unsigned long, timespec const*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f8dfc3eab64 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007f8dfc39463b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f8dfc1cda75 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f8dfd3f2efa in  () at /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#6  0x00007f8dfc1cecc2 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f8dfd8c9669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#8  0x00007f8dfda0b323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f8df5fad700 (LWP 16301)):
#0  0x00007f8dfd9fec2f in __GI___poll (fds=fds@entry=0x7f8df5facca8, nfds=nfds@entry=1, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f8dfc0f2917 in poll (__timeout=-1, __nfds=1, __fds=0x7f8df5facca8) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
#2  0x00007f8dfc0f2917 in _xcb_conn_wait (c=c@entry=0x55ad03881ee0, cond=cond@entry=0x55ad03881f20, vector=vector@entry=0x0, count=count@entry=0x0) at ../../src/xcb_conn.c:479
#3  0x00007f8dfc0f453a in xcb_wait_for_event (c=0x55ad03881ee0) at ../../src/xcb_in.c:697
#4  0x00007f8df6303288 in  () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#5  0x00007f8dfc1cecc2 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f8dfd8c9669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#7  0x00007f8dfda0b323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f8df69cb800 (LWP 16300)):
[KCrash Handler]
#6  0x00007f8dfd64559f in KWin::X11Compositor::performCompositing() () at /usr/lib/x86_64-linux-gnu/libkwin.so.5
#7  0x00007f8dfc3ce706 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f8dfc3c1e55 in QObject::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007f8dfcda7a86 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#10 0x00007f8dfcdb0e00 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007f8dfc395a9a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007f8dfc3eca00 in QTimerInfoList::activateTimers() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007f8dfc3eacbf in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007f8df6304642 in  () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#15 0x00007f8dfc39463b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#16 0x00007f8dfc39c3a6 in QCoreApplication::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#17 0x00007f8dfdae38df in kdemain () at /usr/lib/x86_64-linux-gnu/libkdeinit5_kwin_x11.so
#18 0x00007f8dfd9101e3 in __libc_start_main (main=0x55ad02112060, argc=1, argv=0x7ffcc1a3edc8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffcc1a3edb8) at ../csu/libc-start.c:308
#19 0x000055ad0211209e in _start ()
[Inferior 1 (process 16300) detached]

Possible duplicates by query: bug 415359, bug 415339, bug 415256, bug 415110, bug 415109.

Reported using DrKonqi
Comment 1 Oded Arbel 2019-12-23 07:49:19 UTC
Created attachment 124659 [details]
Kwin rule that supposedly causes the crash

After deleting the rule, the crash no longer happens
Comment 2 David Edmundson 2020-01-07 11:20:45 UTC

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