https://bugs.kde.org/show_bug.cgi?id=452318

            Bug ID: 452318
           Summary: kwin_wayland explodes on screen setup change
           Product: kwin
           Version: git master
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: multi-screen
          Assignee: kwin-bugs-n...@kde.org
          Reporter: sit...@kde.org
  Target Milestone: ---

Created attachment 147994
  --> https://bugs.kde.org/attachment.cgi?id=147994&action=edit
screenshot of display setup

SUMMARY
***
NOTE: If you are reporting a crash, please try to attach a backtrace with debug
symbols.
See
https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***

STEPS TO REPRODUCE
1. have 1 4k screen, 2 that are not
2. move 4k to center
3. rotate either side screen to portrait mode
4. boom

OBSERVED RESULT
Inside KWaylandServer::OutputDeviceV2InterfacePrivate::sendCurrentMode it can't
find the resource.

Curiously this starts working when one first drops the refresh rate to 50hz ->
apply -> rotate -> apply. 

SOFTWARE/OS VERSIONS
Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.24.80
KDE Frameworks Version: 5.93.0
Qt Version: 5.15.3
Kernel Version: 5.11.0-38-generic (64-bit)
Graphics Platform: Wayland
Processors: 12 × AMD Ryzen 5 3600X 6-Core Processor
Memory: 31,3 GiB of RAM
Graphics Processor: AMD Radeon RX 5700 XT

ADDITIONAL INFORMATION

* thread #1, name = 'kwin_wayland', stop reason = signal SIGSEGV: invalid
address (fault address: 0x10)
  * frame #0: 0x00007f0beda51f20
libKWaylandServer.so.5`KWaylandServer::OutputDeviceV2InterfacePrivate::sendCurrentMode(this=0x00005622aab31f60,
outputResource=0x00005622abd2be40, mode=0x00005622aa9aa790) at
outputdevice_v2_interface.cpp:304:22
    frame #1: 0x00007f0beda51869
libKWaylandServer.so.5`KWaylandServer::OutputDeviceV2Interface::setCurrentMode(this=0x00005622aa9aa890,
mode=0x00005622aa9aa790) at outputdevice_v2_interface.cpp:185:27
    frame #2: 0x00007f0beda51a67
libKWaylandServer.so.5`KWaylandServer::OutputDeviceV2Interface::setCurrentMode(this=0x00005622aa9aa890,
size=0x00007fff26527be0, refreshRate=60000) at
outputdevice_v2_interface.cpp:201:19
    frame #3: 0x00007f0beebae5ae
libkwin.so.5`KWin::WaylandOutputDevice::handleCurrentModeChanged(this=0x00005622aad6c7a0)
at waylandoutputdevicev2.cpp:146:37
    frame #4: 0x00007f0bece6adfe libQt5Core.so.5`void
doActivate<false>(QObject*, int, void**) at qobjectdefs_impl.h:398:57
    frame #5: 0x00007f0beea63777
libkwin.so.5`KWin::AbstractWaylandOutput::setTransformInternal(this=0x00005622aad6a6e0,
transform=<unavailable>) at abstract_wayland_output.cpp:246:34
    frame #6: 0x00007f0be5d6925f
KWinWaylandDrmBackend.so`KWin::DrmOutput::applyQueuedChanges(this=0x00005622aad6a6e0,
config=0x00007fff26527e30) at drm_output.cpp:402:25
    frame #7: 0x00007f0be5d525b7
KWinWaylandDrmBackend.so`KWin::DrmBackend::applyOutputChanges(this=0x00005622aa9aafc0,
config=0x00007fff26527e30) at drm_backend.cpp:671:35
    frame #8: 0x00007f0beeb1256b
libkwin.so.5`KWin::Platform::requestOutputsChange(this=0x00005622aa9aafc0,
config=0x00005622abd87b90) at platform.cpp:139:27
    frame #9: 0x00007f0bece6adfe libQt5Core.so.5`void
doActivate<false>(QObject*, int, void**) at qobjectdefs_impl.h:398:57
    frame #10: 0x00007f0beda06040
libKWaylandServer.so.5`KWaylandServer::OutputManagementV2Interface::configurationChangeRequested(this=0x00005622aa9d58b0,
_t1=0x00005622abd87b90) at moc_outputmanagement_v2_interface.cpp:136:26
    frame #11: 0x00007f0beda575d3
libKWaylandServer.so.5`KWaylandServer::OutputConfigurationV2InterfacePrivate::emitConfigurationChangeRequested(this=0x00005622abd8c850)
const at outputconfiguration_v2_interface.cpp:183:58
    frame #12: 0x00007f0beda57172
libKWaylandServer.so.5`KWaylandServer::OutputConfigurationV2InterfacePrivate::kde_output_configuration_v2_apply(this=0x00005622abd8c850,
resource=0x00005622abc86550) at outputconfiguration_v2_interface.cpp:128:37
    frame #13: 0x00007f0bedaecc6e
libKWaylandServer.so.5`QtWaylandServer::kde_output_configuration_v2::handle_apply(client=0x00005622abc902f0,
resource=0x00005622abd65450) at
qwayland-server-kde-output-management-v2.cpp:572:125
    frame #14: 0x00007f0be9e8eff5 libffi.so.7`ffi_call_unix64 at unix64.S:101
    frame #15: 0x00007f0be9e8e40a libffi.so.7`ffi_call_int at ffi64.c:669:3
    frame #16: 0x00007f0beb58e8e8
libwayland-server.so.0`___lldb_unnamed_symbol82$$libwayland-server.so.0 + 360
    frame #17: 0x00007f0beb58ab72
libwayland-server.so.0`___lldb_unnamed_symbol27$$libwayland-server.so.0 + 562
    frame #18: 0x00007f0beb58c8da libwayland-server.so.0`wl_event_loop_dispatch
+ 202
    frame #19: 0x00007f0beda286d8
libKWaylandServer.so.5`KWaylandServer::Display::dispatchEvents(this=0x00005622aa9dae10)
at display.cpp:114:31
    frame #20: 0x00007f0beda2d347
libKWaylandServer.so.5`QtPrivate::FunctorCall<QtPrivate::IndexesList<>,
QtPrivate::List<>, void, void (KWaylandServer::Display::*)()>::call(f=98 86 a2
ed 0b 7f 00 00 00 00 00 00 00 00 00 00, o=0x00005622aa9dae10,
arg=0x00007fff26528810)(), KWaylandServer::Display*, void**) at
qobjectdefs_impl.h:152:20
    frame #21: 0x00007f0beda2d0a7 libKWaylandServer.so.5`void
QtPrivate::FunctionPointer<void
(KWaylandServer::Display::*)()>::call<QtPrivate::List<>, void>(f=98 86 a2 ed 0b
7f 00 00 00 00 00 00 00 00 00 00, o=0x00005622aa9dae10,
arg=0x00007fff26528810)(), KWaylandServer::Display*, void**) at
qobjectdefs_impl.h:185:95
    frame #22: 0x00007f0beda2c3eb
libKWaylandServer.so.5`QtPrivate::QSlotObject<void
(KWaylandServer::Display::*)(), QtPrivate::List<>, void>::impl(which=1,
this_=0x00005622ab0e5430, r=0x00005622aa9dae10, a=0x00007fff26528810,
ret=0x0000000000000000) at qobjectdefs_impl.h:418:49
    frame #23: 0x00007f0bece6adfe libQt5Core.so.5`void
doActivate<false>(QObject*, int, void**) at qobjectdefs_impl.h:398:57
    frame #24: 0x00007f0bece6ee83
libQt5Core.so.5`QSocketNotifier::activated(QSocketDescriptor,
QSocketNotifier::Type, QSocketNotifier::QPrivateSignal) at
moc_qsocketnotifier.cpp:178:26
    frame #25: 0x00007f0bece6f623
libQt5Core.so.5`QSocketNotifier::event(QEvent*) at qsocketnotifier.cpp:302:23
    frame #26: 0x00007f0bec2bcdc3
libQt5Widgets.so.5`QApplicationPrivate::notify_helper(QObject*, QEvent*) at
qapplication.cpp:3637:31
    frame #27: 0x00007f0bec2c5bd8
libQt5Widgets.so.5`QApplication::notify(QObject*, QEvent*) at
qapplication.cpp:3161:39
    frame #28: 0x00007f0bece33d7a
libQt5Core.so.5`QCoreApplication::notifyInternal2(QObject*, QEvent*) at
qcoreapplication.cpp:1064:24
    frame #29: 0x00007f0bece8b86b
libQt5Core.so.5`QEventDispatcherUNIXPrivate::activateSocketNotifiers() at
qeventdispatcher_unix.cpp:304:36
    frame #30: 0x00007f0bece8bccb
libQt5Core.so.5`QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
at qeventdispatcher_unix.cpp:511:50
    frame #31: 0x00005622a9c10041
kwin_wayland`___lldb_unnamed_symbol4145$$kwin_wayland + 17
    frame #32: 0x00007f0bece3287b
libQt5Core.so.5`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) at
qeventloop.cpp:232:22
    frame #33: 0x00007f0bece3aa24 libQt5Core.so.5`QCoreApplication::exec() at
qcoreapplication.cpp:1375:36
    frame #34: 0x00005622a9aecd6d
kwin_wayland`___lldb_unnamed_symbol130$$kwin_wayland + 8301
    frame #35: 0x00007f0bebb6b0b3 libc.so.6`__libc_start_main + 243
    frame #36: 0x00005622a9aee9ee
kwin_wayland`___lldb_unnamed_symbol147$$kwin_wayland + 46

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

Reply via email to