Bug 345173 - Segfault in PlasmaQuick::DialogPrivate::availableScreenGeometryForPosition
Summary: Segfault in PlasmaQuick::DialogPrivate::availableScreenGeometryForPosition
Status: RESOLVED FIXED
Alias: None
Product: libplasma
Classification: Frameworks and Libraries
Component: libplasmaquick (show other bugs)
Version: unspecified
Platform: Gentoo Packages Linux
: NOR crash
Target Milestone: ---
Assignee: Marco Martin
URL:
Keywords:
: 345772 354303 (view as bug list)
Depends on:
Blocks:
 
Reported: 2015-03-15 10:11 UTC by Jan Kundrát
Modified: 2015-10-24 14:34 UTC (History)
2 users (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 Jan Kundrát 2015-03-15 10:11:57 UTC
This can only happen on Qt 5.5 which introduced the possibility to have nullptr QScreen.

I was not actively switching screens when this happened. plasmashell crashed for some reason, I switched to physical console, restarted it, switched back to X11, pressed either Win+Tab which I use to get an interactive desktop switcher or Alt-Tab. This ended up with KWin crashing within plasma-framework code:

Program received signal SIGSEGV, Segmentation fault.
QScreen::virtualSiblings (this=0x0) at /var/tmp/portage/dev-qt/qtgui-5.5.9999/work/qtgui-5.5.9999/src/gui/kernel/qscreen.cpp:329
329     /var/tmp/portage/dev-qt/qtgui-5.5.9999/work/qtgui-5.5.9999/src/gui/kernel/qscreen.cpp: No such file or directory.
(gdb) bt
#0  QScreen::virtualSiblings (this=0x0) at /var/tmp/portage/dev-qt/qtgui-5.5.9999/work/qtgui-5.5.9999/src/gui/kernel/qscreen.cpp:329
#1  0x00007fff497091f0 in PlasmaQuick::DialogPrivate::availableScreenGeometryForPosition (this=this@entry=0x55555655f550, pos=...)
    at /var/tmp/portage/kde-frameworks/plasma-9999/work/plasma-9999/src/plasmaquick/dialog.cpp:152
#2  0x00007fff49709479 in PlasmaQuick::DialogPrivate::syncBorders (this=this@entry=0x55555655f550, geom=...)
    at /var/tmp/portage/kde-frameworks/plasma-9999/work/plasma-9999/src/plasmaquick/dialog.cpp:178
#3  0x00007fff49709683 in PlasmaQuick::DialogPrivate::syncToMainItemSize (this=0x55555655f550) at /var/tmp/portage/kde-frameworks/plasma-9999/work/plasma-9999/src/plasmaquick/dialog.cpp:578
#4  0x00007fff4970b681 in slotMainItemSizeChanged (this=<optimized out>) at /var/tmp/portage/kde-frameworks/plasma-9999/work/plasma-9999/src/plasmaquick/dialog.cpp:754
#5  PlasmaQuick::Dialog::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>)
    at /var/tmp/portage/kde-frameworks/plasma-9999/work/plasma-9999_build/src/plasmaquick/moc_dialog.cpp:230
#6  0x00007ffff6085bf8 in QMetaObject::activate (sender=sender@entry=0x5555565d5350, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=21, argv=argv@entry=0x0)
    at /var/tmp/portage/dev-qt/qtcore-5.5.9999/work/qtcore-5.5.9999/src/corelib/kernel/qobject.cpp:3718
#7  0x00007ffff6086315 in QMetaObject::activate (sender=sender@entry=0x5555565d5350, m=m@entry=0x7ffff50d24a0 <QQuickItem::staticMetaObject>, local_signal_index=local_signal_index@entry=21,
    argv=argv@entry=0x0) at /var/tmp/portage/dev-qt/qtcore-5.5.9999/work/qtcore-5.5.9999/src/corelib/kernel/qobject.cpp:3583
#8  0x00007ffff4e40bc9 in QQuickItem::widthChanged (this=this@entry=0x5555565d5350) at .moc/moc_qquickitem.cpp:1101
#9  0x00007ffff4e40da9 in QQuickItem::geometryChanged (this=this@entry=0x5555565d5350, newGeometry=..., oldGeometry=...) at /home/jkt/work/prog/qt5/qtdeclarative/src/quick/items/qquickitem.cpp:3543
#10 0x00007ffff4e46ccb in QQuickItem::setWidth (this=0x5555565d5350, w=<optimized out>) at /home/jkt/work/prog/qt5/qtdeclarative/src/quick/items/qquickitem.cpp:6093
#11 0x00007ffff4e54f3e in QQuickItem::qt_static_metacall (_o=_o@entry=0x5555565d5350, _c=_c@entry=QMetaObject::WriteProperty, _id=_id@entry=7, _a=_a@entry=0x7fffffffb2b0)
    at .moc/moc_qquickitem.cpp:872
#12 0x00007ffff4e55dd2 in QQuickItem::qt_metacall (this=0x5555565d5350, _c=QMetaObject::WriteProperty, _id=7, _a=0x7fffffffb2b0) at .moc/moc_qquickitem.cpp:943
#13 0x00007ffff095518f in QQmlVMEMetaObject::metaCall (this=0x5555565d55d0, c=QMetaObject::WriteProperty, _id=8, a=0x7fffffffb2b0)
    at /home/jkt/work/prog/qt5/qtdeclarative/src/qml/qml/qqmlvmemetaobject.cpp:971
        #14 0x00007ffff0955287 in QQmlVMEMetaObject::metaCall (this=0x555556786990, c=QMetaObject::WriteProperty, _id=8, a=0x7fffffffb2b0)
    at /home/jkt/work/prog/qt5/qtdeclarative/src/qml/qml/qqmlvmemetaobject.cpp:969
#15 0x00007ffff0976fc8 in QQmlPropertyPrivate::writeBinding (object=0x5555565d5350, core=..., context=<optimized out>, expression=expression@entry=0x555556786f20, result=...,
    isUndefined=isUndefined@entry=false, flags=...) at /home/jkt/work/prog/qt5/qtdeclarative/src/qml/qml/qqmlproperty.cpp:1487
#16 0x00007ffff09f677c in QQmlBinding::update (this=0x555556786f00, flags=...) at /home/jkt/work/prog/qt5/qtdeclarative/src/qml/qml/qqmlbinding.cpp:224
#17 0x00007ffff09f6f2e in update (this=<optimized out>) at /home/jkt/work/prog/qt5/qtdeclarative/src/qml/qml/qqmlbinding_p.h:97
#18 QQmlBinding::expressionChanged (e=<optimized out>) at /home/jkt/work/prog/qt5/qtdeclarative/src/qml/qml/qqmlbinding.cpp:285
#19 0x00007ffff09cd51f in QQmlNotifier::emitNotify (endpoint=0x5555567f7438, a=a@entry=0x0) at /home/jkt/work/prog/qt5/qtdeclarative/src/qml/qml/qqmlnotifier.cpp:73
#20 0x00007ffff09cd4e2 in QQmlNotifier::emitNotify (endpoint=0x5555567ef868, a=a@entry=0x0) at /home/jkt/work/prog/qt5/qtdeclarative/src/qml/qml/qqmlnotifier.cpp:68
#21 0x00007ffff095ef44 in QQmlData::signalEmitted (object=0x5555567a1c60, index=24, a=0x0) at /home/jkt/work/prog/qt5/qtdeclarative/src/qml/qml/qqmlengine.cpp:714
#22 0x00007ffff60853e9 in QMetaObject::activate (sender=sender@entry=0x5555567a1c60, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=21, argv=argv@entry=0x0)
    at /var/tmp/portage/dev-qt/qtcore-5.5.9999/work/qtcore-5.5.9999/src/corelib/kernel/qobject.cpp:3604
#23 0x00007ffff6086315 in QMetaObject::activate (sender=sender@entry=0x5555567a1c60, m=m@entry=0x7ffff50d24a0 <QQuickItem::staticMetaObject>, local_signal_index=local_signal_index@entry=21,
    argv=argv@entry=0x0) at /var/tmp/portage/dev-qt/qtcore-5.5.9999/work/qtcore-5.5.9999/src/corelib/kernel/qobject.cpp:3583
#24 0x00007ffff4e40bc9 in QQuickItem::widthChanged (this=this@entry=0x5555567a1c60) at .moc/moc_qquickitem.cpp:1101
#25 0x00007ffff4e40da9 in QQuickItem::geometryChanged (this=this@entry=0x5555567a1c60, newGeometry=..., oldGeometry=...) at /home/jkt/work/prog/qt5/qtdeclarative/src/quick/items/qquickitem.cpp:3543
#26 0x00007ffff4e46ccb in QQuickItem::setWidth (this=0x5555567a1c60, w=<optimized out>) at /home/jkt/work/prog/qt5/qtdeclarative/src/quick/items/qquickitem.cpp:6093
#27 0x00007ffff4e54f3e in QQuickItem::qt_static_metacall (_o=_o@entry=0x5555567a1c60, _c=_c@entry=QMetaObject::WriteProperty, _id=_id@entry=7, _a=_a@entry=0x7fffffffbd90)
    at .moc/moc_qquickitem.cpp:872
#28 0x00007ffff4e55dd2 in QQuickItem::qt_metacall (this=0x5555567a1c60, _c=QMetaObject::WriteProperty, _id=7, _a=0x7fffffffbd90) at .moc/moc_qquickitem.cpp:943
#29 0x00007ffff095518f in QQmlVMEMetaObject::metaCall (this=0x5555567a7f50, c=QMetaObject::WriteProperty, _id=8, a=0x7fffffffbd90)
    at /home/jkt/work/prog/qt5/qtdeclarative/src/qml/qml/qqmlvmemetaobject.cpp:971
#30 0x00007ffff0955287 in QQmlVMEMetaObject::metaCall (this=0x555556780030, c=QMetaObject::WriteProperty, _id=8, a=0x7fffffffbd90)
    at /home/jkt/work/prog/qt5/qtdeclarative/src/qml/qml/qqmlvmemetaobject.cpp:969
#31 0x00007ffff0976fc8 in QQmlPropertyPrivate::writeBinding (object=0x5555567a1c60, core=..., context=<optimized out>, expression=expression@entry=0x5555567803b0, result=...,
    isUndefined=isUndefined@entry=false, flags=...) at /home/jkt/work/prog/qt5/qtdeclarative/src/qml/qml/qqmlproperty.cpp:1487
#32 0x00007ffff09f677c in QQmlBinding::update (this=0x555556780390, flags=...) at /home/jkt/work/prog/qt5/qtdeclarative/src/qml/qml/qqmlbinding.cpp:224
#33 0x00007ffff09f6f2e in update (this=<optimized out>) at /home/jkt/work/prog/qt5/qtdeclarative/src/qml/qml/qqmlbinding_p.h:97
#34 QQmlBinding::expressionChanged (e=<optimized out>) at /home/jkt/work/prog/qt5/qtdeclarative/src/qml/qml/qqmlbinding.cpp:285
#35 0x00007ffff09cd51f in QQmlNotifier::emitNotify (endpoint=0x55555641ed18, a=a@entry=0x0) at /home/jkt/work/prog/qt5/qtdeclarative/src/qml/qml/qqmlnotifier.cpp:73
#36 0x00007ffff095ef44 in QQmlData::signalEmitted (object=0x5555567a1c60, index=18, a=0x0) at /home/jkt/work/prog/qt5/qtdeclarative/src/qml/qml/qqmlengine.cpp:714
#37 0x00007ffff60853e9 in QMetaObject::activate (sender=sender@entry=0x5555567a1c60, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=15, argv=argv@entry=0x0)
    at /var/tmp/portage/dev-qt/qtcore-5.5.9999/work/qtcore-5.5.9999/src/corelib/kernel/qobject.cpp:3604
#38 0x00007ffff6086315 in QMetaObject::activate (sender=sender@entry=0x5555567a1c60, m=m@entry=0x7ffff50d24a0 <QQuickItem::staticMetaObject>, local_signal_index=local_signal_index@entry=15,
    argv=argv@entry=0x0) at /var/tmp/portage/dev-qt/qtcore-5.5.9999/work/qtcore-5.5.9999/src/corelib/kernel/qobject.cpp:3583
#39 0x00007ffff4e409e9 in QQuickItem::visibleChanged (this=this@entry=0x5555567a1c60) at .moc/moc_qquickitem.cpp:1065
#40 0x00007ffff4e52372 in QQuickItemPrivate::setEffectiveVisibleRecur (this=0x5555567a7d40, newEffectiveVisible=newEffectiveVisible@entry=true)
    at /home/jkt/work/prog/qt5/qtdeclarative/src/quick/items/qquickitem.cpp:5514
#41 0x00007ffff4e522eb in QQuickItemPrivate::setEffectiveVisibleRecur (this=0x5555565dd3c0, newEffectiveVisible=newEffectiveVisible@entry=true)
    at /home/jkt/work/prog/qt5/qtdeclarative/src/quick/items/qquickitem.cpp:5505
#42 0x00007ffff4e522eb in QQuickItemPrivate::setEffectiveVisibleRecur (this=0x5555565d5a50, newEffectiveVisible=newEffectiveVisible@entry=true)
    at /home/jkt/work/prog/qt5/qtdeclarative/src/quick/items/qquickitem.cpp:5505
#43 0x00007ffff4e522eb in QQuickItemPrivate::setEffectiveVisibleRecur (this=this@entry=0x5555565d5380, newEffectiveVisible=<optimized out>)
    at /home/jkt/work/prog/qt5/qtdeclarative/src/quick/items/qquickitem.cpp:5505
#44 0x00007ffff4e5243c in QQuickItem::setVisible (this=<optimized out>, v=v@entry=true) at /home/jkt/work/prog/qt5/qtdeclarative/src/quick/items/qquickitem.cpp:5413
#45 0x00007fff4970a7d6 in PlasmaQuick::DialogPrivate::updateVisibility (this=0x55555655f550, visible=visible@entry=true)
    at /var/tmp/portage/kde-frameworks/plasma-9999/work/plasma-9999/src/plasmaquick/dialog.cpp:241
#46 0x00007fff4970c776 in PlasmaQuick::Dialog::event (this=0x55555620c240, event=0x7fffffffc810) at /var/tmp/portage/kde-frameworks/plasma-9999/work/plasma-9999/src/plasmaquick/dialog.cpp:1051
#47 0x00007ffff69a14dc in QApplicationPrivate::notify_helper (this=this@entry=0x555555766000, receiver=receiver@entry=0x55555620c240, e=e@entry=0x7fffffffc810)
    at /var/tmp/portage/dev-qt/qtwidgets-5.5.9999/work/qtwidgets-5.5.9999/src/widgets/kernel/qapplication.cpp:3716
#48 0x00007ffff69a6eba in QApplication::notify (this=0x7fffffffd900, receiver=0x55555620c240, e=0x7fffffffc810)
    at /var/tmp/portage/dev-qt/qtwidgets-5.5.9999/work/qtwidgets-5.5.9999/src/widgets/kernel/qapplication.cpp:3499
#49 0x00007ffff604d9cd in QCoreApplication::notifyInternal (this=0x7fffffffd900, receiver=receiver@entry=0x55555620c240, event=event@entry=0x7fffffffc810)
    at /var/tmp/portage/dev-qt/qtcore-5.5.9999/work/qtcore-5.5.9999/src/corelib/kernel/qcoreapplication.cpp:963
#50 0x00007ffff63b32bb in sendEvent (event=0x7fffffffc810, receiver=0x55555620c240) at ../../include/QtCore/../../../qtgui-5.5.9999/src/corelib/kernel/qcoreapplication.h:228
#51 QWindow::setVisible (this=this@entry=0x55555620c240, visible=visible@entry=true) at /var/tmp/portage/dev-qt/qtgui-5.5.9999/work/qtgui-5.5.9999/src/gui/kernel/qwindow.cpp:495
#52 0x00007fff497084fe in PlasmaQuick::Dialog::setVisible (this=0x55555620c240, visible=<optimized out>)
    at /var/tmp/portage/kde-frameworks/plasma-9999/work/plasma-9999/src/plasmaquick/dialog.cpp:1219
#53 0x00007fff4970b703 in PlasmaQuick::Dialog::qt_static_metacall (_o=_o@entry=0x55555620c240, _c=_c@entry=QMetaObject::WriteProperty, _id=_id@entry=9, _a=_a@entry=0x7fffffffca00)
    at /var/tmp/portage/kde-frameworks/plasma-9999/work/plasma-9999_build/src/plasmaquick/moc_dialog.cpp:334
#54 0x00007fff4970cf3a in PlasmaQuick::Dialog::qt_metacall (this=0x55555620c240, _c=QMetaObject::WriteProperty, _id=9, _a=0x7fffffffca00)
    at /var/tmp/portage/kde-frameworks/plasma-9999/work/plasma-9999_build/src/plasmaquick/moc_dialog.cpp:387
#55 0x00007ffff09749a2 in QQmlPropertyPrivate::write (object=object@entry=0x55555620c240, property=..., value=..., context=context@entry=0x555556191330, flags=...)
    at /home/jkt/work/prog/qt5/qtdeclarative/src/qml/qml/qqmlproperty.cpp:1314
#56 0x00007ffff09763b0 in QQmlPropertyPrivate::writeValueProperty (object=object@entry=0x55555620c240, core=..., value=..., context=0x555556191330, flags=...)
    at /home/jkt/work/prog/qt5/qtdeclarative/src/qml/qml/qqmlproperty.cpp:1238
#57 0x00007ffff097746a in QQmlPropertyPrivate::writeBinding (object=0x55555620c240, core=..., context=<optimized out>, expression=expression@entry=0x555556558850, result=...,
    isUndefined=isUndefined@entry=false, flags=...) at /home/jkt/work/prog/qt5/qtdeclarative/src/qml/qml/qqmlproperty.cpp:1571
#58 0x00007ffff09f677c in QQmlBinding::update (this=0x555556558830, flags=...) at /home/jkt/work/prog/qt5/qtdeclarative/src/qml/qml/qqmlbinding.cpp:224
#59 0x00007ffff09f6f2e in update (this=<optimized out>) at /home/jkt/work/prog/qt5/qtdeclarative/src/qml/qml/qqmlbinding_p.h:97
#60 QQmlBinding::expressionChanged (e=<optimized out>) at /home/jkt/work/prog/qt5/qtdeclarative/src/qml/qml/qqmlbinding.cpp:285
#61 0x00007ffff09cd51f in QQmlNotifier::emitNotify (endpoint=0x555556421018, a=a@entry=0x0) at /home/jkt/work/prog/qt5/qtdeclarative/src/qml/qml/qqmlnotifier.cpp:73
#62 0x00007ffff095ef44 in QQmlData::signalEmitted (object=0x5555559dd380, index=3, a=0x0) at /home/jkt/work/prog/qt5/qtdeclarative/src/qml/qml/qqmlengine.cpp:714
#63 0x00007ffff60853e9 in QMetaObject::activate (sender=0x5555559dd380, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0)
    at /var/tmp/portage/dev-qt/qtcore-5.5.9999/work/qtcore-5.5.9999/src/corelib/kernel/qobject.cpp:3604
#64 0x00007ffff6086315 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7ffff7826a80 <KWin::TabBox::SwitcherItem::staticMetaObject>, local_signal_index=local_signal_index@entr
y=0,
    argv=argv@entry=0x0) at /var/tmp/portage/dev-qt/qtcore-5.5.9999/work/qtcore-5.5.9999/src/corelib/kernel/qobject.cpp:3583
#65 0x00007ffff759f2b6 in KWin::TabBox::SwitcherItem::visibleChanged (this=<optimized out>) at /var/tmp/portage/kde-plasma/kwin-9999/work/kwin-9999_build/moc_switcheritem.cpp:247
#66 0x00007ffff7582085 in KWin::TabBox::SwitcherItem::setVisible (this=<optimized out>, visible=visible@entry=true) at /var/tmp/portage/kde-plasma/kwin-9999/work/kwin-9999/tabbox/switcheri
tem.cpp:75
#67 0x00007ffff7586896 in KWin::TabBox::TabBoxHandlerPrivate::show (this=<optimized out>) at /var/tmp/portage/kde-plasma/kwin-9999/work/kwin-9999/tabbox/tabboxhandler.cpp:341
#68 0x00007ffff7586a91 in KWin::TabBox::TabBoxHandler::show (this=0x5555557c8630) at /var/tmp/portage/kde-plasma/kwin-9999/work/kwin-9999/tabbox/tabboxhandler.cpp:379
#69 0x00007ffff757540b in KWin::TabBox::TabBox::show (this=<optimized out>) at /var/tmp/portage/kde-plasma/kwin-9999/work/kwin-9999/tabbox/tabbox.cpp:735
#70 0x00007ffff75a1b7d in KWin::TabBox::TabBox::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>)
    at /var/tmp/portage/kde-plasma/kwin-9999/work/kwin-9999_build/moc_tabbox.cpp:175
#71 0x00007ffff6085bf8 in QMetaObject::activate (sender=sender@entry=0x5555557ba038, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0)
    at /var/tmp/portage/dev-qt/qtcore-5.5.9999/work/qtcore-5.5.9999/src/corelib/kernel/qobject.cpp:3718
#72 0x00007ffff6086315 in QMetaObject::activate (sender=sender@entry=0x5555557ba038, m=m@entry=0x7ffff62a64a0 <QTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0,
    argv=argv@entry=0x0) at /var/tmp/portage/dev-qt/qtcore-5.5.9999/work/qtcore-5.5.9999/src/corelib/kernel/qobject.cpp:3583
#73 0x00007ffff611ee56 in QTimer::timeout (this=this@entry=0x5555557ba038) at .moc/moc_qtimer.cpp:195
---Type <return> to continue, or q <return> to quit---
#74 0x00007ffff6095502 in QTimer::timerEvent (this=0x5555557ba038, e=<optimized out>) at /var/tmp/portage/dev-qt/qtcore-5.5.9999/work/qtcore-5.5.9999/src/corelib/kernel/qtimer.cpp:247
#75 0x00007ffff6086a7c in QObject::event (this=0x5555557ba038, e=<optimized out>) at /var/tmp/portage/dev-qt/qtcore-5.5.9999/work/qtcore-5.5.9999/src/corelib/kernel/qobject.cpp:1227
#76 0x00007ffff69a14dc in QApplicationPrivate::notify_helper (this=this@entry=0x555555766000, receiver=receiver@entry=0x5555557ba038, e=e@entry=0x7fffffffd620)
    at /var/tmp/portage/dev-qt/qtwidgets-5.5.9999/work/qtwidgets-5.5.9999/src/widgets/kernel/qapplication.cpp:3716
#77 0x00007ffff69a6eba in QApplication::notify (this=0x7fffffffd900, receiver=0x5555557ba038, e=0x7fffffffd620)
    at /var/tmp/portage/dev-qt/qtwidgets-5.5.9999/work/qtwidgets-5.5.9999/src/widgets/kernel/qapplication.cpp:3499
#78 0x00007ffff604d9cd in QCoreApplication::notifyInternal (this=0x7fffffffd900, receiver=0x5555557ba038, event=event@entry=0x7fffffffd620)
    at /var/tmp/portage/dev-qt/qtcore-5.5.9999/work/qtcore-5.5.9999/src/corelib/kernel/qcoreapplication.cpp:963
#79 0x00007ffff60b41ad in sendEvent (event=0x7fffffffd620, receiver=<optimized out>) at ../../include/QtCore/../../../qtcore-5.5.9999/src/corelib/kernel/qcoreapplication.h:228
#80 QTimerInfoList::activateTimers (this=0x555555795178) at /var/tmp/portage/dev-qt/qtcore-5.5.9999/work/qtcore-5.5.9999/src/corelib/kernel/qtimerinfo_unix.cpp:637
#81 0x00007ffff60b1706 in QEventDispatcherUNIX::activateTimers (this=this@entry=0x55555578fa70)
    at /var/tmp/portage/dev-qt/qtcore-5.5.9999/work/qtcore-5.5.9999/src/corelib/kernel/qeventdispatcher_unix.cpp:549
#82 0x00007ffff60b2580 in QEventDispatcherUNIX::processEvents (this=0x55555578fa70, flags=flags@entry=...)
    at /var/tmp/portage/dev-qt/qtcore-5.5.9999/work/qtcore-5.5.9999/src/corelib/kernel/qeventdispatcher_unix.cpp:611
#83 0x00007fffe54d2180 in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...)
    at /var/tmp/portage/dev-qt/qtgui-5.5.9999/work/qtgui-5.5.9999/src/platformsupport/eventdispatchers/qunixeventdispatcher.cpp:62
#84 0x00007ffff604ae4b in QEventLoop::exec (this=this@entry=0x7fffffffd800, flags=..., flags@entry=...)
    at /var/tmp/portage/dev-qt/qtcore-5.5.9999/work/qtcore-5.5.9999/src/corelib/kernel/qeventloop.cpp:204
#85 0x00007ffff605421e in QCoreApplication::exec () at /var/tmp/portage/dev-qt/qtcore-5.5.9999/work/qtcore-5.5.9999/src/corelib/kernel/qcoreapplication.cpp:1216
#86 0x00007ffff63a006a in QGuiApplication::exec () at /var/tmp/portage/dev-qt/qtgui-5.5.9999/work/qtgui-5.5.9999/src/gui/kernel/qguiapplication.cpp:1522
#87 0x00007ffff699d28b in QApplication::exec () at /var/tmp/portage/dev-qt/qtwidgets-5.5.9999/work/qtwidgets-5.5.9999/src/widgets/kernel/qapplication.cpp:2976
#88 0x00007ffff7bd8f5b in kdemain (argc=2, argv=0x7fffffffda58) at /var/tmp/portage/kde-plasma/kwin-9999/work/kwin-9999/main_x11.cpp:297
#89 0x00007ffff78539f5 in __libc_start_main (main=0x555555554990 <main(int, char**)>, argc=2, argv=0x7fffffffda58, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>,
    stack_end=0x7fffffffda48) at libc-start.c:292
#90 0x00005555555549f9 in _start ()
Comment 1 Marco Martin 2015-03-20 10:12:15 UTC
I consider this behavior change in Qt quite unacceptable..
anyways, screens should be checked for null everywhere now I guess..
Comment 2 Jan Kundrát 2015-03-20 12:32:59 UTC
Well, Qt >= 5.0 && Qt < 5.5 would just crash a long time before an application got an opportunity to do so, so it's certainly a progress :). The upstream's rationale for returning null QScreens is at http://lists.qt-project.org/pipermail/development/2015-March/020614.html ; you should probably talk to them now if they screwed up. I have no idea what's a correct thing and what ain't.

Feel free to Cc me on patches which look like they could fix these problems (or anything 5.5-related). I run Qt from 5.5 git now, so I'll be happy to report what is broken and what got fixed.
Comment 3 Marco Martin 2015-04-02 11:55:15 UTC
*** Bug 345772 has been marked as a duplicate of this bug. ***
Comment 4 Christoph Cullmann 2015-10-05 15:00:26 UTC
Git commit 3f9109a2657a132879f29cc56471598a5f519b94 by Christoph Cullmann.
Committed on 05/10/2015 at 14:59.
Pushed by cullmann into branch 'master'.

Check for nullptr screen to avoid crash
REVIEW: 125528

M  +4    -2    src/plasmaquick/dialog.cpp

http://commits.kde.org/plasma-framework/3f9109a2657a132879f29cc56471598a5f519b94
Comment 5 David Edmundson 2015-10-24 14:34:46 UTC
*** Bug 354303 has been marked as a duplicate of this bug. ***