Bug 395732 - KWin crashed when opening an application.
Summary: KWin crashed when opening an application.
Status: RESOLVED UPSTREAM
Alias: None
Product: kwin
Classification: Plasma
Component: aurorae (show other bugs)
Version: 5.13.1
Platform: Neon Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: drkonqi, regression
: 395807 396096 (view as bug list)
Depends on:
Blocks:
 
Reported: 2018-06-22 09:06 UTC by Benjamin Buch
Modified: 2021-02-24 05:30 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In:
mgraesslin: Wayland-
mgraesslin: X11+


Attachments
crash report.txt (5.18 KB, text/plain)
2018-06-23 16:41 UTC, vinnywright
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Benjamin Buch 2018-06-22 09:06:57 UTC
Application: kwin_x11 (5.13.1)

Qt Version: 5.11.0
Frameworks Version: 5.48.0
Operating System: Linux 4.4.0-128-generic x86_64
Distribution: KDE neon Developer Edition

-- Information about the crash:
- What I was doing when the application crashed:

KWin crashes any time when I open a new Window.

I'm on KDE neon git stable branch. The problem exists since 21.06.2018.

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".
To enable execution of this file add
	add-auto-load-safe-path /home/bebuch/media/programme/gcc-8/lib64/libstdc++.so.6.0.25-gdb.py
line to your configuration file "/home/bebuch/.gdbinit".
To completely disable this security protection add
	set auto-load safe-path /
line to your configuration file "/home/bebuch/.gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual.  E.g., run from the shell:
	info "(gdb)Auto-loading safe path"
[Current thread is 1 (Thread 0x7f6121b78940 (LWP 2311))]

Thread 5 (Thread 0x7f60effff700 (LWP 2376)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f611d89fe04 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#2  0x00007f611d89fe49 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#3  0x00007f611a60b6ba in start_thread (arg=0x7f60effff700) at pthread_create.c:333
#4  0x00007f61215be41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7f60fde85700 (LWP 2374)):
#0  0x00007f61215b2811 in __GI_ppoll (fds=fds@entry=0x7f60f4000ac8, nfds=nfds@entry=1, timeout=<optimized out>, timeout@entry=0x0, sigmask=sigmask@entry=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:50
#1  0x00007f611e96d651 in ppoll (__ss=<optimized out>, __timeout=<optimized out>, __nfds=<optimized out>, __fds=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/poll2.h:77
#2  qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7f60f4000ac8) at kernel/qcore_unix.cpp:112
#3  qt_safe_poll (fds=0x7f60f4000ac8, nfds=1, timeout_ts=timeout_ts@entry=0x0) at kernel/qcore_unix.cpp:133
#4  0x00007f611e96ece2 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:500
#5  0x00007f611e9191ca in QEventLoop::exec (this=this@entry=0x7f60fde84c50, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214
#6  0x00007f611e74e5e4 in QThread::exec (this=this@entry=0xc15860) at thread/qthread.cpp:522
#7  0x00007f61192a9cf5 in QQmlThreadPrivate::run (this=0xc15860) at qml/ftw/qqmlthread.cpp:148
#8  0x00007f611e759727 in QThreadPrivate::start (arg=0xc15860) at thread/qthread_unix.cpp:367
#9  0x00007f611a60b6ba in start_thread (arg=0x7f60fde85700) at pthread_create.c:333
#10 0x00007f61215be41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7f60feb65700 (LWP 2363)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
#1  0x00007f611e75a55f in QWaitConditionPrivate::wait_relative (time=30000, this=0xaae860) at thread/qwaitcondition_unix.cpp:133
#2  QWaitConditionPrivate::wait (time=30000, this=0xaae860) at thread/qwaitcondition_unix.cpp:141
#3  QWaitCondition::wait (this=this@entry=0xaa3b70, mutex=mutex@entry=0xaae600, time=30000) at thread/qwaitcondition_unix.cpp:215
#4  0x00007f611e74fe8a in QThreadPoolThread::run (this=0xaa3b60) at thread/qthreadpool.cpp:146
#5  0x00007f611e759727 in QThreadPrivate::start (arg=0xaa3b60) at thread/qthread_unix.cpp:367
#6  0x00007f611a60b6ba in start_thread (arg=0x7f60feb65700) at pthread_create.c:333
#7  0x00007f61215be41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f60ffde2700 (LWP 2362)):
#0  0x00007f61215b2811 in __GI_ppoll (fds=fds@entry=0x7f60f800b3b8, nfds=nfds@entry=1, timeout=<optimized out>, timeout@entry=0x0, sigmask=sigmask@entry=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:50
#1  0x00007f611e96d651 in ppoll (__ss=<optimized out>, __timeout=<optimized out>, __nfds=<optimized out>, __fds=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/poll2.h:77
#2  qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7f60f800b3b8) at kernel/qcore_unix.cpp:112
#3  qt_safe_poll (fds=0x7f60f800b3b8, nfds=1, timeout_ts=timeout_ts@entry=0x0) at kernel/qcore_unix.cpp:133
#4  0x00007f611e96ece2 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:500
#5  0x00007f611e9191ca in QEventLoop::exec (this=this@entry=0x7f60ffde1c40, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214
#6  0x00007f611e74e5e4 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:522
#7  0x00007f61181b7f35 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#8  0x00007f611e759727 in QThreadPrivate::start (arg=0x7f6118430d60) at thread/qthread_unix.cpp:367
#9  0x00007f611a60b6ba in start_thread (arg=0x7f60ffde2700) at pthread_create.c:333
#10 0x00007f61215be41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f6121b78940 (LWP 2311)):
[KCrash Handler]
#6  QMetaObject::indexOfProperty (this=0x7f611ed9b610 <vtable for QEvent+16>, name=0x7f6119bb3be8 "_q_sgrendercontext") at kernel/qmetaobject.cpp:996
#7  0x00007f611e945ceb in QObject::property (this=0xdb65a0, name=name@entry=0x7f6119bb3be8 "_q_sgrendercontext") at kernel/qobject.cpp:3938
#8  0x00007f61199d3746 in QSGDefaultRenderContext::invalidate (this=0xdb2a20) at scenegraph/qsgdefaultrendercontext.cpp:165
#9  0x00007f6119aedfbb in QQuickRenderControl::invalidate (this=this@entry=0xd96a30) at items/qquickrendercontrol.cpp:329
#10 0x00007f6119aedff0 in QQuickRenderControl::~QQuickRenderControl (this=0xd96a30, __in_chrg=<optimized out>) at items/qquickrendercontrol.cpp:173
#11 0x00007f6119aee039 in QQuickRenderControl::~QQuickRenderControl (this=0xd96a30, __in_chrg=<optimized out>) at items/qquickrendercontrol.cpp:184
#12 0x00007f611e948c00 in QObject::event (this=0xd96a30, e=<optimized out>) at kernel/qobject.cpp:1242
#13 0x00007f611f6e429c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0xd96a30, e=0xdb65a0) at kernel/qapplication.cpp:3713
#14 0x00007f611f6eb917 in QApplication::notify (this=0x7ffdc7770e40, receiver=0xd96a30, e=0xdb65a0) at kernel/qapplication.cpp:3472
#15 0x00007f611e91ae38 in QCoreApplication::notifyInternal2 (receiver=0xd96a30, event=event@entry=0xdb65a0) at kernel/qcoreapplication.cpp:1048
#16 0x00007f611e91da3e in QCoreApplication::sendEvent (event=0xdb65a0, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
#17 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x91e790) at kernel/qcoreapplication.cpp:1745
#18 0x00007f611e96eb07 in QEventDispatcherUNIX::processEvents (this=0x9a6cd0, flags=flags@entry=...) at kernel/qeventdispatcher_unix.cpp:466
#19 0x00007f61074dbf1d in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at qunixeventdispatcher.cpp:68
#20 0x00007f611e9191ca in QEventLoop::exec (this=this@entry=0x7ffdc7770d20, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214
#21 0x00007f611e9222d4 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1336
#22 0x00007f612188a1f9 in kdemain () from /usr/lib/x86_64-linux-gnu/libkdeinit5_kwin_x11.so
#23 0x00007f61214d7830 in __libc_start_main (main=0x4006b0, argc=1, argv=0x7ffdc7770fd8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffdc7770fc8) at ../csu/libc-start.c:291
#24 0x00000000004006e9 in _start ()

Reported using DrKonqi
Comment 1 Martin Flöser 2018-06-22 16:10:06 UTC
David, could this be a regression from your Aurorae/Wayland workaround?
Comment 2 Benjamin Buch 2018-06-22 16:57:50 UTC
After working a day with the very unstable KWin I can add these informations:

- it doesn't crash on every window opening, but on a lot
- it crash on every window close
- it prevents Krusader to show its window (I can see it in the task manager)
Comment 3 Steve Morehead 2018-06-23 13:36:46 UTC
I have the exact same issue.  Not using Wayland.  Nvidia 384.130 binary.  Currently using Cinnamon as temp DE, as KDE/Plasma too unstable until this gets fixed.
Comment 4 craig 2018-06-23 14:18:50 UTC
I have the same issue. Since the 5.13.1 update my system has bee unusable. I have spent half an hour just trying to post this bug report.

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 0x7fd3783b7940 (LWP 3096))]

Thread 5 (Thread 0x7fd33351c700 (LWP 3106)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fd3740c6e04 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#2  0x00007fd3740c6e49 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#3  0x00007fd370e326ba in start_thread (arg=0x7fd33351c700) at pthread_create.c:333
#4  0x00007fd377de541d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7fd33b427700 (LWP 3105)):
#0  0x00007fd377dd9811 in __GI_ppoll (fds=0x7fd334000ac8, nfds=1, timeout=<optimized out>, sigmask=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:50
#1  0x00007fd375194651 in qt_safe_poll(pollfd*, unsigned long, timespec const*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007fd375195ce2 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007fd3751401ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fd374f755e4 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fd36fad0cf5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#6  0x00007fd374f80727 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fd370e326ba in start_thread (arg=0x7fd33b427700) at pthread_create.c:333
#8  0x00007fd377de541d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7fd347fff700 (LWP 3104)):
#0  0x00007fd377dd9811 in __GI_ppoll (fds=0x7fd340000ac8, nfds=1, timeout=<optimized out>, sigmask=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:50
#1  0x00007fd375194651 in qt_safe_poll(pollfd*, unsigned long, timespec const*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007fd375195ce2 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007fd3751401ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fd374f755e4 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fd36fad0cf5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#6  0x00007fd374f80727 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fd370e326ba in start_thread (arg=0x7fd347fff700) at pthread_create.c:333
#8  0x00007fd377de541d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7fd356997700 (LWP 3101)):
#0  0x00007fd377dd9811 in __GI_ppoll (fds=0x7fd35000f828, nfds=1, timeout=<optimized out>, sigmask=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:50
#1  0x00007fd375194651 in qt_safe_poll(pollfd*, unsigned long, timespec const*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007fd375195ce2 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007fd3751401ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fd374f755e4 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fd36e9def35 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#6  0x00007fd374f80727 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fd370e326ba in start_thread (arg=0x7fd356997700) at pthread_create.c:333
#8  0x00007fd377de541d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7fd3783b7940 (LWP 3096)):
[KCrash Handler]
#6  0x00007fd37514c7e1 in QMetaObject::indexOfProperty(char const*) const () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fd37516cceb in QObject::property(char const*) const () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fd3701fa746 in QSGDefaultRenderContext::invalidate() () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#9  0x00007fd370314fbb in QQuickRenderControl::invalidate() () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#10 0x00007fd370314ff0 in QQuickRenderControl::~QQuickRenderControl() () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#11 0x00007fd370315039 in QQuickRenderControl::~QQuickRenderControl() () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#12 0x00007fd37516fc00 in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007fd375f0b29c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007fd375f12917 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#15 0x00007fd375141e38 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#16 0x00007fd375144a3e in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#17 0x00007fd375195b07 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007fd35dd47f1d in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#19 0x00007fd3751401ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00007fd3751492d4 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#21 0x00007fd3780b11f9 in kdemain () from /usr/lib/x86_64-linux-gnu/libkdeinit5_kwin_x11.so
#22 0x00007fd377cfe830 in __libc_start_main (main=0x4006b0, argc=3, argv=0x7fffa97c82f8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffa97c82e8) at ../csu/libc-start.c:291
#23 0x00000000004006e9 in _start ()
Comment 5 vinnywright 2018-06-23 16:41:09 UTC
Created attachment 113526 [details]
crash report.txt
Comment 6 Martin Flöser 2018-06-24 06:19:36 UTC
*** Bug 395807 has been marked as a duplicate of this bug. ***
Comment 7 David Edmundson 2018-06-24 12:28:55 UTC
Git commit 463ccfc8bbbe65e8e2859ec1b6dfd6e787733d99 by David Edmundson.
Committed on 24/06/2018 at 12:28.
Pushed by davidedmundson into branch 'Plasma/5.13'.

Revert "Workaround crash in Aurorae destruction"

This reverts commit 275b7ee0f456328de870dcdc297871d4eb8cfff2.

M  +6    -4    plugins/kdecorations/aurorae/src/aurorae.cpp
M  +1    -5    plugins/kdecorations/aurorae/src/aurorae.h

https://commits.kde.org/kwin/463ccfc8bbbe65e8e2859ec1b6dfd6e787733d99
Comment 8 David Edmundson 2018-07-02 15:06:13 UTC
FYI, the workaround got reverted due to a side effect.
Workaround concept is fine, but we need to capture more objects..and then it gets messy.

A proper fix is included in the upcoming Qt 5.12
Comment 9 David Edmundson 2018-07-02 15:06:26 UTC
*** Bug 396096 has been marked as a duplicate of this bug. ***