Summary: | Plasma 5.2 System Preference Crash | ||
---|---|---|---|
Product: | [Applications] systemsettings | Reporter: | chrisgleissner |
Component: | general | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | administrator, ahmad19933, alanbortu, alexandernst, alexey.min, andysem, areginato, ashrader330, bartn8, benyxx, boffintheibm, brettschneider.sven, buddygreeson, bug, cchiquillo, cfeck, daniilx1, davispuh, dbertaso, djcole187, drdrnewman, fabio.coatti, flowwolf, germano.massullo, get.sonic, giorgosk67, goda87, haven1324, heri+kde, ibbles, iris.klionsky, izenzon, james, jchevarley, jejones3141, jeremy9856, jkonecny, k2mil, karaluh, kbags139, kde, kde, kdebugs.20.petechap, kim-g, klenac, kosmas, lacho8713, lars.albertsson, loops, lukas.schneiderbauer, lupus_in_fabula, mathieu, mgraesslin, n.schnelle, nickjorens, nuonguy, oleg.synelnykov, omenra, paul, piedro.kulman, pullerrush, roby95, Rudolf.Leitgeb, saleem24, seifert, sergiu, simonandric5, soeren_h, stratust, ujwalr, vilesy, vourhey, wjh.gorniak, zorak1103 |
Priority: | NOR | Keywords: | drkonqi |
Version: | 5.3.1 | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | http://commits.kde.org/kscreen/4653c287f844f2cb19379ff001ca76d7d9e3a2a1 | Version Fixed In: | 5.4.3 |
Sentry Crash Report: | |||
Attachments: |
backtrace
New crash information added by DrKonqi |
Description
chrisgleissner
2015-02-28 08:14:26 UTC
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. *** *** 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
|