Bug 353624 - kwin crashes with OpenGL used, Chrome/glxgears crash kwin_x11
Summary: kwin crashes with OpenGL used, Chrome/glxgears crash kwin_x11
Status: RESOLVED WORKSFORME
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: 5.4.2
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: drkonqi, triaged
: 355874 (view as bug list)
Depends on:
Blocks:
 
Reported: 2015-10-07 00:02 UTC by Shawn Starr
Modified: 2018-10-27 02:42 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 Shawn Starr 2015-10-07 00:02:17 UTC
Application: kwin_x11 (5.4.2)

Qt Version: 5.5.0
Operating System: Linux 4.3.0-0.rc4.git0.1.fc24.x86_64 x86_64
Distribution: "Fedora release 22 (Twenty Two)"

-- Information about the crash:
- What I was doing when the application crashed:

Start up KDE, launch Google Chrome or glxgears, X freezes, kwin_x11 crashes.

Mesa is git snapshot from master

The crash can be reproduced every time.

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

Thread 3 (Thread 0x7f57f8dc4700 (LWP 1799)):
#0  0x00000034078f9063 in select () at /lib64/libc.so.6
#1  0x000000341c6d541f in qt_safe_select(int, fd_set*, fd_set*, fd_set*, timespec const*) (nfds=18, fdread=fdread@entry=0x7f57ec000a78, fdwrite=fdwrite@entry=0x7f57ec000d08, fdexcept=fdexcept@entry=0x7f57ec000f98, orig_timeout=orig_timeout@entry=0x0) at kernel/qcore_unix.cpp:75
#2  0x000000341c6d6f1e in QEventDispatcherUNIXPrivate::doSelect(QFlags<QEventLoop::ProcessEventsFlag>, timespec*) (timeout=0x0, exceptfds=0x7f57ec000f98, writefds=0x7f57ec000d08, readfds=0x7f57ec000a78, nfds=<optimized out>, this=0x7f57ec0008c0) at kernel/qeventdispatcher_unix.cpp:320
#3  0x000000341c6d6f1e in QEventDispatcherUNIXPrivate::doSelect(QFlags<QEventLoop::ProcessEventsFlag>, timespec*) (this=this@entry=0x7f57ec0008e0, flags=..., flags@entry=..., timeout=timeout@entry=0x0) at kernel/qeventdispatcher_unix.cpp:196
#4  0x000000341c6d744e in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f57ec0008c0, flags=...) at kernel/qeventdispatcher_unix.cpp:607
#5  0x000000341c680daa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f57f8dc3ca0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x000000341c49d5a4 in QThread::exec() (this=this@entry=0x16393e0) at thread/qthread.cpp:503
#7  0x00000034306d9245 in QQmlThreadPrivate::run() (this=0x16393e0) at /usr/src/debug/qtdeclarative-opensource-src-5.5.0/src/qml/qml/ftw/qqmlthread.cpp:141
#8  0x000000341c4a254e in QThreadPrivate::start(void*) (arg=0x16393e0) at thread/qthread_unix.cpp:331
#9  0x0000003407c07555 in start_thread (arg=0x7f57f8dc4700) at pthread_create.c:333
#10 0x0000003407902b9d in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f57ebc8a700 (LWP 1801)):
#0  0x0000003407c0c540 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x0000003430d85494 in QTWTF::TCMalloc_PageHeap::scavengerThread() (this=0x343106de80) at /usr/src/debug/qtscript-opensource-src-5.5.0/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x0000003430d854d9 in QTWTF::TCMalloc_PageHeap::runScavengerThread(void*) (context=<optimized out>) at /usr/src/debug/qtscript-opensource-src-5.5.0/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x0000003407c07555 in start_thread (arg=0x7f57ebc8a700) at pthread_create.c:333
#4  0x0000003407902b9d in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f580fad2900 (LWP 1789)):
[KCrash Handler]
#5  0x0000003430672f74 in QHash<QHashedStringRef, QQmlType*>::values() const (this=0x10) at /usr/include/qt5/QtCore/qhash.h:355
#6  0x0000003430672f74 in QHash<QHashedStringRef, QQmlType*>::values() const (this=0x10) at /usr/include/qt5/QtCore/qhash.h:745
#7  0x00000034306709c0 in QQmlMetaType::qmlSingletonTypes() () at /usr/src/debug/qtdeclarative-opensource-src-5.5.0/src/qml/qml/qqmlmetatype.cpp:1862
#8  0x0000003430644b98 in QQmlEngine::~QQmlEngine() (this=0x11f3640, __in_chrg=<optimized out>) at /usr/src/debug/qtdeclarative-opensource-src-5.5.0/src/qml/qml/qqmlengine.cpp:952
#9  0x0000003430644d39 in QQmlEngine::~QQmlEngine() (this=0x11f3640, __in_chrg=<optimized out>) at /usr/src/debug/qtdeclarative-opensource-src-5.5.0/src/qml/qml/qqmlengine.cpp:958
#10 0x0000003407839648 in __run_exit_handlers () at /lib64/libc.so.6
#11 0x0000003407839695 in  () at /lib64/libc.so.6
#12 0x00007f5808f6704e in QXcbConnection::processXcbEvents() (this=0xf21d80) at qxcbconnection.cpp:1414
#13 0x000000341c6b3021 in QObject::event(QEvent*) (this=0xf21d80, e=<optimized out>) at kernel/qobject.cpp:1246
#14 0x000000387d9544ac in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0xf1b370, receiver=receiver@entry=0xf21d80, e=e@entry=0x7f5804002510) at kernel/qapplication.cpp:3717
#15 0x000000387d959976 in QApplication::notify(QObject*, QEvent*) (this=0x7fff69944390, receiver=0xf21d80, e=0x7f5804002510) at kernel/qapplication.cpp:3500
#16 0x000000341c68361b in QCoreApplication::notifyInternal(QObject*, QEvent*) (this=0x7fff69944390, receiver=0xf21d80, event=event@entry=0x7f5804002510) at kernel/qcoreapplication.cpp:965
#17 0x000000341c685a16 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (event=0x7f5804002510, receiver=<optimized out>) at kernel/qcoreapplication.h:224
#18 0x000000341c685a16 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0xf0c540) at kernel/qcoreapplication.cpp:1593
#19 0x000000341c6d7312 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0xf6b510, flags=flags@entry=...) at kernel/qeventdispatcher_unix.cpp:579
#20 0x00007f5808fc927d in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at eventdispatchers/qunixeventdispatcher.cpp:62
#21 0x000000341c680daa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fff699442b0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#22 0x000000341c688e6c in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1229
#23 0x00007f58108e8bb3 in kdemain () at /lib64/libkdeinit5_kwin_x11.so
#24 0x0000003407820700 in __libc_start_main () at /lib64/libc.so.6
#25 0x0000000000400c69 in _start ()

Possible duplicates by query: bug 352548, bug 342130, bug 342129.

Reported using DrKonqi
Comment 1 Thomas Lübking 2015-10-07 06:10:59 UTC
That's a crash-on-exit (did you try to kill kwin or replace it?) and same as bug #352548 originally was.

What seems to happen on this exit is that global QML variables seem to be deleted twice, eg. once from the core and once from some plugin.

My guess is you're running the aurorae¹ deco engine and this won't happen when switching to breeze?

[1] to confirm, run "qdbus org.kde.KWin /KWin supportInformation | grep Plugin"
Comment 2 Thomas Lübking 2015-11-25 08:49:28 UTC
*** Bug 355874 has been marked as a duplicate of this bug. ***
Comment 3 Martin Flöser 2016-08-29 07:42:29 UTC
> My guess is you're running the aurorae¹ deco engine and this won't happen when switching to breeze?

Could you please answer this question?
Comment 4 Andrew Crouthamel 2018-09-26 22:14:41 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 5 Andrew Crouthamel 2018-10-27 02:42:36 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!