Bug 358850 - KWin crash after closing window from Present Windows
Summary: KWin crash after closing window from Present Windows
Status: RESOLVED WORKSFORME
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: drkonqi, triaged
Depends on:
Blocks:
 
Reported: 2016-01-31 23:29 UTC by Kai Uwe Broulik
Modified: 2018-10-27 02:16 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kai Uwe Broulik 2016-01-31 23:29:25 UTC
Application: kwin_x11 (5.5.90)
 (Compiled from sources)
Qt Version: 5.5.1
Operating System: Linux 4.2.0-22-generic x86_64
Distribution: Ubuntu 15.10

-- Information about the crash:
- What I was doing when the application crashed:
I was in VLC player settings when it suddenly opened a fullscreen player window I was unable to exit from (eg. double click the window did nothing), so I invoked Present Windows by screen corner to closethe VLC fullscreen window. After I closed it, VLC quit and KWin crashed.

-- 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 0x7f2f2d000840 (LWP 1798))]

Thread 5 (Thread 0x7f2f15045700 (LWP 1814)):
#0  0x00007f2f2cb018dd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f2f2aab3bd2 in poll (__timeout=-1, __nfds=1, __fds=0x7f2f15044c80) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
#2  _xcb_conn_wait (c=c@entry=0xb49e00, cond=cond@entry=0xb49e40, vector=vector@entry=0x0, count=count@entry=0x0) at ../../src/xcb_conn.c:459
#3  0x00007f2f2aab574f in xcb_wait_for_event (c=0xb49e00) at ../../src/xcb_in.c:623
#4  0x00007f2f158e57e9 in QXcbEventReader::run (this=0xb544c0) at qxcbconnection.cpp:1229
#5  0x00007f2f2ad70a6e in QThreadPrivate::start (arg=0xb544c0) at thread/qthread_unix.cpp:331
#6  0x00007f2f2bfe56aa in start_thread (arg=0x7f2f15045700) at pthread_create.c:333
#7  0x00007f2f2cb0ceed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7f2f0d63d700 (LWP 1850)):
#0  0x00007f2f2cb03743 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f2f2afa3b7f in qt_safe_select (nfds=12, fdread=fdread@entry=0x7f2f00000a78, fdwrite=fdwrite@entry=0x7f2f00000d08, fdexcept=fdexcept@entry=0x7f2f00000f98, orig_timeout=orig_timeout@entry=0x0) at kernel/qcore_unix.cpp:75
#2  0x00007f2f2afa567e in QEventDispatcherUNIX::select (timeout=0x0, exceptfds=0x7f2f00000f98, writefds=0x7f2f00000d08, readfds=0x7f2f00000a78, nfds=<optimized out>, this=0x7f2f000008c0) at kernel/qeventdispatcher_unix.cpp:320
#3  QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7f2f000008e0, flags=..., flags@entry=..., timeout=timeout@entry=0x0) at kernel/qeventdispatcher_unix.cpp:196
#4  0x00007f2f2afa5bae in QEventDispatcherUNIX::processEvents (this=0x7f2f000008c0, flags=...) at kernel/qeventdispatcher_unix.cpp:607
#5  0x00007f2f2af4f50a in QEventLoop::exec (this=this@entry=0x7f2f0d63cd60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007f2f2ad6bac4 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:503
#7  0x00007f2f256e8c35 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007f2f2ad70a6e in QThreadPrivate::start (arg=0xd8c300) at thread/qthread_unix.cpp:331
#9  0x00007f2f2bfe56aa in start_thread (arg=0x7f2f0d63d700) at pthread_create.c:333
#10 0x00007f2f2cb0ceed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7f2f061c3700 (LWP 1865)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f2f29e89194 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#2  0x00007f2f29e891d9 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#3  0x00007f2f2bfe56aa in start_thread (arg=0x7f2f061c3700) at pthread_create.c:333
#4  0x00007f2f2cb0ceed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f2f0e2db700 (LWP 15903)):
#0  0x00007f2f2cb03743 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f2f2afa3b7f in qt_safe_select (nfds=11, fdread=fdread@entry=0x7f2f0811c978, fdwrite=fdwrite@entry=0x7f2f0811cc08, fdexcept=fdexcept@entry=0x7f2f0811ce98, orig_timeout=orig_timeout@entry=0x0) at kernel/qcore_unix.cpp:75
#2  0x00007f2f2afa567e in QEventDispatcherUNIX::select (timeout=0x0, exceptfds=0x7f2f0811ce98, writefds=0x7f2f0811cc08, readfds=0x7f2f0811c978, nfds=<optimized out>, this=0x7f2f08033040) at kernel/qeventdispatcher_unix.cpp:320
#3  QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7f2f0811c7e0, flags=..., flags@entry=..., timeout=timeout@entry=0x0) at kernel/qeventdispatcher_unix.cpp:196
#4  0x00007f2f2afa5bae in QEventDispatcherUNIX::processEvents (this=0x7f2f08033040, flags=...) at kernel/qeventdispatcher_unix.cpp:607
#5  0x00007f2f2af4f50a in QEventLoop::exec (this=this@entry=0x7f2f0e2dad60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007f2f2ad6bac4 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:503
#7  0x00007f2f256e8c35 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007f2f2ad70a6e in QThreadPrivate::start (arg=0x170a3c0) at thread/qthread_unix.cpp:331
#9  0x00007f2f2bfe56aa in start_thread (arg=0x7f2f0e2db700) at pthread_create.c:333
#10 0x00007f2f2cb0ceed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f2f2d000840 (LWP 1798)):
[KCrash Handler]
#6  0x00007f2f2af62835 in QMetaObject::invokeMethod (obj=0x1777790, member=0x7f2f2a513a6c "addRepaintFull", type=1696672464, ret=..., val0=..., val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., val7=..., val8=..., val9=...) at kernel/qmetaobject.cpp:1464
#7  0x00007f2f2a4f8742 in QMetaObject::invokeMethod(QObject*, char const*, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) () from /usr/lib/x86_64-linux-gnu/libkwineffects.so.7
#8  0x00007f2f2a4f21a4 in KWin::EffectWindow::addRepaintFull() () from /usr/lib/x86_64-linux-gnu/libkwineffects.so.7
#9  0x00007f2f2a02b362 in KWin::PresentWindowsEffect::setHighlightedWindow(KWin::EffectWindow*) () from /usr/lib/x86_64-linux-gnu/libkwin4_effect_builtins.so.1
#10 0x00007f2f2a02472f in KWin::PresentWindowsEffect::windowInputMouseEvent(QEvent*) () from /usr/lib/x86_64-linux-gnu/libkwin4_effect_builtins.so.1
#11 0x00007f2f2c62dccb in KWin::EffectsHandlerImpl::checkInputWindowEvent(xcb_motion_notify_event_t*) () from /usr/lib/x86_64-linux-gnu/libkwin.so.5
#12 0x00007f2f2c585d6a in KWin::Workspace::workspaceEvent(xcb_generic_event_t*) () from /usr/lib/x86_64-linux-gnu/libkwin.so.5
#13 0x00007f2f2c57a52a in KWin::XcbEventFilter::nativeEventFilter(QByteArray const&, void*, long*) () from /usr/lib/x86_64-linux-gnu/libkwin.so.5
#14 0x00007f2f2af4e69f in QAbstractEventDispatcher::filterNativeEvent (this=<optimized out>, eventType=..., message=message@entry=0x7f2f10001840, result=result@entry=0x7fff652134a8) at kernel/qabstracteventdispatcher.cpp:460
#15 0x00007f2f158e9254 in QXcbConnection::handleXcbEvent (this=this@entry=0xb48660, event=event@entry=0x7f2f10001840) at qxcbconnection.cpp:1020
#16 0x00007f2f158ea003 in QXcbConnection::processXcbEvents (this=0xb48660) at qxcbconnection.cpp:1502
#17 0x00007f2f2af817b1 in QObject::event (this=0xb48660, e=<optimized out>) at kernel/qobject.cpp:1239
#18 0x00007f2f2b8469dc in QApplicationPrivate::notify_helper (this=this@entry=0xb41400, receiver=receiver@entry=0xb48660, e=e@entry=0x7f2f10002810) at kernel/qapplication.cpp:3716
#19 0x00007f2f2b84bea6 in QApplication::notify (this=0x7fff65213b20, receiver=0xb48660, e=0x7f2f10002810) at kernel/qapplication.cpp:3499
#20 0x00007f2f2c578fdd in KWin::Application::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libkwin.so.5
#21 0x00007f2f2af51d7b in QCoreApplication::notifyInternal (this=0x7fff65213b20, receiver=0xb48660, event=event@entry=0x7f2f10002810) at kernel/qcoreapplication.cpp:965
#22 0x00007f2f2af54176 in QCoreApplication::sendEvent (event=0x7f2f10002810, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:224
#23 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0xb31670) at kernel/qcoreapplication.cpp:1593
#24 0x00007f2f2afa5a72 in QEventDispatcherUNIX::processEvents (this=0xb72610, flags=flags@entry=...) at kernel/qeventdispatcher_unix.cpp:579
#25 0x00007f2f1594ca1d in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at eventdispatchers/qunixeventdispatcher.cpp:62
#26 0x00007f2f2af4f50a in QEventLoop::exec (this=this@entry=0x7fff65213a10, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#27 0x00007f2f2af575ec in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1229
#28 0x00007f2f2cdd5735 in kdemain () from /usr/lib/x86_64-linux-gnu/libkdeinit5_kwin_x11.so
#29 0x00000000004008d8 in main ()

Reported using DrKonqi
Comment 1 Martin Flöser 2016-02-01 07:11:57 UTC
Unfortunately the debug symbols miss line numbers. As PresentWindowsEffect::setHighlightedWindow has two calls to EffectWindow::addRepaintFull it's difficult to say what's going on.
Comment 2 Thomas Lübking 2016-02-01 11:14:40 UTC
The crash is kinda weird, it either we have a dangeling highlight window (missed its closing/deletion?) or the effect window is bound to a dead toplevel (or there's dangeling effectwindow in m_motionManager!)

@Kai, do you use the "instant" effect speed?
Comment 3 Tom Mittelstädt 2016-05-02 11:34:24 UTC
Same happens here from time to time, too.
Comment 4 Thomas Lübking 2016-05-02 13:55:59 UTC
Same backtrace (please paste) and do you use instant animation speed?
Comment 5 Andrew Crouthamel 2018-09-26 22:16:35 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 set the bug status 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 6 Andrew Crouthamel 2018-10-27 02:16:39 UTC
Dear Bug Submitter,

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!