Bug 419228

Summary: KWin crashes when I use ctrl+alt+Function key to switch to other terminal and back.
Product: [Plasma] kwin Reporter: David Oldford <david_oldford>
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED WORKSFORME    
Severity: crash Keywords: drkonqi
Priority: NOR    
Version: 5.16.5   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description David Oldford 2020-03-25 13:48:18 UTC
Application: kwin_x11 (5.16.5)

Qt Version: 5.12.4
Frameworks Version: 5.62.0
Operating System: Linux 5.3.0-42-generic x86_64
Distribution: Ubuntu 19.10

-- Information about the crash:
I used ctrl+alt+F2 to switch to a terminal outside of X and then ctrl+alt+F1 to switch back to X (on Ubuntu 19.10) KWin appears to start back up and work just fine after the switch back. I've done this multiple times and seen the crash reported every time, though I can't say for sure that it always happens.

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 0x7f6e93e87d00 (LWP 3036))]

Thread 6 (Thread 0x7f6e82fbe700 (LWP 4388)):
#0  0x00007f6e98d9b2c6 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55ad0d457e44) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  0x00007f6e98d9b2c6 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55ad0d457df0, cond=0x55ad0d457e18) at pthread_cond_wait.c:508
#2  0x00007f6e98d9b2c6 in __pthread_cond_wait (cond=0x55ad0d457e18, mutex=0x55ad0d457df0) at pthread_cond_wait.c:638
#3  0x00007f6e9982cdbf in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f6e9982ceb1 in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f6e988c27b9 in  () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#6  0x00007f6e988c2a1a in  () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#7  0x00007f6e99826c92 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f6e98d94669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#9  0x00007f6e9af8d323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7f6e7b229700 (LWP 3406)):
#0  0x00007f6e98d9b2c6 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x7f6e993a9fb8) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  0x00007f6e98d9b2c6 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x7f6e993a9f68, cond=0x7f6e993a9f90) at pthread_cond_wait.c:508
#2  0x00007f6e98d9b2c6 in __pthread_cond_wait (cond=0x7f6e993a9f90, mutex=0x7f6e993a9f68) at pthread_cond_wait.c:638
#3  0x00007f6e992b308a in  () at /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#4  0x00007f6e992b30af in  () at /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#5  0x00007f6e98d94669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#6  0x00007f6e9af8d323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f6e83fff700 (LWP 3258)):
#0  0x00007f6e9af80d26 in __GI_ppoll (fds=0x7f6e7c000d68, nfds=1, timeout=<optimized out>, sigmask=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:39
#1  0x00007f6e99a41589 in qt_safe_poll(pollfd*, unsigned long, timespec const*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f6e99a42af4 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007f6e999ec5cb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f6e99825a45 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f6e98534319 in  () at /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#6  0x00007f6e99826c92 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f6e98d94669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#8  0x00007f6e9af8d323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f6e925ad700 (LWP 3211)):
#0  0x00007f6e9af80d26 in __GI_ppoll (fds=0x7f6e8400e9d8, nfds=1, timeout=<optimized out>, sigmask=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:39
#1  0x00007f6e99a41589 in qt_safe_poll(pollfd*, unsigned long, timespec const*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f6e99a42af4 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007f6e999ec5cb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f6e99825a45 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f6e97f73efa in  () at /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#6  0x00007f6e99826c92 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f6e98d94669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#8  0x00007f6e9af8d323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f6e9349a700 (LWP 3067)):
#0  0x00007f6e9af80c2f in __GI___poll (fds=0x7f6e93499c28, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f6e9974a917 in  () at /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f6e9974c53a in xcb_wait_for_event () at /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f6e937a7288 in  () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007f6e99826c92 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f6e98d94669 in start_thread (arg=<optimized out>) at pthread_create.c:479
#6  0x00007f6e9af8d323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f6e93e87d00 (LWP 3036)):
[KCrash Handler]
#6  0x00007f6e994c9969 in  () at /usr/lib/x86_64-linux-gnu/libkwin4_effect_builtins.so.1
#7  0x00007f6e994c9a29 in  () at /usr/lib/x86_64-linux-gnu/libkwin4_effect_builtins.so.1
#8  0x00007f6e994cb8b2 in  () at /usr/lib/x86_64-linux-gnu/libkwin4_effect_builtins.so.1
#9  0x00007f6e994cc29d in  () at /usr/lib/x86_64-linux-gnu/libkwin4_effect_builtins.so.1
#10 0x00007f6e9accb4c7 in KWin::EffectsHandlerImpl::drawWindow(KWin::EffectWindow*, int, QRegion, KWin::WindowPaintData&) () at /usr/lib/x86_64-linux-gnu/libkwin.so.5
#11 0x00007f6e99433ab0 in  () at /usr/lib/x86_64-linux-gnu/libkwin4_effect_builtins.so.1
#12 0x00007f6e9accb4c7 in KWin::EffectsHandlerImpl::drawWindow(KWin::EffectWindow*, int, QRegion, KWin::WindowPaintData&) () at /usr/lib/x86_64-linux-gnu/libkwin.so.5
#13 0x00007f6e9acb9a4f in KWin::Scene::finalPaintWindow(KWin::EffectWindowImpl*, int, QRegion, KWin::WindowPaintData&) () at /usr/lib/x86_64-linux-gnu/libkwin.so.5
#14 0x00007f6e9accb360 in KWin::EffectsHandlerImpl::paintWindow(KWin::EffectWindow*, int, QRegion, KWin::WindowPaintData&) () at /usr/lib/x86_64-linux-gnu/libkwin.so.5
#15 0x00007f6e9952e68f in KWin::Effect::paintWindow(KWin::EffectWindow*, int, QRegion, KWin::WindowPaintData&) () at /usr/lib/x86_64-linux-gnu/libkwineffects.so.12
#16 0x00007f6e9accb307 in KWin::EffectsHandlerImpl::paintWindow(KWin::EffectWindow*, int, QRegion, KWin::WindowPaintData&) () at /usr/lib/x86_64-linux-gnu/libkwin.so.5
#17 0x00007f6e9952e68f in KWin::Effect::paintWindow(KWin::EffectWindow*, int, QRegion, KWin::WindowPaintData&) () at /usr/lib/x86_64-linux-gnu/libkwineffects.so.12
#18 0x00007f6e9accb307 in KWin::EffectsHandlerImpl::paintWindow(KWin::EffectWindow*, int, QRegion, KWin::WindowPaintData&) () at /usr/lib/x86_64-linux-gnu/libkwin.so.5
#19 0x00007f6e9acc0236 in KWin::Scene::paintWindow(KWin::Scene::Window*, int, QRegion, KWin::WindowQuadList) () at /usr/lib/x86_64-linux-gnu/libkwin.so.5
#20 0x00007f6e9acbcc2d in KWin::Scene::paintSimpleScreen(int, QRegion) () at /usr/lib/x86_64-linux-gnu/libkwin.so.5
#21 0x00007f6e9030f357 in  () at /usr/lib/x86_64-linux-gnu/qt5/plugins/org.kde.kwin.scenes/KWinSceneOpenGL.so
#22 0x00007f6e9acbf800 in KWin::Scene::finalPaintScreen(int, QRegion, KWin::ScreenPaintData&) () at /usr/lib/x86_64-linux-gnu/libkwin.so.5
#23 0x00007f6e9accb0b2 in KWin::EffectsHandlerImpl::paintScreen(int, QRegion, KWin::ScreenPaintData&) () at /usr/lib/x86_64-linux-gnu/libkwin.so.5
#24 0x00007f6e9952e5c3 in KWin::Effect::paintScreen(int, QRegion, KWin::ScreenPaintData&) () at /usr/lib/x86_64-linux-gnu/libkwineffects.so.12
#25 0x00007f6e9accb061 in KWin::EffectsHandlerImpl::paintScreen(int, QRegion, KWin::ScreenPaintData&) () at /usr/lib/x86_64-linux-gnu/libkwin.so.5
#26 0x00007f6e9952e5c3 in KWin::Effect::paintScreen(int, QRegion, KWin::ScreenPaintData&) () at /usr/lib/x86_64-linux-gnu/libkwineffects.so.12
#27 0x00007f6e9accb061 in KWin::EffectsHandlerImpl::paintScreen(int, QRegion, KWin::ScreenPaintData&) () at /usr/lib/x86_64-linux-gnu/libkwin.so.5
#28 0x00007f6e9acbf4b3 in KWin::Scene::paintScreen(int*, QRegion const&, QRegion const&, QRegion*, QRegion*, QMatrix4x4 const&, QRect const&) () at /usr/lib/x86_64-linux-gnu/libkwin.so.5
#29 0x00007f6e90317c7e in KWin::SceneOpenGL::paint(QRegion, QList<KWin::Toplevel*>) () at /usr/lib/x86_64-linux-gnu/qt5/plugins/org.kde.kwin.scenes/KWinSceneOpenGL.so
#30 0x00007f6e9acb1247 in KWin::Compositor::performCompositing() () at /usr/lib/x86_64-linux-gnu/libkwin.so.5
#31 0x00007f6e99a19de5 in QObject::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#32 0x00007f6e9a401a86 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#33 0x00007f6e9a40ae00 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#34 0x00007f6e999eda2a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#35 0x00007f6e99a44990 in QTimerInfoList::activateTimers() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#36 0x00007f6e99a42c4f in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#37 0x00007f6e937a8642 in  () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#38 0x00007f6e999ec5cb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#39 0x00007f6e999f4336 in QCoreApplication::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#40 0x00007f6e9b06687d in kdemain () at /usr/lib/x86_64-linux-gnu/libkdeinit5_kwin_x11.so
#41 0x00007f6e9ae921e3 in __libc_start_main (main=0x55ad0ae97060, argc=1, argv=0x7fff2ba4bdb8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff2ba4bda8) at ../csu/libc-start.c:308
#42 0x000055ad0ae9709e in _start ()
[Inferior 1 (process 3036) detached]

Reported using DrKonqi
Comment 1 Vlad Zahorodnii 2020-03-26 08:53:37 UTC
Could you please install debug packages for kwin and attach a new backtrace? Also, notice that KDE no longer supports 5.16. It would be nice if you could test the latest release of KDE Plasma (5.18) as well.
Comment 2 Bug Janitor Service 2020-04-10 04:33:09 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
mark the bug 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 3 David Oldford 2020-04-10 12:39:20 UTC
I would except through normal Ubuntu updates it appears to have stopped happening since my report.
Comment 4 Christoph Feck 2020-04-28 06:57:15 UTC
Thanks for the update; changing status.