Bug 431328 - kwin_x11 abort on ALT+TAB
Summary: kwin_x11 abort on ALT+TAB
Status: RESOLVED WORKSFORME
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: 5.18.5
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2021-01-08 20:03 UTC by daniel.c.klauer
Modified: 2021-01-12 10:34 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description daniel.c.klauer 2021-01-08 20:03:20 UTC
Application: kwin_x11 (5.18.5)

Qt Version: 5.12.8
Frameworks Version: 5.68.0
Operating System: Linux 5.4.0-59-generic x86_64
Windowing system: X11
Distribution: Ubuntu 20.04.1 LTS

-- Information about the crash:
Hi,

I had multiple windows open - some Firefox windows, some Gwenview windows, Thunderbird. Then I tried to switch windows via ALT+TAB or also by clicking on another window's title bar, but kwin aborted and restarted instead. After that I can switch windows a few times before it crashes again.

dmesg shows some messages around the same time the crashes happened (multiple times), so it may be related:

[ 5864.998932] NVRM: API mismatch: the client has the version 450.102.04, but
               NVRM: this kernel module has the version 450.80.02.  Please
               NVRM: make sure that this kernel module and all NVIDIA driver
               NVRM: components have the same version.

I remember there being a nvidia driver and also kernel update recently, and probably I just need to reboot to make this problem go away. I'll test that.

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

Thread 4 (Thread 0x7f82f8c1f700 (LWP 61902)):
#0  0x00007ffcb911c6cb in  ()
#1  0x00007ffcb911c918 in clock_gettime ()
#2  0x00007f830314e235 in __GI___clock_gettime (clock_id=clock_id@entry=1, tp=tp@entry=0x7f82f8c1ebf0) at ../sysdeps/unix/sysv/linux/clock_gettime.c:38
#3  0x00007f8301b82e45 in qt_clock_gettime (ts=0x7f82f8c1ebf0, clock=1) at kernel/qelapsedtimer_unix.cpp:175
#4  do_gettime (frac=<synthetic pointer>, sec=<synthetic pointer>) at kernel/qelapsedtimer_unix.cpp:166
#5  qt_gettime() () at kernel/qelapsedtimer_unix.cpp:175
#6  0x00007f8301b816dd in QTimerInfoList::updateCurrentTime() (this=this@entry=0x7f82e4000c20) at kernel/qtimerinfo_unix.cpp:91
#7  0x00007f8301b81cb9 in QTimerInfoList::timerWait(timespec&) (this=this@entry=0x7f82e4000c20, tm=...) at kernel/qtimerinfo_unix.cpp:388
#8  0x00007f8301b80c0c in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f82e4000b60, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#9  0x00007f8301b2a4db in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f82f8c1ed80, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#10 0x00007f8301962785 in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#11 0x00007f83006941a9 in  () at /lib/x86_64-linux-gnu/libQt5Qml.so.5
#12 0x00007f83019639d2 in QThreadPrivate::start(void*) (arg=0x55d51dfb4df0) at thread/qthread_unix.cpp:361
#13 0x00007f8300f21609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#14 0x00007f8303190293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f82fac44700 (LWP 61898)):
#0  0x00007f8303183bf6 in __ppoll (fds=fds@entry=0x7f82ec00ecd8, nfds=nfds@entry=1, timeout=<optimized out>, timeout@entry=0x0, sigmask=sigmask@entry=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:44
#1  0x00007f8301b7f4a9 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=0x7f82ec00ecd8) at kernel/qcore_unix.cpp:132
#3  qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7f82ec00ecd8) at kernel/qcore_unix.cpp:129
#4  qt_safe_poll(pollfd*, unsigned long, timespec const*) (fds=0x7f82ec00ecd8, nfds=1, timeout_ts=timeout_ts@entry=0x0) at kernel/qcore_unix.cpp:153
#5  0x00007f8301b80a14 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at ../../include/QtCore/../../src/corelib/tools/qarraydata.h:211
#6  0x00007f8301b2a4db in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f82fac43d70, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#7  0x00007f8301962785 in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#8  0x00007f8302b94efa in  () at /lib/x86_64-linux-gnu/libQt5DBus.so.5
#9  0x00007f83019639d2 in QThreadPrivate::start(void*) (arg=0x7f8302c17d80) at thread/qthread_unix.cpp:361
#10 0x00007f8300f21609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#11 0x00007f8303190293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f82fb956700 (LWP 61897)):
#0  0x00007f8303183aff in __GI___poll (fds=0x7f82fb955ca8, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f8301886c1a in  () at /lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f830188890a in xcb_wait_for_event () at /lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f82fbcc2298 in QXcbEventQueue::run() (this=0x55d51dd5e0f0) at qxcbeventqueue.cpp:228
#4  0x00007f83019639d2 in QThreadPrivate::start(void*) (arg=0x55d51dd5e0f0) at thread/qthread_unix.cpp:361
#5  0x00007f8300f21609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f8303190293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f82fc3c9800 (LWP 61894)):
[KCrash Handler]
#6  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#7  0x00007f8303093859 in __GI_abort () at abort.c:79
#8  0x00007f830192aaad in qt_message_fatal (context=..., message=<synthetic pointer>...) at global/qlogging.cpp:1907
#9  QMessageLogger::fatal(char const*, ...) const (this=this@entry=0x7ffcb9062ac0, msg=msg@entry=0x7f8300c086f6 "%s") at global/qlogging.cpp:888
#10 0x00007f83009e5065 in QSGRenderLoop::handleContextCreationFailure(QQuickWindow*, bool) (this=this@entry=0x55d51e21f130, window=0x55d51e202750, isEs=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h:208
#11 0x00007f83009e6157 in QSGGuiThreadRenderLoop::renderWindow(QQuickWindow*) (this=this@entry=0x55d51e21f130, window=<optimized out>) at scenegraph/qsgrenderloop.cpp:378
#12 0x00007f83009e6a1d in QSGGuiThreadRenderLoop::exposureChanged(QQuickWindow*) (this=0x55d51e21f130, window=<optimized out>) at scenegraph/qsgrenderloop.cpp:484
#13 0x00007f8301f1f9ad in QWindow::event(QEvent*) (this=this@entry=0x55d51e202750, ev=ev@entry=0x7ffcb9063130) at kernel/qwindow.cpp:2347
#14 0x00007f8300a68159 in QQuickWindow::event(QEvent*) (this=this@entry=0x55d51e202750, e=e@entry=0x7ffcb9063130) at items/qquickwindow.cpp:1687
#15 0x00007f82eabffb9b in PlasmaQuick::Dialog::event(QEvent*) (this=0x55d51e202750, event=0x7ffcb9063130) at ./src/plasmaquick/dialog.cpp:1361
#16 0x00007f8302545a66 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x55d51dd85ec0, receiver=receiver@entry=0x55d51e202750, e=e@entry=0x7ffcb9063130) at kernel/qapplication.cpp:3700
#17 0x00007f830254f0f0 in QApplication::notify(QObject*, QEvent*) (this=0x7ffcb90633b0, receiver=0x55d51e202750, e=0x7ffcb9063130) at kernel/qapplication.cpp:3446
#18 0x00007f8301b2b93a in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55d51e202750, event=0x7ffcb9063130) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:142
#19 0x00007f8301f15de6 in QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) (e=0x7f82f400b8e0) at kernel/qguiapplication.cpp:3077
#20 0x00007f8301f16014 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) (e=e@entry=0x7f82f400b8e0) at kernel/qguiapplication.cpp:1907
#21 0x00007f8301ef035b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (flags=...) at kernel/qwindowsysteminterface.cpp:1151
#22 0x00007f82fbcc36f7 in QXcbUnixEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55d51dde4d30, flags=...) at qxcbeventdispatcher.cpp:63
#23 0x00007f8301b2a4db in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffcb90632d0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#24 0x00007f8301b32246 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#25 0x00007f83032699ef in kdemain(int, char**) (argc=<optimized out>, argv=0x7ffcb9063568) at ./main_x11.cpp:483
#26 0x00007f83030950b3 in __libc_start_main (main=0x55d51d756060 <main>, argc=3, argv=0x7ffcb9063568, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffcb9063558) at ../csu/libc-start.c:308
#27 0x000055d51d75609e in _start ()
[Inferior 1 (process 61894) detached]

The reporter indicates this bug may be a duplicate of or related to bug 430028.

Possible duplicates by query: bug 430028, bug 429926, bug 429383, bug 429344, bug 428690.

Reported using DrKonqi
Comment 1 Vlad Zahorodnii 2021-01-11 08:04:21 UTC
This sounds as a driver bug. "I just need to reboot to make this problem go away. I'll test that." any updates?
Comment 2 daniel.c.klauer 2021-01-11 18:35:01 UTC
Yes, rebooting did indeed fix it.
Comment 3 Vlad Zahorodnii 2021-01-12 10:34:32 UTC
Okay, thanks for the clarification.