[KScreen] [Bug 442822] intermittent kded5 crash

2021-09-22 Thread Ryan Murray
https://bugs.kde.org/show_bug.cgi?id=442822

--- Comment #1 from Ryan Murray  ---
All three displays that are set as nvidia-auto-select select 3840x2160

-- 
You are receiving this mail because:
You are watching all bug changes.

[KScreen] [Bug 442822] New: intermittent kded5 crash

2021-09-22 Thread Ryan Murray
https://bugs.kde.org/show_bug.cgi?id=442822

Bug ID: 442822
   Summary: intermittent kded5 crash
   Product: KScreen
   Version: 5.22.4
  Platform: Kubuntu Packages
OS: Linux
Status: REPORTED
  Severity: crash
  Priority: NOR
 Component: common
  Assignee: kscreen-bugs-n...@kde.org
  Reporter: rmur...@cyberhqz.com
  Target Milestone: ---

SUMMARY
kded5 

STEPS TO REPRODUCE
1. KSCREEN_BACKEND=qscreen exported via .config/plasma-workspace/env/kscreen.sh
2. NVIDIA driver with 3 displays configured as: Option "metamodes"
"DP-0: nvidia-auto-select +2160+1240, DP-4: nvidia-auto-select +6000+1422
{AllowGSYNCCompatible=On}, DP-2: nvidia-auto-select +0+0 {rotation=left}"  DP-0
is 144hz, the other two are 60hz, one of which is rotated left.
3. have option "nvidiaXineramaInfoOrder" "DFP-1" in the X config

OBSERVED RESULT

I get intermittent groupings of this crash when DFP-1 is listed first in
XineramaInfoOrder.  It goes away if set to DFP-5 (the non-rotated 60hz). 
However, that config causes fullscreen games to want to render at 144hz to the
60hz display.

Application: kded5 (kded5), signal: Segmentation fault
Content of s_kcrashErrorMessage: [Current thread is 1 (LWP 30030)]
[KCrash Handler]
#6  QString::QString(QString const&) (other=Python Exception  Cannot access memory at address 0x10: 
#7  KScreen::Mode::id() const (this=this@entry=0x0) at ./src/mode.cpp:57
#8  0x7f0c542e2597 in Generator::cloneScreens(QMap >&) (this=this@entry=0x55cbc8022410,
connectedOutputs=...) at ./kded/generator.cpp:323
#9  0x7f0c542e3f4e in
Generator::fallbackIfNeeded(QSharedPointer const&)
(this=0x55cbc8022410, config=...) at ./kded/generator.cpp:135
#10 0x7f0c542d7e80 in
Generator::idealConfig(QSharedPointer const&)
(currentConfig=, currentConfig=, this=) at ./kded/generator.cpp:115
#11 KScreenDaemon::applyIdealConfig() (this=) at
./kded/daemon.cpp:297
#12 0x7f0c542dbe77 in KScreenDaemon::applyConfig() (this=)
at ./kded/daemon.cpp:219
#13 0x7f0c542dc160 in operator() (__closure=0x55cbc7bc8bf0) at
./kded/daemon.cpp:125
#14 QtPrivate::FunctorCall, QtPrivate::List<>, void,
KScreenDaemon::init():: >::call (arg=, f=...) at
/usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:146
#15 QtPrivate::Functor,
0>::call, void> (arg=, f=...) at
/usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:256
#16 QtPrivate::QFunctorSlotObject, 0,
QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *,
void **, bool *) (which=, this_=0x55cbc7bc8be0, r=, a=, ret=) at
/usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:443
#17 0x7f0c6398e5c7 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
(a=0x7ffc7ee14b40, r=0x55cbc7ed6e20, this=0x55cbc7bc8be0) at
../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#18 doActivate(QObject*, int, void**) (sender=0x55cbc8022410,
signal_index=3, argv=0x7ffc7ee14b40) at kernel/qobject.cpp:3886
#19 0x7f0c6398e5c7 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
(a=0x7ffc7ee14c20, r=0x55cbc8022410, this=0x55cbc8143170) at
../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#20 doActivate(QObject*, int, void**) (sender=0x55cbc8107cd0,
signal_index=3, argv=0x7ffc7ee14c20, argv@entry=0x0) at kernel/qobject.cpp:3886
#21 0x7f0c63987728 in QMetaObject::activate(QObject*, QMetaObject const*,
int, void**) (sender=sender@entry=0x55cbc8107cd0, m=,
local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at
kernel/qobject.cpp:3946
#22 0x7f0c542e5f91 in Device::ready() (this=0x55cbc8107cd0) at
./obj-x86_64-linux-gnu/kded/kscreen_autogen/EWIEGA46WW/moc_device.cpp:186
#23 Device::setReady() (this=0x55cbc8107cd0) at ./kded/device.cpp:97
#24 Device::isLaptopFetched(QDBusPendingCallWatcher*) (this=0x55cbc8107cd0,
watcher=0x55cbc7f37bd0) at ./kded/device.cpp:139
#25 0x7f0c6398e5c7 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
(a=0x7ffc7ee14e10, r=0x55cbc8107cd0, this=0x55cbc80d2b60) at
../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#26 doActivate(QObject*, int, void**) (sender=0x55cbc7f37bd0,
signal_index=3, argv=argv@entry=0x7ffc7ee14e10) at kernel/qobject.cpp:3886
#27 0x7f0c63987728 in QMetaObject::activate(QObject*, QMetaObject const*,
int, void**) (sender=, m=m@entry=0x7f0c63d2f5e0
,
local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffc7ee14e10)
at kernel/qobject.cpp:3946
#28 0x7f0c63d0ff73 in
QDBusPendingCallWatcher::finished(QDBusPendingCallWatcher*) (this=, _t1=) at .moc/moc_qdbuspendingcall.cpp:158
#29 0x7f0c6398410c in QObject::event(QEvent*) (this=0x55cbc7f37bd0,
e=0x55cbc80d54d0) at kernel/qobject.cpp:1314
#30 0x7f0c64696783 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
(this=, receiver=0x55cbc7f37bd0, e=0x55cbc80d54d0) at
kernel/qapplication.cpp:3632
#31 0x7f0c639567ba in