Bug 334505 - Kscreen KCM crashes when there is only a display connected thru HDMI
Summary: Kscreen KCM crashes when there is only a display connected thru HDMI
Status: RESOLVED FIXED
Alias: None
Product: KScreen
Classification: Plasma
Component: kcm (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Daniel Vrátil
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2014-05-08 09:52 UTC by Raymond Wooninck
Modified: 2014-05-08 11:08 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Raymond Wooninck 2014-05-08 09:52:57 UTC
Application: systemsettings (4.11.9)
KDE Platform Version: 4.13.60
Qt Version: 4.8.5
Operating System: Linux 3.15.0-rc3-2.g403ada2-desktop x86_64
Distribution: "openSUSE 13.2 Milestone 0 (Harlequin) (x86_64)"

-- Information about the crash:
- What I was doing when the application crashed:
The laptop is started with the lid closed and only a HDMI monitor is connected. When trying to go to the kscreen KCM settings, the KCM crashes with the attached backtrace. 

Before Alex Pol fixed libkscreen, I also had libkscreen crashing during startup. After the commit about not querying a non-existing primary display, the crash of libkscreen disappeared. My feeling is that the kscreen KCM might do something similar.  I know that the KCM is working when I am only working with the LID.

The crash can be reproduced every time.

-- Backtrace:
Application: System Settings (systemsettings), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
To enable execution of this file add
	add-auto-load-safe-path /usr/lib64/libstdc++.so.6.0.19-gdb.py
line to your configuration file "/home/hq000006/.gdbinit".
To completely disable this security protection add
	set auto-load safe-path /
line to your configuration file "/home/hq000006/.gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual.  E.g., run from the shell:
	info "(gdb)Auto-loading safe path"
[Current thread is 1 (Thread 0x7f0aa9ad0800 (LWP 15454))]

Thread 2 (Thread 0x7f0a8c7c4700 (LWP 15455)):
#0  0x00007f0a9fd6f04f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f0aa4391a2b in ?? () from /usr/lib64/libQtScript.so.4
#2  0x00007f0aa4391a69 in ?? () from /usr/lib64/libQtScript.so.4
#3  0x00007f0a9fd6b0a2 in start_thread () from /lib64/libpthread.so.0
#4  0x00007f0aa6aefb5d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f0aa9ad0800 (LWP 15454)):
[KCrash Handler]
#5  KScreen::Mode::size (this=0x0) at /usr/src/debug/libkscreen-1.0.60/src/mode.cpp:102
#6  0x00007f0a8c9f9800 in ResolutionSlider::ResolutionSlider (this=0x1084700, output=<optimized out>, parent=<optimized out>) at /usr/src/debug/kscreen-1.0.60/kcm/src/resolutionslider.cpp:95
#7  0x00007f0a8c9f641c in OutputConfig::initUi (this=0x1082fc0) at /usr/src/debug/kscreen-1.0.60/kcm/src/outputconfig.cpp:79
#8  0x00007f0a8c9f5408 in ControlPanel::setConfig (this=0xfb47c0, config=<optimized out>) at /usr/src/debug/kscreen-1.0.60/kcm/src/controlpanel.cpp:61
#9  0x00007f0a8c9fad0d in Widget::setConfig (this=this@entry=0xf421a0, config=0xc20290) at /usr/src/debug/kscreen-1.0.60/kcm/src/widget.cpp:130
#10 0x00007f0a8c9fb18f in Widget::loadQml (this=this@entry=0xf421a0) at /usr/src/debug/kscreen-1.0.60/kcm/src/widget.cpp:175
#11 0x00007f0a8c9fb5a4 in Widget::Widget (this=0xf421a0, parent=<optimized out>) at /usr/src/debug/kscreen-1.0.60/kcm/src/widget.cpp:109
#12 0x00007f0a8c9eea46 in KCMKScreen::KCMKScreen (this=0xf65a00, parent=<optimized out>, args=...) at /usr/src/debug/kscreen-1.0.60/kcm/src/kcm_kscreen.cpp:67
#13 0x00007f0a8c9f076b in KPluginFactory::createInstance<KCMKScreen, QWidget> (parentWidget=<optimized out>, parent=<optimized out>, args=...) at /usr/include/kpluginfactory.h:477
#14 0x00007f0aa7a25f93 in KPluginFactory::create(char const*, QWidget*, QObject*, QList<QVariant> const&, QString const&) () from /usr/lib64/libkdecore.so.5
#15 0x00007f0aa9236f2e in KCModuleLoader::loadModule(KCModuleInfo const&, KCModuleLoader::ErrorReporting, QWidget*, QStringList const&) () from /usr/lib64/libkcmutils.so.4
#16 0x00007f0aa923c17b in ?? () from /usr/lib64/libkcmutils.so.4
#17 0x00007f0aa923c895 in KCModuleProxy::realModule() const () from /usr/lib64/libkcmutils.so.4
#18 0x00007f0aa923cc93 in KCModuleProxy::showEvent(QShowEvent*) () from /usr/lib64/libkcmutils.so.4
#19 0x00007f0aa7f14a05 in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#20 0x00007f0aa7ec577c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#21 0x00007f0aa7ecbd40 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#22 0x00007f0aa8bde15a in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#23 0x00007f0aa723ac4d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#24 0x00007f0aa7f1216f in QWidgetPrivate::show_helper() () from /usr/lib64/libQtGui.so.4
#25 0x00007f0aa7f11fda in QWidgetPrivate::showChildren(bool) () from /usr/lib64/libQtGui.so.4
#26 0x00007f0aa7f1206f in QWidgetPrivate::show_helper() () from /usr/lib64/libQtGui.so.4
#27 0x00007f0aa7f13e14 in QWidget::setVisible(bool) () from /usr/lib64/libQtGui.so.4
#28 0x00007f0aa7f11fee in QWidgetPrivate::showChildren(bool) () from /usr/lib64/libQtGui.so.4
#29 0x00007f0aa7f1206f in QWidgetPrivate::show_helper() () from /usr/lib64/libQtGui.so.4
#30 0x00007f0aa7f13e14 in QWidget::setVisible(bool) () from /usr/lib64/libQtGui.so.4
#31 0x00007f0aa7ef7bd2 in QStackedLayout::setCurrentIndex(int) () from /usr/lib64/libQtGui.so.4
#32 0x00007f0aa8c0a2ce in ?? () from /usr/lib64/libkdeui.so.5
#33 0x00007f0aa724e8fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4
#34 0x00007f0aa8408a07 in QItemSelectionModel::selectionChanged(QItemSelection const&, QItemSelection const&) () from /usr/lib64/libQtGui.so.4
#35 0x00007f0aa840e061 in QItemSelectionModel::emitSelectionChanged(QItemSelection const&, QItemSelection const&) () from /usr/lib64/libQtGui.so.4
#36 0x00007f0aa840e833 in QItemSelectionModel::select(QItemSelection const&, QFlags<QItemSelectionModel::SelectionFlag>) () from /usr/lib64/libQtGui.so.4
#37 0x00007f0aa8409878 in QItemSelectionModel::select(QModelIndex const&, QFlags<QItemSelectionModel::SelectionFlag>) () from /usr/lib64/libQtGui.so.4
#38 0x00007f0aa8408c37 in QItemSelectionModel::setCurrentIndex(QModelIndex const&, QFlags<QItemSelectionModel::SelectionFlag>) () from /usr/lib64/libQtGui.so.4
#39 0x00007f0aa8c0946e in ?? () from /usr/lib64/libkdeui.so.5
#40 0x00007f0aa8c09f25 in ?? () from /usr/lib64/libkdeui.so.5
#41 0x00007f0aa724e8fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4
#42 0x00007f0aa8c0ebf9 in KPageWidgetModel::addPage(KPageWidgetItem*) () from /usr/lib64/libkdeui.so.5
#43 0x00007f0aa90144b5 in ModuleView::addModule(KCModuleInfo*) () from /usr/lib64/libsystemsettingsview.so.2
#44 0x00007f0aa9014765 in ModuleView::loadModule(QModelIndex) () from /usr/lib64/libsystemsettingsview.so.2
#45 0x00007f0a8cfe0f88 in ?? () from /usr/lib64/kde4/icon_mode.so
#46 0x00007f0aa724e8fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4
#47 0x00007f0aa83b7205 in QAbstractItemView::activated(QModelIndex const&) () from /usr/lib64/libQtGui.so.4
#48 0x00007f0aa83b7480 in QAbstractItemView::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libQtGui.so.4
#49 0x00007f0aa83e0b0e in QListView::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libQtGui.so.4
#50 0x00007f0aa8bb7c31 in KCategorizedView::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libkdeui.so.5
#51 0x00007f0aa7f14c6a in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#52 0x00007f0aa82b147e in QFrame::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#53 0x00007f0aa83c0543 in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib64/libQtGui.so.4
#54 0x00007f0aa723adb6 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#55 0x00007f0aa7ec575c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#56 0x00007f0aa7ecbe7d in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#57 0x00007f0aa8bde15a in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#58 0x00007f0aa723ac4d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#59 0x00007f0aa7ecb633 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/libQtGui.so.4
#60 0x00007f0aa7f3cddb in ?? () from /usr/lib64/libQtGui.so.4
#61 0x00007f0aa7f3b84c in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/libQtGui.so.4
#62 0x00007f0aa7f626f2 in ?? () from /usr/lib64/libQtGui.so.4
#63 0x00007f0a9faa3c64 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#64 0x00007f0a9faa3ea8 in ?? () from /usr/lib64/libglib-2.0.so.0
#65 0x00007f0a9faa3f4c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#66 0x00007f0aa72678a5 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#67 0x00007f0aa7f627a6 in ?? () from /usr/lib64/libQtGui.so.4
#68 0x00007f0aa72398af in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#69 0x00007f0aa7239ba5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#70 0x00007f0aa723ecc9 in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#71 0x000000000040b54b in ?? ()
#72 0x00007f0aa6a2bb05 in __libc_start_main () from /lib64/libc.so.6
#73 0x000000000040b5a1 in _start ()

Reported using DrKonqi
Comment 1 Raymond Wooninck 2014-05-08 11:08:45 UTC
Was resolved with the latest commit in kscreen by dvratil 

http://commits.kde.org/kscreen/beae3a94fb93b0c424394f499b2cd5564f219f51