Summary: | segmentation fault in window decoration settings | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | Arne Claeys <arne.claeys> |
Component: | aurorae | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED DUPLICATE | ||
Severity: | crash | CC: | kde |
Priority: | NOR | Keywords: | drkonqi |
Version: | 5.2.2 | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
See Also: | https://bugs.kde.org/show_bug.cgi?id=345675 | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Arne Claeys
2015-04-16 17:53:33 UTC
Looks like bug #345675, but QSGOpaqueTextureMaterial::setTexture is NOT the current thread here. The backtrace is missing debug symbols for Qt5Quick where the actual crash occurs. In case you are able to reproduce, please install the debug symbols and upload a new crash trace. Whatever gets us there, it segfaults in pthread_cond_wait what would mean either a) broken libthread b) unlocked mutex delivered to pthread_cond_wait c) segfault in other thread and pthread_cond_wait just randomly burps and receives it. Given bug #345675, I bet on (c) It seems the error only occurs when certain window decorations are installed. In my case glowglass-deco causes the problem. Which package contains the right debug symbols for libQt5Quick.so.5? I installed qtquick1-5-dbg, but there is still same information missing. Application: Systeeminstellingen (systemsettings5), signal: Segmentation fault Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 [Current thread is 1 (Thread 0x7fcecc57c780 (LWP 6828))] Thread 6 (Thread 0x7fceac215700 (LWP 6832)): #0 0x00007fcec8cff8dd in poll () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007fcec5a14ebc in g_main_context_iterate (priority=2147483647, n_fds=1, fds=0x7fcea40010e0, timeout=-1, context=0x1397290) at /build/buildd/glib2.0-2.44.0/./glib/gmain.c:4103 #2 0x00007fcec5a14ebc in g_main_context_iterate (context=0x1397290, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.44.0/./glib/gmain.c:3803 #3 0x00007fcec5a15242 in g_main_loop_run (loop=0x13973d0) at /build/buildd/glib2.0-2.44.0/./glib/gmain.c:4002 #4 0x00007fceb3827ae6 in gdbus_shared_thread_func (user_data=0x1397260) at /build/buildd/glib2.0-2.44.0/./gio/gdbusprivate.c:274 #5 0x00007fcec5a3b955 in g_thread_proxy (data=0x13670a0) at /build/buildd/glib2.0-2.44.0/./glib/gthread.c:764 #6 0x00007fcec5f336aa in start_thread (arg=0x7fceac215700) at pthread_create.c:333 #7 0x00007fcec8d0aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 5 (Thread 0x7fceaba14700 (LWP 6833)): #0 0x00007fcec5a59789 in g_mutex_lock (mutex=mutex@entry=0x1191410) at /build/buildd/glib2.0-2.44.0/./glib/gthread-posix.c:1342 #1 0x00007fcec5a14641 in g_main_context_query (context=context@entry=0x1191410, max_priority=2147483647, timeout=timeout@entry=0x7fceaba13e54, fds=fds@entry=0x7fce9c0008c0, n_fds=n_fds@entry=2) at /build/buildd/glib2.0-2.44.0/./glib/gmain.c:3512 #2 0x00007fcec5a14e37 in g_main_context_iterate (context=context@entry=0x1191410, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.44.0/./glib/gmain.c:3790 #3 0x00007fcec5a14fcc in g_main_context_iteration (context=0x1191410, may_block=may_block@entry=1) at /build/buildd/glib2.0-2.44.0/./glib/gmain.c:3869 #4 0x00007fcec5a15009 in glib_worker_main (data=<optimized out>) at /build/buildd/glib2.0-2.44.0/./glib/gmain.c:5618 #5 0x00007fcec5a3b955 in g_thread_proxy (data=0x13672d0) at /build/buildd/glib2.0-2.44.0/./glib/gthread.c:764 #6 0x00007fcec5f336aa in start_thread (arg=0x7fceaba14700) at pthread_create.c:333 #7 0x00007fcec8d0aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 4 (Thread 0x7fce9925b700 (LWP 6834)): #0 0x00007fcec5a59780 in g_mutex_lock (mutex=mutex@entry=0x7fce94000990) at /build/buildd/glib2.0-2.44.0/./glib/gthread-posix.c:1342 #1 0x00007fcec5a14409 in g_main_context_prepare (context=context@entry=0x7fce94000990, priority=priority@entry=0x7fce9925ace0) at /build/buildd/glib2.0-2.44.0/./glib/gmain.c:3412 #2 0x00007fcec5a14de8 in g_main_context_iterate (context=context@entry=0x7fce94000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.44.0/./glib/gmain.c:3788 #3 0x00007fcec5a14fcc in g_main_context_iteration (context=0x7fce94000990, may_block=1) at /build/buildd/glib2.0-2.44.0/./glib/gmain.c:3869 #4 0x00007fcec9617c6c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fce940008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418 #5 0x00007fcec95bc3e2 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fce9925ae20, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 #6 0x00007fcec937bb44 in QThread::exec() (this=<optimized out>) at thread/qthread.cpp:503 #7 0x00007fcec8346f65 in () at /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 #8 0x00007fcec9380b0e in QThreadPrivate::start(void*) (arg=0x18d74d0) at thread/qthread_unix.cpp:337 #9 0x00007fcec5f336aa in start_thread (arg=0x7fce9925b700) at pthread_create.c:333 #10 0x00007fcec8d0aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 3 (Thread 0x7fce918bc700 (LWP 6835)): #0 0x00007fcec8cff8dd in poll () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007fcec5a14ebc in g_main_context_iterate (priority=2147483647, n_fds=1, fds=0x7fce8c0023d0, timeout=-1, context=0x7fce8c000990) at /build/buildd/glib2.0-2.44.0/./glib/gmain.c:4103 #2 0x00007fcec5a14ebc in g_main_context_iterate (context=context@entry=0x7fce8c000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.44.0/./glib/gmain.c:3803 #3 0x00007fcec5a14fcc in g_main_context_iteration (context=0x7fce8c000990, may_block=1) at /build/buildd/glib2.0-2.44.0/./glib/gmain.c:3869 #4 0x00007fcec9617c6c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fce8c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:418 #5 0x00007fcec95bc3e2 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fce918bbe20, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 #6 0x00007fcec937bb44 in QThread::exec() (this=<optimized out>) at thread/qthread.cpp:503 #7 0x00007fcec8346f65 in () at /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 #8 0x00007fcec9380b0e in QThreadPrivate::start(void*) (arg=0x1f42980) at thread/qthread_unix.cpp:337 #9 0x00007fcec5f336aa in start_thread (arg=0x7fce918bc700) at pthread_create.c:333 #10 0x00007fcec8d0aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 2 (Thread 0x7fce8afe6700 (LWP 6836)): [KCrash Handler] #6 0x0000000000000070 in () #7 0x00007fcec7dcb628 in QSGOpaqueTextureMaterial::setTexture(QSGTexture*) () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 #8 0x00007fcec7dcad3c in QSGSimpleTextureNode::setTexture(QSGTexture*) () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 #9 0x00007fce93baac9a in Plasma::FrameSvgItem::updatePaintNode(QSGNode*, QQuickItem::UpdatePaintNodeData*) (this=0x2722b30, oldNode=0x7fce84dbbcb0) at ../../../../src/declarativeimports/core/framesvgitem.cpp:495 #10 0x00007fcec7e1e4bf in QQuickWindowPrivate::updateDirtyNode(QQuickItem*) () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 #11 0x00007fcec7e1f4cb in QQuickWindowPrivate::updateDirtyNodes() () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 #12 0x00007fcec7e1fd80 in QQuickWindowPrivate::syncSceneGraph() () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 #13 0x00007fcec7df11dd in () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 #14 0x00007fcec7df20a1 in () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 #15 0x00007fcec7df3360 in () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 #16 0x00007fcec9380b0e in QThreadPrivate::start(void*) (arg=0x2284300) at thread/qthread_unix.cpp:337 #17 0x00007fcec5f336aa in start_thread (arg=0x7fce8afe6700) at pthread_create.c:333 #18 0x00007fcec8d0aeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 1 (Thread 0x7fcecc57c780 (LWP 6828)): #0 0x00007fcec5f38da0 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 #1 0x00007fcec9381c6b in QWaitCondition::wait(QMutex*, unsigned long) (time=18446744073709551615, this=0x1e9db00) at thread/qwaitcondition_unix.cpp:128 #2 0x00007fcec9381c6b in QWaitCondition::wait(QMutex*, unsigned long) (this=<optimized out>, mutex=0x2284340, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:200 #3 0x00007fcec7df4c48 in () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 #4 0x00007fcec7df5cad in () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 #5 0x00007fceca3aab2c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=0x11a8430, receiver=0x1a4b910, e=0x7fffd807c770) at kernel/qapplication.cpp:3720 #6 0x00007fceca3b0000 in QApplication::notify(QObject*, QEvent*) (this=0x7fffd807cae0, receiver=0x1a4b910, e=0x7fffd807c770) at kernel/qapplication.cpp:3503 #7 0x00007fcec95bec2b in QCoreApplication::notifyInternal(QObject*, QEvent*) (this=0x7fffd807cae0, receiver=0x1a4b910, event=event@entry=0x7fffd807c770) at kernel/qcoreapplication.cpp:935 #8 0x00007fcec9616ae5 in QTimerInfoList::activateTimers() (event=0x7fffd807c770, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:228 #9 0x00007fcec9616ae5 in QTimerInfoList::activateTimers() (this=0x1288860) at kernel/qtimerinfo_unix.cpp:635 #10 0x00007fcec9616f61 in timerSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:177 #11 0x00007fcec5a14c3d in g_main_context_dispatch (context=0x7fceb4001710) at /build/buildd/glib2.0-2.44.0/./glib/gmain.c:3122 #12 0x00007fcec5a14c3d in g_main_context_dispatch (context=context@entry=0x7fceb4001710) at /build/buildd/glib2.0-2.44.0/./glib/gmain.c:3737 #13 0x00007fcec5a14f20 in g_main_context_iterate (context=context@entry=0x7fceb4001710, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.44.0/./glib/gmain.c:3808 #14 0x00007fcec5a14fcc in g_main_context_iteration (context=0x7fceb4001710, may_block=1) at /build/buildd/glib2.0-2.44.0/./glib/gmain.c:3869 #15 0x00007fcec9617c57 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x11a4650, flags=...) at kernel/qeventdispatcher_glib.cpp:418 #16 0x00007fcec95bc3e2 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffd807c9c0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 #17 0x00007fcec95c402c in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1188 #18 0x00007fcec9de531c in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1510 #19 0x00007fceca3a67a5 in QApplication::exec() () at kernel/qapplication.cpp:2956 #20 0x000000000040eebc in main(int, char**) (argc=1, argv=<optimized out>) at ../../app/main.cpp:54 (In reply to Arne Claeys from comment #4) > It seems the error only occurs when certain window decorations are > installed. In my case glowglass-deco causes the problem. Which one? I see 6 glowglass-* decorations. This theme for example: https://opendesktop.org/content/show.php?content=107473&forumpage=0&PHPSESSID=889ad0ac917bbdf19fabdb934adc7529. Deco is certainly problematic (black/invalid background) and I get a crash-on-exit #0 0xb7fdcbbc in __kernel_vsyscall () #1 0xb537e26b in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0 #2 0xb585f4a6 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libc.so.6 #3 0xb5b0e64c in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5 #4 0xae504274 in ?? () from /usr/lib/libQt5Quick.so.5 #5 0xae5048e5 in ?? () from /usr/lib/libQt5Quick.so.5 #6 0xae5315e6 in QQuickWindow::~QQuickWindow() () from /usr/lib/libQt5Quick.so.5 #7 0xae5e66c7 in QQuickView::~QQuickView() () from /usr/lib/libQt5Quick.so.5 #8 0xae5e66fa in QQuickView::~QQuickView() () from /usr/lib/libQt5Quick.so.5 #9 0xb661f1fe in QWindowContainer::~QWindowContainer() () from /usr/lib/libQt5Widgets.so.5 #10 0xb661f23a in QWindowContainer::~QWindowContainer() () from /usr/lib/libQt5Widgets.so.5 #11 0xb5d12d5c in QObjectPrivate::deleteChildren() () from /usr/lib/libQt5Core.so.5 #12 0xb65fce4d in QWidget::~QWidget() () from /usr/lib/libQt5Widgets.so.5 #13 0xb65fd10a in QWidget::~QWidget() () from /usr/lib/libQt5Widgets.so.5 #14 0xb5d12d5c in QObjectPrivate::deleteChildren() () from /usr/lib/libQt5Core.so.5 #15 0xb65fce4d in QWidget::~QWidget() () from /usr/lib/libQt5Widgets.so.5 #16 0xae94ede1 in KDecoration2::Configuration::ConfigurationForm::~ConfigurationForm() () from /opt/kwin_master/lib/plugins/kcm_kwindecoration.so #17 0xae94ee27 in KDecoration2::Configuration::ConfigurationForm::~ConfigurationForm() () from /opt/kwin_master/lib/plugins/kcm_kwindecoration.so #18 0xb5d12d5c in QObjectPrivate::deleteChildren() () from /usr/lib/libQt5Core.so.5 #19 0xb65fce4d in QWidget::~QWidget() () from /usr/lib/libQt5Widgets.so.5 #20 0xb72b1e39 in KCModule::~KCModule() () from /usr/lib/libKF5ConfigWidgets.so.5 The other two threads are dormant, stack of thread 4 is empty. Uninstalling the theme crashed the kcm, afterwards operation was back to normal. @David: you had a look at the systemsettings crash at exiting deco kcms IIRC? http://code.qt.io/cgit/qt/qtdeclarative.git/commit/src/quick/items/qquickwindow.cpp?id=8de7ad683388e0373b3687465c153a08e3ccf2e1 looks promising. ohhh threaded render loop. That might explain why I never hit the crash Optimistically marking as dupe. *** This bug has been marked as a duplicate of bug 345660 *** |