Application: systemsettings5 (5.2.0) Qt Version: 5.4.0 Operating System: Linux 3.16.0-30-generic x86_64 Distribution: Ubuntu 14.10 -- Information about the crash: - What I was doing when the application crashed: I opened the "Display and Monitor" system settings. It showed a wrong resolution for both of my two monitors, connected via HDMI and DVI. I didn't change any setting and cancelled the dialog. Immediately afterwards, Plasma showed a crash notification and terminated the complete System Settings dialog. I run Kubuntu 14.10 64bit and the latest Plasma 5.2, upgraded via "sudo apt-get upgrade". I am using an NVIDIA GT220 graphics card. -- Backtrace: Application: System Settings (systemsettings5), signal: Segmentation fault Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [Current thread is 1 (Thread 0x7f365764f7c0 (LWP 3928))] Thread 2 (Thread 0x7f3646e85700 (LWP 3929)): #0 0x00007f3653dd684d in poll () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007f3652b29b72 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #2 0x00007f3652b2b64f in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #3 0x00007f3649c15f79 in QXcbEventReader::run (this=0x1c68830) at qxcbconnection.cpp:1111 #4 0x00007f365445de4e in QThreadPrivate::start (arg=0x1c68830) at thread/qthread_unix.cpp:337 #5 0x00007f3650bd5754 in ?? () from /usr/lib/nvidia-304/libGL.so.1 #6 0x00007f3651a470a5 in start_thread (arg=0x7f3646e85700) at pthread_create.c:309 #7 0x00007f3653de0cfd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 Thread 1 (Thread 0x7f365764f7c0 (LWP 3928)): [KCrash Handler] #5 0x00007f3636e77a2e in QQuickItemPrivate::addToDirtyList() () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 #6 0x00007f3636e77ad8 in QQuickItemPrivate::dirty(QQuickItemPrivate::DirtyType) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 #7 0x00007f3636e81bf5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 #8 0x00007f36546c77ba in QObject::event (this=0x26ef660, e=<optimized out>) at kernel/qobject.cpp:1245 #9 0x00007f3636e8077b in QQuickItem::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 #10 0x00007f3655474d3c in QApplicationPrivate::notify_helper (this=0x1c41860, receiver=0x26ef660, e=0x7f35fc10d9d0) at kernel/qapplication.cpp:3722 #11 0x00007f365547a330 in QApplication::notify (this=0x7fff1392b580, receiver=0x26ef660, e=0x7f35fc10d9d0) at kernel/qapplication.cpp:3505 #12 0x00007f365469703b in QCoreApplication::notifyInternal (this=0x7fff1392b580, receiver=0x26ef660, event=event@entry=0x7f35fc10d9d0) at kernel/qcoreapplication.cpp:932 #13 0x00007f365469907b in sendEvent (event=0x7f35fc10d9d0, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:228 #14 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x1c40fd0) at kernel/qcoreapplication.cpp:1536 #15 0x00007f3654699678 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1394 #16 0x00007f36546ede83 in postEventSourceDispatch (s=0x1caae00) at kernel/qeventdispatcher_glib.cpp:271 #17 0x00007f3651527c5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #18 0x00007f3651527f48 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #19 0x00007f3651527ffc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #20 0x00007f36546ee277 in QEventDispatcherGlib::processEvents (this=0x1cb8b40, flags=...) at kernel/qeventdispatcher_glib.cpp:418 #21 0x00007f36546948d2 in QEventLoop::exec (this=this@entry=0x7fff1392b460, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 #22 0x00007f365469c37c in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1185 #23 0x00007f3654eb6bcc in QGuiApplication::exec () at kernel/qguiapplication.cpp:1535 #24 0x00007f3655470df5 in QApplication::exec () at kernel/qapplication.cpp:2956 #25 0x000000000040e81c in main (argc=1, argv=<optimized out>) at ../../app/main.cpp:54 Reported using DrKonqi
Looks like a Qt bug to me, could you try with Qt 5.4.1?
*** Bug 346345 has been marked as a duplicate of this bug. ***
*** Bug 346103 has been marked as a duplicate of this bug. ***
Bug 346586 is from Qt 5.4.1.
*** Bug 346586 has been marked as a duplicate of this bug. ***
*** Bug 345400 has been marked as a duplicate of this bug. ***
*** Bug 345156 has been marked as a duplicate of this bug. ***
*** Bug 343422 has been marked as a duplicate of this bug. ***
https://bugreports.qt.io/browse/QTBUG-43376?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
*** Bug 346630 has been marked as a duplicate of this bug. ***
*** Bug 346661 has been marked as a duplicate of this bug. ***
*** Bug 346704 has been marked as a duplicate of this bug. ***
*** Bug 346753 has been marked as a duplicate of this bug. ***
Fixed in Qt 5.4.2, see comment #9.
*** Bug 346864 has been marked as a duplicate of this bug. ***
*** Bug 346924 has been marked as a duplicate of this bug. ***
*** Bug 347014 has been marked as a duplicate of this bug. ***
*** Bug 347055 has been marked as a duplicate of this bug. ***
*** Bug 347370 has been marked as a duplicate of this bug. ***
*** Bug 347168 has been marked as a duplicate of this bug. ***
*** Bug 347183 has been marked as a duplicate of this bug. ***
*** Bug 347277 has been marked as a duplicate of this bug. ***
*** Bug 347283 has been marked as a duplicate of this bug. ***
*** Bug 347296 has been marked as a duplicate of this bug. ***
*** Bug 347307 has been marked as a duplicate of this bug. ***
*** Bug 347319 has been marked as a duplicate of this bug. ***
*** Bug 347333 has been marked as a duplicate of this bug. ***
*** Bug 347468 has been marked as a duplicate of this bug. ***
*** Bug 347483 has been marked as a duplicate of this bug. ***
*** Bug 347821 has been marked as a duplicate of this bug. ***
*** Bug 347832 has been marked as a duplicate of this bug. ***
As everyone suffering from this bug is directed here and not to the origin of problem (the Ubuntu package containing the not fixed Qt package) I want to direct you to the bug filed there: https://bugs.launchpad.net/ubuntu/+source/qtbase-opensource-src/+bug/1453517 When enough people are also indicating the problem there as well we have a chance to get a fixed package. As it is right now, nobody at Ubuntu will see that there's a problem and so it will not be fixed until a new (K)ubuntu version is released. I.e. no fix for the next half year...
Christian, Qt 5.4.2 is not released yet.
*** Bug 348192 has been marked as a duplicate of this bug. ***
*** Bug 348711 has been marked as a duplicate of this bug. ***
*** Bug 348782 has been marked as a duplicate of this bug. ***
*** Bug 348805 has been marked as a duplicate of this bug. ***
*** Bug 348992 has been marked as a duplicate of this bug. ***
*** Bug 349013 has been marked as a duplicate of this bug. ***
*** Bug 349137 has been marked as a duplicate of this bug. ***
*** Bug 349203 has been marked as a duplicate of this bug. ***
Bug 348992 is from Qt 5.4.2, reopening.
*** Bug 349366 has been marked as a duplicate of this bug. ***
*** Bug 349628 has been marked as a duplicate of this bug. ***
*** Bug 349685 has been marked as a duplicate of this bug. ***
*** Bug 349836 has been marked as a duplicate of this bug. ***
*** Bug 349853 has been marked as a duplicate of this bug. ***
*** Bug 349944 has been marked as a duplicate of this bug. ***
It seems this is not specific to the KScreen kcm, but to any kcm that uses QML. Upstream bug?
So I recompiled everything from git and it happens even with latest Qt 5.5 from git. Here's a backtrace from debug build #0 0x00007ffff2e48d59 in QQuickItemPrivate::addToDirtyList (this=0xdbdcc0) at /mnt/AUR/qt5-declarative-git/src/qt5-declarative/src/quick/items/qquickitem.cpp:5610 #1 0x00007ffff2e48e43 in QQuickItemPrivate::dirty (this=0xdbdcc0, type=<optimized out>) at /mnt/AUR/qt5-declarative-git/src/qt5-declarative/src/quick/items/qquickitem.cpp:5594 #2 0x00007ffff2e496cd in QQuickItem::update (this=0xdbdc40) at /mnt/AUR/qt5-declarative-git/src/qt5-declarative/src/quick/items/qquickitem.cpp:4088 #3 0x00007ffff2e56c0d in QQuickItem::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/moc_qquickitem.cpp:597 #4 0x00007ffff45f2ae1 in QObject::event (this=this@entry=0xdbdc40, e=e@entry=0x7fffc41f80b0) at kernel/qobject.cpp:1239 #5 0x00007ffff2e53a63 in QQuickItem::event (this=0xdbdc40, ev=0x7fffc41f80b0) at /mnt/AUR/qt5-declarative-git/src/qt5-declarative/src/quick/items/qquickitem.cpp:7294 #6 0x00007ffff6087d94 in QApplicationPrivate::notify_helper (this=this@entry=0x681dd0, receiver=receiver@entry=0xdbdc40, e=e@entry=0x7fffc41f80b0) at kernel/qapplication.cpp:3717 #7 0x00007ffff608d2c8 in QApplication::notify (this=0x7fffffffe4a0, receiver=0xdbdc40, e=0x7fffc41f80b0) at kernel/qapplication.cpp:3500 #8 0x00007ffff45c49dc in QCoreApplication::notifyInternal (this=0x7fffffffe4a0, receiver=0xdbdc40, event=event@entry=0x7fffc41f80b0) at kernel/qcoreapplication.cpp:965 #9 0x00007ffff45c7dea in sendEvent (event=0x7fffc41f80b0, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:224 #10 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x681430) at kernel/qcoreapplication.cpp:1593 #11 0x00007ffff45c8230 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1451 #12 0x00007ffff4617f63 in postEventSourceDispatch (s=0x6d7aa0) at kernel/qeventdispatcher_glib.cpp:271 #13 0x00007fffefcce9fd in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #14 0x00007fffefccece0 in ?? () from /usr/lib/libglib-2.0.so.0 #15 0x00007fffefcced8c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #16 0x00007ffff4617fd7 in QEventDispatcherGlib::processEvents (this=0x6d5850, flags=...) at kernel/qeventdispatcher_glib.cpp:418 #17 0x00007ffff45c339a in QEventLoop::exec (this=this@entry=0x7fffffffe380, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 #18 0x00007ffff45cb23c in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1229 #19 0x00007ffff592cbf4 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1528 #20 0x00007ffff6084bb5 in QApplication::exec () at kernel/qapplication.cpp:2977 #21 0x000000000040f52b in main (argc=1, argv=<optimized out>) at /mnt/AUR/systemsettings-git/src/systemsettings/app/main.cpp:55 From qt5-declarative/src/quick/items/qquickitem.cpp 5600 void QQuickItemPrivate::addToDirtyList() 5601 { 0x00007ffff2e48d10 <+0>: push rbx 5602 Q_Q(QQuickItem); 5603 5604 Q_ASSERT(window); 0x00007ffff2e48d11 <+1>: mov rax,QWORD PTR [rdi+0xb8] 0x00007ffff2e48d18 <+8>: test rax,rax 0x00007ffff2e48d1b <+11>: je 0x7ffff2e48da7 <QQuickItemPrivate::addToDirtyList()+151> 0x00007ffff2e48da7 <+151>: mov edx,0x15e4 0x00007ffff2e48dac <+156>: lea rsi,[rip+0x18d305] # 0x7ffff2fd60b8 0x00007ffff2e48db3 <+163>: lea rdi,[rip+0x18ad1d] # 0x7ffff2fd3ad7 0x00007ffff2e48dba <+170>: call 0x7ffff2d71840 <_Z9qt_assertPKcS0_i@plt> 5605 if (!prevDirtyItem) { 0x00007ffff2e48d21 <+17>: cmp QWORD PTR [rdi+0xb0],0x0 0x00007ffff2e48d29 <+25>: mov rbx,rdi 0x00007ffff2e48d2c <+28>: je 0x7ffff2e48d30 <QQuickItemPrivate::addToDirtyList()+32> 5606 Q_ASSERT(!nextDirtyItem); 0x00007ffff2e48d30 <+32>: cmp QWORD PTR [rdi+0xa8],0x0 0x00007ffff2e48d38 <+40>: jne 0x7ffff2e48dbf <QQuickItemPrivate::addToDirtyList()+175> 0x00007ffff2e48d3e <+46>: mov rsi,QWORD PTR [rdi+0x8] 0x00007ffff2e48dbf <+175>: mov edx,0x15e6 0x00007ffff2e48dc4 <+180>: lea rsi,[rip+0x18d2ed] # 0x7ffff2fd60b8 0x00007ffff2e48dcb <+187>: lea rdi,[rip+0x18da27] # 0x7ffff2fd67f9 0x00007ffff2e48dd2 <+194>: call 0x7ffff2d71840 <_Z9qt_assertPKcS0_i@plt> 0x00007ffff2e48dd7: nop 0x00007ffff2e48dd8: nop DWORD PTR [rax+rax*1+0x0] 5607 5608 QQuickWindowPrivate *p = QQuickWindowPrivate::get(window); 5609 nextDirtyItem = p->dirtyItemList; 0x00007ffff2e48d46 <+54>: mov rax,QWORD PTR [rdi+0x1a8] 0x00007ffff2e48d4d <+61>: mov QWORD PTR [rbx+0xa8],rax 5610 if (nextDirtyItem) QQuickItemPrivate::get(nextDirtyItem)->prevDirtyItem = &nextDirtyItem; 0x00007ffff2e48d54 <+68>: test rax,rax 0x00007ffff2e48d57 <+71>: je 0x7ffff2e48d6b <QQuickItemPrivate::addToDirtyList()+91> => 0x00007ffff2e48d59 <+73>: mov rax,QWORD PTR [rax+0x8] 0x00007ffff2e48d5d <+77>: lea rdx,[rbx+0xa8] 0x00007ffff2e48d64 <+84>: mov QWORD PTR [rax+0xb0],rdx (gdb) x $rax 0x7fffd1955300: Cannot access memory at address 0x7fffd1955300 it looks like something freed dirtyItemList while it's still referenced there...
(In reply to Dāvis from comment #50) > (gdb) x $rax > 0x7fffd1955300: Cannot access memory at address 0x7fffd1955300 > > it looks like something freed dirtyItemList while it's still referenced > there... actually no, it looks like pointer so I assumed it could be freed memory, but now when I ran it again it's not pointer but more like something overwrote it (gdb) p ((QQuickWindowPrivate *)window->d_ptr)->dirtyItemList $11 = (QQuickItem *) 0x30
*** Bug 350198 has been marked as a duplicate of this bug. ***
*** Bug 350224 has been marked as a duplicate of this bug. ***
*** Bug 350376 has been marked as a duplicate of this bug. ***
*** Bug 350462 has been marked as a duplicate of this bug. ***
*** Bug 350600 has been marked as a duplicate of this bug. ***
*** Bug 350961 has been marked as a duplicate of this bug. ***
*** Bug 351110 has been marked as a duplicate of this bug. ***
*** Bug 351125 has been marked as a duplicate of this bug. ***
*** Bug 351372 has been marked as a duplicate of this bug. ***
*** Bug 351454 has been marked as a duplicate of this bug. ***
*** Bug 351501 has been marked as a duplicate of this bug. ***
*** Bug 351749 has been marked as a duplicate of this bug. ***
*** Bug 351784 has been marked as a duplicate of this bug. ***
*** Bug 351907 has been marked as a duplicate of this bug. ***
*** Bug 352082 has been marked as a duplicate of this bug. ***
*** Bug 352084 has been marked as a duplicate of this bug. ***
*** Bug 352402 has been marked as a duplicate of this bug. ***
*** Bug 351736 has been marked as a duplicate of this bug. ***
*** Bug 352354 has been marked as a duplicate of this bug. ***
*** Bug 352521 has been marked as a duplicate of this bug. ***
*** Bug 352905 has been marked as a duplicate of this bug. ***
*** Bug 352959 has been marked as a duplicate of this bug. ***
*** Bug 346532 has been marked as a duplicate of this bug. ***
Created attachment 94920 [details] backtrace gentoo x86_64 / plasma 5.4.2 / qt 5.5.0 / kde frameworks 5.14.0 happens the same in the same place. nvidia drivers
*** Bug 353098 has been marked as a duplicate of this bug. ***
*** Bug 353100 has been marked as a duplicate of this bug. ***
*** Bug 353163 has been marked as a duplicate of this bug. ***
*** Bug 353472 has been marked as a duplicate of this bug. ***
*** Bug 353583 has been marked as a duplicate of this bug. ***
The problem is related to threaded QtQuick rendering. With QSG_RENDER_LOOP=threaded systemsettings5 I can reproduce the crash. With the default "basic" which my GPU enforces, I'm not able to reproduce the crash.
(In reply to Martin Gräßlin from comment #81) > The problem is related to threaded QtQuick rendering. With > QSG_RENDER_LOOP=threaded systemsettings5 > > I can reproduce the crash. With the default "basic" which my GPU enforces, > I'm not able to reproduce the crash. So can we (users) work around this bug by exporting QSG_RENDER_LOOP=basic ? So, does this look like another Qt bug?
(In reply to Alexey from comment #82) > So can we (users) work around this bug by exporting QSG_RENDER_LOOP=basic ? yes, I think that will work > So, does this look like another Qt bug? I haven't investigated yet, but given the stacktrace and the condition to reproduce: yes.
Some further investigation results: running in kcmshell5 doesn't crash and also running the test application doesn't crash. It seems to be related to how systemsettings unloads the module. Investigating.
I'm glad to announce that I found the bug and have a fix for it: https://git.reviewboard.kde.org/r/125734/
Git commit 4653c287f844f2cb19379ff001ca76d7d9e3a2a1 by Martin Gräßlin. Committed on 21/10/2015 at 08:38. Pushed by graesslin into branch 'Plasma/5.4'. Fix crash when exiting kscreen kcm in systemsettings When using threaded rendering loop [1] systemsettings crashed when clicking the back button. This crash is caused inside the shader effect used by the OpacityMask. QtQuick informed us also that something is wrong: "QSGDefaultLayer::bind: ShaderEffectSource: 'recursive' must be set to true when rendering recursively." The actual problem is that orientationPanelContainer and the OpacityMask are children to the monitor item causing recursion. By making them siblings to the orientationPanelContainer the problem is resolved. The error message from QtQuick is no longer shown and systemsettings doesn't crash any more. FIXED-IN: 5.4.3 REVIEW: 125734 [1] QSG_RENDER_LOOP=threaded systemsettings5 M +23 -24 kcm/qml/Output.qml http://commits.kde.org/kscreen/4653c287f844f2cb19379ff001ca76d7d9e3a2a1
*** Bug 353782 has been marked as a duplicate of this bug. ***
*** Bug 353945 has been marked as a duplicate of this bug. ***
*** Bug 354150 has been marked as a duplicate of this bug. ***
*** Bug 354011 has been marked as a duplicate of this bug. ***
*** Bug 354254 has been marked as a duplicate of this bug. ***
*** Bug 354378 has been marked as a duplicate of this bug. ***
*** Bug 354421 has been marked as a duplicate of this bug. ***
*** Bug 354851 has been marked as a duplicate of this bug. ***
*** Bug 355136 has been marked as a duplicate of this bug. ***
*** Bug 344591 has been marked as a duplicate of this bug. ***
Created attachment 123372 [details] New crash information added by DrKonqi systemsettings5 (5.17.0) using Qt 5.13.1 - What I was doing when the application crashed: Opened the compositor menu option in the system settings. -- Backtrace (Reduced): #6 QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::operator-> (this=0x559400000022) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:118 [...] #9 QQuickWindow::maybeUpdate (this=0x55940000001a) at items/qquickwindow.cpp:3589 #10 0x00007f7c3bd9f669 in QQuickWindowPrivate::dirtyItem (this=<optimized out>) at items/qquickwindow.cpp:1158 #11 0x00007f7c3bd84d65 in QQuickItemPrivate::dirty (this=<optimized out>, type=<optimized out>) at items/qquickitem.cpp:6135 #12 0x00007f7c3bd851be in QQuickItem::update (this=<optimized out>) at items/qquickitem.cpp:4439