https://bugs.kde.org/show_bug.cgi?id=527984
[email protected] changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dontmailmeschrott+kdebugtra | |[email protected] --- Comment #2 from [email protected] --- not the same user but i have the same problem (plasmalogin crashes on boot if usb-c+displaylink dock is plugged in). stacktrace for me is 24 frames long without debug symbols, 32 with debug symbols: --- #0 __pthread_kill_implementation (no_tid=0, signo=11, threadid=<optimized out>) at ./nptl/pthread_kill.c:44 #1 __pthread_kill_internal (signo=11, threadid=<optimized out>) at ./nptl/pthread_kill.c:78 #2 __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=11) at ./nptl/pthread_kill.c:89 #3 0x00007affa4c4527e in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26 #4 0x00007affa880c926 in KCrash::defaultCrashHandler (sig=11) at /usr/src/kf6-kcrash-6.31.0-0zneon+24.04+noble+release+build43/src/kcrash.cpp:653 #5 <signal handler called> #6 KWin::RenderDevice::deviceId (this=0x0) at /usr/src/kwin-4:6.8.2-0zneon+24.04+noble+release+build115/src/core/renderdevice.cpp:129 #7 0x00007affa801291f in KWin::prepareDirectScanout (view=0x58b67a0985d0, logicalOutput=<optimized out>, backendOutput=<optimized out>, frame=...) at /usr/src/kwin-4:6.8.2-0zneon+24.04+noble+release+build115/src/compositor.cpp:481 #8 KWin::Compositor::setupLayers (this=this@entry=0x58b67932d000, sceneView=sceneView@entry=0x58b679eedb50, logicalOutput=0x58b679d496d0, backendOutput=0x58b67933d5d0, outputLayers=..., assignments=std::unordered_map with 1 element = {...}, frame=std::shared_ptr<KWin::OutputFrame> (use count 1, weak count 0) = {...}, toUpdate=std::unordered_set with 1 element = {...}) at /usr/src/kwin-4:6.8.2-0zneon+24.04+noble+release+build115/src/compositor.cpp:802 #9 0x00007affa801407c in KWin::Compositor::composite (this=<optimized out>, renderLoop=<optimized out>) at /usr/src/kwin-4:6.8.2-0zneon+24.04+noble+release+build115/src/compositor.cpp:940 #10 0x00007affa58b01dd in QtPrivate::QSlotObjectBase::call (a=<optimized out>, r=<optimized out>, this=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/qt6-base-6.11.1-0zneon+24.04+noble+release+build162/src/corelib/kernel/qobjectdefs_impl.h:462 #11 doActivate<false> (sender=0x58b679326b90, signal_index=5, argv=0x7ffd6513a170) at /usr/src/qt6-base-6.11.1-0zneon+24.04+noble+release+build162/src/corelib/kernel/qobject.cpp:4372 #12 0x00007affa806e084 in QMetaObject::activate<void, KWin::RenderLoop*> (sender=<optimized out>, mo=<optimized out>, local_signal_index=2, ret=0x0) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs.h:320 #13 KWin::RenderLoop::frameRequested (this=<optimized out>, _t1=<optimized out>) at /usr/src/kwin-4:6.8.2-0zneon+24.04+noble+release+build115/obj-x86_64-linux-gnu/src/kwin_autogen/include/moc_renderloop.cpp:171 #14 0x00007affa58b01dd in QtPrivate::QSlotObjectBase::call (a=<optimized out>, r=<optimized out>, this=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/qt6-base-6.11.1-0zneon+24.04+noble+release+build162/src/corelib/kernel/qobjectdefs_impl.h:462 #15 doActivate<false> (sender=0x58b6791c9bb8, signal_index=3, argv=0x7ffd6513a210) at /usr/src/qt6-base-6.11.1-0zneon+24.04+noble+release+build162/src/corelib/kernel/qobject.cpp:4372 #16 0x00007affa83ae72f in KWin::PreciseTimer::timeout (this=0x58b6791c9bb8) at /usr/src/kwin-4:6.8.2-0zneon+24.04+noble+release+build115/obj-x86_64-linux-gnu/src/kwin_autogen/include/moc_precisetimer.cpp:116 #17 KWin::PreciseTimer::timerFdReadable (this=0x58b6791c9bb8) at /usr/src/kwin-4:6.8.2-0zneon+24.04+noble+release+build115/src/utils/precisetimer.cpp:35 #18 0x00007affa58b01dd in QtPrivate::QSlotObjectBase::call (a=<optimized out>, r=<optimized out>, this=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/qt6-base-6.11.1-0zneon+24.04+noble+release+build162/src/corelib/kernel/qobjectdefs_impl.h:462 #19 doActivate<false> (sender=0x58b6793104f0, signal_index=3, argv=0x7ffd6513a3a0) at /usr/src/qt6-base-6.11.1-0zneon+24.04+noble+release+build162/src/corelib/kernel/qobject.cpp:4372 #20 0x00007affa595f9e3 in QMetaObject::activate<void, QSocketDescriptor, QSocketNotifier::Type, QSocketNotifier::QPrivateSignal> (ret=0x0, local_signal_index=0, mo=<optimized out>, sender=0x58b6793104f0) at /usr/src/qt6-base-6.11.1-0zneon+24.04+noble+release+build162/src/corelib/kernel/qobjectdefs.h:320 #21 QSocketNotifier::activated (this=this@entry=0x58b6793104f0, _t1=..., _t2=<optimized out>, _t3=...) at /usr/src/qt6-base-6.11.1-0zneon+24.04+noble+release+build162/obj-x86_64-linux-gnu/src/corelib/Core_autogen/include/moc_qsocketnotifier.cpp:161 #22 0x00007affa595fb80 in QSocketNotifier::event (this=0x58b6793104f0, e=<optimized out>) at /usr/src/qt6-base-6.11.1-0zneon+24.04+noble+release+build162/src/corelib/kernel/qsocketnotifier.cpp:325 #23 0x00007affa6c463bd in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x58b6793104f0, e=0x7ffd6513a4f0) at /usr/src/qt6-base-6.11.1-0zneon+24.04+noble+release+build162/src/widgets/kernel/qapplication.cpp:3276 #24 0x00007affa58f2040 in QCoreApplication::notifyInternal2 (receiver=0x58b6793104f0, event=0x7ffd6513a4f0) at /usr/src/qt6-base-6.11.1-0zneon+24.04+noble+release+build162/src/corelib/kernel/qcoreapplication.cpp:1114 #25 0x00007affa5705a9c in QEventDispatcherUNIXPrivate::activateSocketNotifiers (this=this@entry=0x58b6771376e0) at /usr/src/qt6-base-6.11.1-0zneon+24.04+noble+release+build162/src/corelib/kernel/qeventdispatcher_unix.cpp:277 #26 0x00007affa570662e in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=..., flags@entry=...) at /usr/src/qt6-base-6.11.1-0zneon+24.04+noble+release+build162/src/corelib/kernel/qeventdispatcher_unix.cpp:499 #27 0x00007affa637c482 in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at /usr/src/qt6-base-6.11.1-0zneon+24.04+noble+release+build162/src/gui/platform/unix/qunixeventdispatcher.cpp:28 #28 0x00007affa58fd1bb in QEventLoop::exec (this=0x7ffd6513a6c0, flags=...) at /usr/src/qt6-base-6.11.1-0zneon+24.04+noble+release+build162/src/corelib/global/qflags.h:78 #29 0x00007affa58f4dff in QCoreApplication::exec () at /usr/src/qt6-base-6.11.1-0zneon+24.04+noble+release+build162/src/corelib/global/qflags.h:78 #30 0x00007affa5ed109d in QGuiApplication::exec () at /usr/src/qt6-base-6.11.1-0zneon+24.04+noble+release+build162/src/gui/kernel/qguiapplication.cpp:2005 #31 0x00007affa6c43089 in QApplication::exec () at /usr/src/qt6-base-6.11.1-0zneon+24.04+noble+release+build162/src/widgets/kernel/qapplication.cpp:2546 #32 0x000058b651250bfe in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/kwin-4:6.8.2-0zneon+24.04+noble+release+build115/src/main_wayland.cpp:713 --- best guess (not a c++ dev) from the top few lines is that a NULL pointer is being dereferenced in frame 6 (or 5): #6 KWin::RenderDevice::deviceId (this=0x0) The "this=0x0" looks like a NULL pointer. The calling code in frame 6 (/src/compositor.cpp:481) is new in kwin 6.8.2 (https://github.com/KDE/kwin/compare/v6.8.1..v6.8.2#diff-6fc4f46076486fa52b872771c7a0415f88b63d0dfc4892a5e2cf3aff6dc0a328) and adds an early return check that dereferences two separate ->deviceId() So probably either layer->scanoutDevice() returns NULL or GpuManager::self()->compatibleRenderDevice(layer->scanoutDevice()) returns NULL for displaylink screens/devices. The root cause is probably buried somewhere else. I guess the displaylink driver behaves differently from the usual nvidia/amd/intel drivers, or kwin reacts differently to displaylink drivers during setup? Related info: I experienced another displaylink-related bug in kwin 6.7.0: https://bugs.kde.org/show_bug.cgi?id=521668 which was fixed by querying device info i a different way: https://invent.kde.org/plasma/kwin/-/commit/fa14e1d7b4f78a528336db58f76e52f94d62005a All these observations lead me to believe that the displaylink driver is a) an edge case used by few people and b) behaves unexpectedly/differently than most dedicated-GPU drivers. -- You are receiving this mail because: You are watching all bug changes.
