Bug 385849

Summary: kwin_x11 crashed during entry to chromium address bar
Product: [Plasma] kwin Reporter: Jan-Matthias Braun <jan_braun>
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED WORKSFORME    
Severity: crash Keywords: drkonqi, triaged
Priority: NOR    
Version First Reported In: 5.11.0   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Jan-Matthias Braun 2017-10-17 09:39:25 UTC
Application: kwin_x11 (5.11.0)

Qt Version: 5.9.2
Frameworks Version: 5.39.0
Operating System: Linux 4.13.7 x86_64
Distribution: "Gentoo Base System release 2.4.1"

-- Information about the crash:
For me, it is totally unclear if this was just concidentally or really causally related… but

- What I was doing when the application crashed: Adding a site search in the chromium tab bar of a maximised chromium window.

Funny enough, I couldn't find this exact chromium window after kwin_x11 has restarted. I could not reproduce this issue with the same action. Honestly, sometimes kwin_x11 just restarts and I do not think that it is correlated to specific actions.

Distribution is Gentoo with frameworks 5.39, plasma 5.11, and apps 17.08.2.

Thanks for the nice working environment and good luck making it even better!

The crash does not seem to be reproducible.

-- Backtrace:
Application: KWin (kwin_x11), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f304ac7e800 (LWP 29302))]

Thread 6 (Thread 0x7f3040c9a700 (LWP 29354)):
#0  0x00007f305f7f3a8b in __GI_ppoll (fds=fds@entry=0x7f302c000e48, nfds=nfds@entry=1, timeout=<optimized out>, timeout@entry=0x0, sigmask=sigmask@entry=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:39
#1  0x00007f305d7331d1 in ppoll (__ss=<optimized out>, __timeout=<optimized out>, __nfds=<optimized out>, __fds=<optimized out>) at /usr/include/bits/poll2.h:77
#2  qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7f302c000e48) at kernel/qcore_unix.cpp:81
#3  qt_safe_poll (fds=0x7f302c000e48, nfds=nfds@entry=1, timeout_ts=timeout_ts@entry=0x0) at kernel/qcore_unix.cpp:102
#4  0x00007f305d734486 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:500
#5  0x00007f305d6e566a in QEventLoop::exec (this=this@entry=0x7f3040c99d90, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#6  0x00007f305d540ce3 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:515
#7  0x00007f30581d24a5 in QQmlThreadPrivate::run() () from /usr/lib64/libQt5Qml.so.5
#8  0x00007f305d545031 in QThreadPrivate::start (arg=0x2b39f30) at thread/qthread_unix.cpp:368
#9  0x00007f30592fa887 in start_thread (arg=0x7f3040c9a700) at pthread_create.c:456
#10 0x00007f305f7fed4f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 5 (Thread 0x7f3032a7b700 (LWP 29337)):
#0  0x00007f30593016d6 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x7f305c946018 <QTWTF::pageheap_memory+57592>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x7f305c945fc8 <QTWTF::pageheap_memory+57512>, cond=0x7f305c945ff0 <QTWTF::pageheap_memory+57552>) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x7f305c945ff0 <QTWTF::pageheap_memory+57552>, mutex=0x7f305c945fc8 <QTWTF::pageheap_memory+57512>) at pthread_cond_wait.c:655
#3  0x00007f305c84eab4 in QTWTF::TCMalloc_PageHeap::scavengerThread() () from /usr/lib64/libQt5Script.so.5
#4  0x00007f305c84eaf9 in QTWTF::TCMalloc_PageHeap::runScavengerThread(void*) () from /usr/lib64/libQt5Script.so.5
#5  0x00007f30592fa887 in start_thread (arg=0x7f3032a7b700) at pthread_create.c:456
#6  0x00007f305f7fed4f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 4 (Thread 0x7f304209b700 (LWP 29331)):
#0  0x00007f305d53d3d9 in std::__atomic_base<QMutexData*>::compare_exchange_strong (__m2=std::memory_order_relaxed, __m1=std::memory_order_release, __p2=0x0, __p1=@0x7f304209ab98: 0x1, this=0x1bf11a0) at /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/bits/atomic_base.h:752
#1  std::atomic<QMutexData*>::compare_exchange_strong (__m2=std::memory_order_relaxed, __m1=std::memory_order_release, __p2=0x0, __p1=@0x7f304209ab98: 0x1, this=0x1bf11a0) at /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/atomic:466
#2  QAtomicOps<QMutexData*>::testAndSetRelease<QMutexData*> (currentValue=<synthetic pointer>, newValue=0x0, expectedValue=0x1, _q_value=...) at ../../include/QtCore/../../src/corelib/arch/qatomic_cxx11.h:299
#3  QBasicAtomicPointer<QMutexData>::testAndSetRelease (currentValue=<synthetic pointer>: <optimized out>, newValue=0x0, expectedValue=<optimized out>, this=0x1bf11a0) at ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:264
#4  QBasicMutex::fastTryUnlock (current=<synthetic pointer>: <optimized out>, this=0x1bf11a0) at thread/qmutex.h:104
#5  QMutex::unlock (this=this@entry=0x1bf11a0) at thread/qmutex.cpp:337
#6  0x00007f305d6e93b4 in QMutexLocker::unlock (this=<synthetic pointer>) at ../../include/QtCore/../../src/corelib/thread/qmutex.h:213
#7  QMutexLocker::~QMutexLocker (this=<synthetic pointer>, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/thread/qmutex.h:207
#8  QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x1bf1170) at kernel/qcoreapplication.cpp:1560
#9  0x00007f305d7342fb in QEventDispatcherUNIX::processEvents (this=0x7f30380008c0, flags=...) at kernel/qeventdispatcher_unix.cpp:466
#10 0x00007f305d6e566a in QEventLoop::exec (this=this@entry=0x7f304209ad90, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#11 0x00007f305d540ce3 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:515
#12 0x00007f30581d24a5 in QQmlThreadPrivate::run() () from /usr/lib64/libQt5Qml.so.5
#13 0x00007f305d545031 in QThreadPrivate::start (arg=0x1d3d120) at thread/qthread_unix.cpp:368
#14 0x00007f30592fa887 in start_thread (arg=0x7f304209b700) at pthread_create.c:456
#15 0x00007f305f7fed4f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 3 (Thread 0x7f3043fff700 (LWP 29307)):
#0  0x00007f305d53d3d9 in std::__atomic_base<QMutexData*>::compare_exchange_strong (__m2=std::memory_order_relaxed, __m1=std::memory_order_release, __p2=0x0, __p1=@0x7f3043ffeb88: 0x1, this=0x1a70110) at /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/bits/atomic_base.h:752
#1  std::atomic<QMutexData*>::compare_exchange_strong (__m2=std::memory_order_relaxed, __m1=std::memory_order_release, __p2=0x0, __p1=@0x7f3043ffeb88: 0x1, this=0x1a70110) at /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/atomic:466
#2  QAtomicOps<QMutexData*>::testAndSetRelease<QMutexData*> (currentValue=<synthetic pointer>, newValue=0x0, expectedValue=0x1, _q_value=...) at ../../include/QtCore/../../src/corelib/arch/qatomic_cxx11.h:299
#3  QBasicAtomicPointer<QMutexData>::testAndSetRelease (currentValue=<synthetic pointer>: <optimized out>, newValue=0x0, expectedValue=<optimized out>, this=0x1a70110) at ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:264
#4  QBasicMutex::fastTryUnlock (current=<synthetic pointer>: <optimized out>, this=0x1a70110) at thread/qmutex.h:104
#5  QMutex::unlock (this=this@entry=0x1a70110) at thread/qmutex.cpp:337
#6  0x00007f305d6e93b4 in QMutexLocker::unlock (this=<synthetic pointer>) at ../../include/QtCore/../../src/corelib/thread/qmutex.h:213
#7  QMutexLocker::~QMutexLocker (this=<synthetic pointer>, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/thread/qmutex.h:207
#8  QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x1a700e0) at kernel/qcoreapplication.cpp:1560
#9  0x00007f305d7342fb in QEventDispatcherUNIX::processEvents (this=0x7f303c0008c0, flags=...) at kernel/qeventdispatcher_unix.cpp:466
#10 0x00007f305d6e566a in QEventLoop::exec (this=this@entry=0x7f3043ffed80, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#11 0x00007f305d540ce3 in QThread::exec (this=this@entry=0x7f305fe6bda0 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread.cpp:515
#12 0x00007f305fdf56e5 in QDBusConnectionManager::run (this=0x7f305fe6bda0 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:178
#13 0x00007f305d545031 in QThreadPrivate::start (arg=0x7f305fe6bda0 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:368
#14 0x00007f30592fa887 in start_thread (arg=0x7f3043fff700) at pthread_create.c:456
#15 0x00007f305f7fed4f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 2 (Thread 0x7f3049cb7700 (LWP 29306)):
#0  0x00007f305f7f399d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f305e92d7bf in _xcb_conn_wait () from /usr/lib64/libxcb.so.1
#2  0x00007f305e92f449 in xcb_wait_for_event () from /usr/lib64/libxcb.so.1
#3  0x00007f304a765139 in QXcbEventReader::run (this=0x1a168d0) at qxcbconnection.cpp:1330
#4  0x00007f305d545031 in QThreadPrivate::start (arg=0x1a168d0) at thread/qthread_unix.cpp:368
#5  0x00007f30592fa887 in start_thread (arg=0x7f3049cb7700) at pthread_create.c:456
#6  0x00007f305f7fed4f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 1 (Thread 0x7f304ac7e800 (LWP 29302)):
[KCrash Handler]
#6  0x00007f303371e775 in texture_sub_image.constprop () from /usr/lib64/dri/i965_dri.so
#7  0x00007f303371e86a in texsubimage () from /usr/lib64/dri/i965_dri.so
#8  0x00007f303372418f in _mesa_TexSubImage2D_no_error () from /usr/lib64/dri/i965_dri.so
#9  0x00007f3058c89132 in KWin::GLTexture::update(QImage const&, QPoint const&, QRect const&) () from /usr/lib64/libkwinglutils.so.11
#10 0x00007f305f390676 in KWin::SceneOpenGLDecorationRenderer::render() () from /usr/lib64/libkwin.so.5
#11 0x00007f305f392c92 in KWin::SceneOpenGLDecorationRenderer::reparent(KWin::Deleted*) () from /usr/lib64/libkwin.so.5
#12 0x00007f305f39e0bf in KWin::Deleted::copyToDeleted(KWin::Toplevel*) () from /usr/lib64/libkwin.so.5
#13 0x00007f305f39e119 in KWin::Deleted::create(KWin::Toplevel*) () from /usr/lib64/libkwin.so.5
#14 0x00007f305f2cb673 in KWin::Client::destroyClient() () from /usr/lib64/libkwin.so.5
#15 0x00007f305f3260da in KWin::Client::unmapNotifyEvent(xcb_unmap_notify_event_t*) () from /usr/lib64/libkwin.so.5
#16 0x00007f305f3297c3 in KWin::Client::windowEvent(xcb_generic_event_t*) () from /usr/lib64/libkwin.so.5
#17 0x00007f305f32a6d0 in KWin::Workspace::workspaceEvent(xcb_generic_event_t*) () from /usr/lib64/libkwin.so.5
#18 0x00007f305d6e417c in QAbstractEventDispatcher::filterNativeEvent (this=<optimized out>, eventType=..., message=message@entry=0x7f3044005410, result=result@entry=0x7fff6a6af088) at kernel/qabstracteventdispatcher.cpp:467
#19 0x00007f304a766854 in QXcbConnection::handleXcbEvent (this=this@entry=0x1a09e00, event=event@entry=0x7f3044005410) at qxcbconnection.cpp:1091
#20 0x00007f304a767550 in QXcbConnection::processXcbEvents (this=0x1a09e00) at qxcbconnection.cpp:1731
#21 0x00007f305d7103f9 in QObject::event (this=0x1a09e00, e=<optimized out>) at kernel/qobject.cpp:1246
#22 0x00007f305df401fc in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x1a09e00, e=0x7f30440123f0) at kernel/qapplication.cpp:3722
#23 0x00007f305df47a89 in QApplication::notify (this=0x7fff6a6af700, receiver=0x1a09e00, e=0x7f30440123f0) at kernel/qapplication.cpp:3481
#24 0x00007f305d6e693a in QCoreApplication::notifyInternal2 (receiver=0x1a09e00, event=event@entry=0x7f30440123f0) at kernel/qcoreapplication.cpp:1018
#25 0x00007f305d6e95ad in QCoreApplication::sendEvent (event=0x7f30440123f0, receiver=<optimized out>) at kernel/qcoreapplication.h:233
#26 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x19eea30) at kernel/qcoreapplication.cpp:1678
#27 0x00007f305d7342fb in QEventDispatcherUNIX::processEvents (this=0x1a68820, flags=...) at kernel/qeventdispatcher_unix.cpp:466
#28 0x00007f304a7c395d in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at qunixeventdispatcher.cpp:68
#29 0x00007f305d6e566a in QEventLoop::exec (this=this@entry=0x7fff6a6af610, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#30 0x00007f305d6edb64 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1291
#31 0x00007f305fabe14f in kdemain () from /usr/lib64/libkdeinit5_kwin_x11.so
#32 0x00007f305f726541 in __libc_start_main (main=0x4006b0 <main>, argc=3, argv=0x7fff6a6af898, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff6a6af888) at ../csu/libc-start.c:295
#33 0x00000000004006ea in _start ()

Reported using DrKonqi
Comment 1 Martin Flöser 2017-10-17 15:44:15 UTC
Unfortunately the backtrace is missing debug symbols. Due to that we don't see where exactly it crashes. From what I see it is related to a window closing, moving the decoration to our Deleted class and then it crashes in mesa. Why that happens is impossible to say without debug symbols.

In case you are able to reproduce please install debug symbols and attach a new backtrace.
Comment 2 Jan-Matthias Braun 2017-10-18 09:01:46 UTC
Alright. I am trying to get a better backtrace! :-)
Comment 3 Jan-Matthias Braun 2017-10-19 11:34:18 UTC
Doesn't look like I can reproduce this one. I tried hard, but now way.
Comment 4 Jan-Matthias Braun 2017-10-19 11:35:11 UTC
If it pops up again, the backtrace will be better. For now, you probably better close this one. Thanks for looking into it.
Comment 5 Andrew Crouthamel 2018-09-28 02:29:20 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-28 03:23:10 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!