Description of problem: This replaces https://bugzilla.redhat.com/show_bug.cgi?id=2385942#c13:~:text=https://bugs.kde.org/show_bug.cgi?id=507744%23c0:~:text=As%2520https://bugzilla.redhat.com/show_bug.cgi?id=2385954%2523c0%2520explains%252C%2520I%2520extended%2Calso%2520crashed%2520the%2520XWayland%2520compositor%20is%20the%20meta%20issue%20for%20this%20upstream.%20This%20issue%20shall%20be%20the%20downstream%20meta%20issue. To rephrase it with what is now known: Extending all but a libadwaita window, horizontally or vertically, past the boundaries of the display, causes it to SIGSEGV. Initially, the content becomes stretched and corrupted. Then, it becomes black. Then, the window decorations become black (and squared), with solely the shadow remaining as it should. Then, it crashes. Alongside it, some attempts have also crashed the Wayland and XWayland compositors, albeit inconsistently. Version-Release number of selected component: kwin-6.4.3-1.fc42 Additional info: reporter: libreport-2.17.15 type: CCpp reason: kwin_wayland killed by SIGSEGV journald_cursor: s=a2d6d580caa24cf3a9483be7f85033e4;i=1c870c;b=5f07eb01675f4c0ebd0e6f0a0cf4b60c;m=2529306c3;t=63b4f0fe36273;x=69b4c40e31e5b6f1 executable: /usr/bin/kwin_wayland cmdline: /usr/bin/kwin_wayland --wayland-fd 7 --socket wayland-0 --xwayland-fd 8 --xwayland-fd 9 --xwayland-display :0 --xwayland-xauthority /run/user/1000/xauth_olXIwA --xwayland cgroup: 0::/user.slice/user-1000.slice/user/session.slice/plasma-kwin_wayland.service rootdir: / uid: 1000 kernel: 6.15.8-200.fc42.x86_64 package: kwin-6.4.3-1.fc42 runlevel: N 5 dso_list: /usr/bin/kwin_wayland kwin-6.4.3-1.fc42.x86_64 (Fedora Project) 1752933772 backtrace_rating: 4 crash_function: KCrash::defaultCrashHandler Truncated backtrace: Thread no. 1 (70 frames) #3 KCrash::defaultCrashHandler at /usr/src/debug/kf6-kcrash-6.16.0-1.fc42.x86_64/src/kcrash.cpp:605 #5 si_log_cs at ../src/gallium/drivers/radeonsi/si_debug.c:463 #6 u_log_flush at ../src/gallium/auxiliary/util/u_log.c:109 #7 u_log_chunk at ../src/gallium/auxiliary/util/u_log.c:154 #8 u_log_printf at ../src/gallium/auxiliary/util/u_log.c:137 #9 si_blit_decompress_color at ../src/gallium/drivers/radeonsi/si_blit.c:460 #10 si_decompress_dcc at ../src/gallium/drivers/radeonsi/si_blit.c:1447 #11 si_texture_disable_dcc at ../src/gallium/drivers/radeonsi/si_texture.c:498 #12 si_texture_get_handle at ../src/gallium/drivers/radeonsi/si_texture.c:832 #13 si_resource_get_param at ../src/gallium/drivers/radeonsi/si_texture.c:716 #14 dri2_resource_get_param at ../src/gallium/frontends/dri/dri2.c:1288 #15 dri2_query_image_by_resource_param at ../src/gallium/frontends/dri/dri2.c:1332 #16 dri2_query_image at ../src/gallium/frontends/dri/dri2.c:1370 #17 gbm_dri_bo_create at ../src/gbm/backends/dri/gbm_dri.c:1003 #18 gbm_bo_create at ../src/gbm/main/gbm.c:498 #19 KWin::allocateDmaBuf at /usr/include/qt6/QtCore/qsize.h:131 #20 KWin::QPA::Window::swapchain at /usr/src/debug/kwin-6.4.3-1.fc42.x86_64/src/plugins/qpa/window.cpp:71 #21 KWin::QPA::EGLPlatformContext::makeCurrent at /usr/src/debug/kwin-6.4.3-1.fc42.x86_64/src/plugins/qpa/eglplatformcontext.cpp:82 #22 QOpenGLContext::makeCurrent at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/gui/kernel/qopenglcontext.cpp:680 #23 QRhiGles2::ensureContext at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/gui/rhi/qrhigles2.cpp:670 #24 QRhiGles2::beginFrame at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/gui/rhi/qrhigles2.cpp:2243 #25 QRhi::beginFrame at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/gui/rhi/qrhi.cpp:11191 #26 QSGGuiThreadRenderLoop::renderWindow at /usr/src/debug/qt6-qtdeclarative-6.9.1-3.fc42.x86_64/src/quick/scenegraph/qsgrenderloop.cpp:673 #27 QWindow::event at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/gui/kernel/qwindow.cpp:2742 #28 QApplicationPrivate::notify_helper at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/widgets/kernel/qapplication.cpp:3303 #29 QCoreApplication::notifyInternal2 at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1106 #30 QCoreApplication::sendSpontaneousEvent at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1560 #31 QGuiApplicationPrivate::processExposeEvent at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/gui/kernel/qguiapplication.cpp:3480 #32 QWindowSystemEventHandler::sendEvent at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/gui/kernel/qwindowsysteminterface.cpp:190 #33 QWindowSystemHelper<QWindowSystemInterface::SynchronousDelivery>::handleEvent<QWindowSystemInterfacePrivate::ExposeEvent, QWindow*, QRegion> at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/gui/kernel/qwindowsysteminterface.cpp:102 #35 QWindowSystemHelper<QWindowSystemInterface::DefaultDelivery>::handleEvent<QWindowSystemInterfacePrivate::ExposeEvent, QWindow*, QRegion> at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/gui/kernel/qwindowsysteminterface.cpp:80 #36 handleWindowSystemEvent<QWindowSystemInterfacePrivate::ExposeEvent, QWindowSystemInterface::DefaultDelivery, QWindow*, QRegion> at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/gui/kernel/qwindowsysteminterface.cpp:138 #37 QWindowSystemInterface::handleExposeEvent<QWindowSystemInterface::DefaultDelivery> at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/gui/kernel/qwindowsysteminterface.cpp:337 #38 KWin::QPA::Window::map at /usr/src/debug/kwin-6.4.3-1.fc42.x86_64/src/plugins/qpa/window.cpp:157 #39 KWin::QPA::Window::setVisible at /usr/src/debug/kwin-6.4.3-1.fc42.x86_64/src/plugins/qpa/window.cpp:92 #40 QQmlPropertyData::writeProperty at /usr/src/debug/qt6-qtdeclarative-6.9.1-3.fc42.x86_64/src/qml/qml/qqmlpropertydata_p.h:344 #41 GenericBinding<1>::doStore<bool> at /usr/src/debug/qt6-qtdeclarative-6.9.1-3.fc42.x86_64/src/qml/qml/qqmlbinding.cpp:284 #42 GenericBinding<1>::write at /usr/src/debug/qt6-qtdeclarative-6.9.1-3.fc42.x86_64/src/qml/qml/qqmlbinding.cpp:247 #43 QQmlBinding::doUpdate at /usr/src/debug/qt6-qtdeclarative-6.9.1-3.fc42.x86_64/src/qml/qml/qqmlbinding.cpp:715 #44 QQmlBinding::update at /usr/src/debug/qt6-qtdeclarative-6.9.1-3.fc42.x86_64/src/qml/qml/qqmlbinding.cpp:165 #45 QQmlNotifier::emitNotify at /usr/src/debug/qt6-qtdeclarative-6.9.1-3.fc42.x86_64/src/qml/qml/qqmlnotifier.cpp:70 #46 doActivate<false> at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4036 #47 KWin::Window::setElectricBorderMaximizing at /usr/src/debug/kwin-6.4.3-1.fc42.x86_64/src/window.cpp:3597 #49 KWin::Window::checkQuickTilingMaximizationZones at /usr/src/debug/kwin-6.4.3-1.fc42.x86_64/src/window.cpp:2616 #50 KWin::Window::updateInteractiveMoveResize at /usr/src/debug/kwin-6.4.3-1.fc42.x86_64/src/window.cpp:1405 #51 KWin::MoveResizeFilter::pointerMotion at /usr/src/debug/kwin-6.4.3-1.fc42.x86_64/src/input.cpp:698 #52 std::__invoke_impl<bool, bool (KWin::InputEventFilter::*&)(KWin::PointerMotionEvent*), KWin::InputEventFilter* const&, KWin::PointerMotionEvent*&> at /usr/include/c++/15/bits/invoke.h:73 #53 std::__invoke<bool (KWin::InputEventFilter::*&)(KWin::PointerMotionEvent*), KWin::InputEventFilter* const&, KWin::PointerMotionEvent*&> at /usr/include/c++/15/bits/invoke.h:98 #54 std::_Bind<bool (KWin::InputEventFilter::*(std::_Placeholder<1>, KWin::PointerMotionEvent*))(KWin::PointerMotionEvent*)>::__call<bool, KWin::InputEventFilter* const&, 0ul, 1ul>(std::tuple<KWin::InputEventFilter* const&>&&, std::_Index_tuple<0ul, 1ul>) at /usr/include/c++/15/functional:515 #55 std::_Bind<bool (KWin::InputEventFilter::*(std::_Placeholder<1>, KWin::PointerMotionEvent*))(KWin::PointerMotionEvent*)>::operator()<KWin::InputEventFilter* const&, bool>(KWin::InputEventFilter* const&) at /usr/include/c++/15/functional:600 #56 KWin::InputRedirection::processFilters<std::_Bind<bool (KWin::InputEventFilter::*(std::_Placeholder<1>, KWin::PointerMotionEvent*))(KWin::PointerMotionEvent*)> >(std::_Bind<bool (KWin::InputEventFilter::*(std::_Placeholder<1>, KWin::PointerMotionEvent*))(KWin::PointerMotionEvent*)>) at /usr/src/debug/kwin-6.4.3-1.fc42.x86_64/src/input.h:149 #57 KWin::PointerInputRedirection::processMotionInternal at /usr/src/debug/kwin-6.4.3-1.fc42.x86_64/src/pointer_input.cpp:268 #58 KWin::PointerInputRedirection::processMotion at /usr/src/debug/kwin-6.4.3-1.fc42.x86_64/src/pointer_input.cpp:237 #59 QtPrivate::QSlotObjectBase::call at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461 #60 doActivate<false> at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4146 #61 QMetaObject::activate at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4206 #62 QMetaObject::activate<void, QPointF, QPointF, std::chrono::duration<long, std::ratio<1l, 1000000l> >, KWin::InputDevice*> at /usr/include/qt6/QtCore/qobjectdefs.h:306 #63 KWin::InputDevice::pointerMotion at /usr/src/debug/kwin-6.4.3-1.fc42.x86_64/redhat-linux-build/src/kwin_autogen/include/moc_inputdevice.cpp:736 #64 KWin::LibInput::Connection::processEvents at /usr/src/debug/kwin-6.4.3-1.fc42.x86_64/src/backends/libinput/connection.cpp:363 #65 QObject::event at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:1431 #66 QApplicationPrivate::notify_helper at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/widgets/kernel/qapplication.cpp:3303 #67 QCoreApplication::notifyInternal2 at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1106 #68 QCoreApplication::sendEvent at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1546 #69 QCoreApplicationPrivate::sendPostedEvents at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1879 #70 QEventDispatcherUNIX::processEvents at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qeventdispatcher_unix.cpp:418 #71 QUnixEventDispatcherQPA::processEvents at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/gui/platform/unix/qunixeventdispatcher.cpp:27 #72 QEventLoop::exec at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/global/qflags.h:77 #73 QCoreApplication::exec at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1449 #74 QGuiApplication::exec at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/gui/kernel/qguiapplication.cpp:1986 #75 QApplication::exec at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/widgets/kernel/qapplication.cpp:2570
Created attachment 2102408 [details] File: proc_pid_status
Created attachment 2102409 [details] File: maps
Created attachment 2102410 [details] File: limits
Created attachment 2102411 [details] File: environ
Created attachment 2102412 [details] File: open_fds
Created attachment 2102413 [details] File: mountinfo
Created attachment 2102414 [details] File: os_info
Created attachment 2102415 [details] File: cpuinfo
Created attachment 2102416 [details] File: core_backtrace
Created attachment 2102417 [details] File: var_log_messages
Created attachment 2102418 [details] File: backtrace
*** Bug 2385942 has been marked as a duplicate of this bug. ***
This has been reported upstream, at .
(In reply to Mr. Beedell, Roke Julian Lockhart (RJLB) from comment #13) > This has been reported upstream, at . ...at https://bugs.kde.org/show_bug.cgi?id=507748#c0:~:text=Information%20about%20the%20crash. Oops.
*** Bug 2385966 has been marked as a duplicate of this bug. ***
*** Bug 2385965 has been marked as a duplicate of this bug. ***
*** Bug 2385967 has been marked as a duplicate of this bug. ***
Added https://bugzilla.redhat.com/show_bug.cgi?id=2368988#c12, although it's a generic crash-on-compositor-death-and-then-reboot report.
*** Bug 2385972 has been marked as a duplicate of this bug. ***
*** Bug 2385973 has been marked as a duplicate of this bug. ***
https://bugzilla.redhat.com/show_bug.cgi?id=2385973#c0 might provide a new trace.
This is not a crash in KWin, it's a crash in mesa. I don't think anyone expects this to work. GPUs have maximum texture sizes and with modern desktops relying on GPU acceleration, you simply cannot have windows wider than 16384 pixels or so. Mesa should have better error handling than just crashing in radeonsi, but there is no good way to handle this. Even if you try to limit window dimensions, just knowing the maximum dimensions that don't hit texture size limits is a heavily situation-specific problem given things like fractional scaling and window borders and other effects. You could have a window that is just 8200 logical pixels in width, then move it to a 2.0x scale monitor, and suddenly you are hitting the texture size limit. Other than fixing the Mesa handling to not segfault, perhaps compositors could at least handle this cleanly by killing the problem client or something, but even that is going to be difficult because by the time the compositor is trying to create a texture that is too large, it might not be evident at that point in the code who the culprit is. Step 1 is to just make Mesa handle this gracefully and fail the relevant operations. Then compositors have to decide how to handle it...
Thanks! I forgot to add that this appears to reproduce something very similar to https://gitlab.freedesktop.org/drm/amd/-/issues/3462, [^1] if the undermentioned [^2] is equivalent: > ~~~ > 16:10:56 kernel: amdgpu 0000:03:00.0: amdgpu: Dumping IP State > 16:10:56 kernel: amdgpu 0000:03:00.0: amdgpu: Dumping IP State Completed > 16:10:56 kernel: amdgpu 0000:03:00.0: amdgpu: [drm] AMDGPU device coredump file has been created > 16:10:56 kernel: amdgpu 0000:03:00.0: amdgpu: [drm] Check your /sys/class/drm/card1/device/devcoredump/data > 16:10:56 kernel: amdgpu 0000:03:00.0: amdgpu: ring gfx_0.0.0 timeout, signaled seq=611809, emitted seq=611811 > 16:10:56 kernel: amdgpu 0000:03:00.0: amdgpu: Process information: process kwin_wayland pid 1895 thread kwin_wayla:cs0 pid 1974 > 16:10:56 kernel: amdgpu 0000:03:00.0: amdgpu: Starting gfx_0.0.0 ring reset > 16:10:56 kernel: amdgpu 0000:03:00.0: amdgpu: Ring gfx_0.0.0 reset failure > 16:10:56 kernel: amdgpu 0000:03:00.0: amdgpu: GPU reset begin! > 16:10:57 kernel: amdgpu 0000:03:00.0: amdgpu: BACO reset > 16:10:58 kernel: amdgpu 0000:59:00.0: [drm] *ERROR* lttpr_caps phy_repeater_cnt is 0x0, forcing it to 0x80. > 16:10:58 kernel: amdgpu 0000:59:00.0: [drm] *ERROR* LTTPR count is nonzero but invalid lane count reported. Assuming no LTTPR present. > 16:10:58 kernel: amdgpu 0000:59:00.0: [drm] Cannot find any crtc or sizes > 16:11:00 kernel: amdgpu 0000:03:00.0: amdgpu: GPU reset succeeded, trying to resume > 16:11:00 kernel: [drm] PCIE GART of 512M enabled (table at 0x00000081FEE00000). > 16:11:00 kernel: [drm] VRAM is lost due to GPU reset! > 16:11:00 kernel: amdgpu 0000:03:00.0: amdgpu: PSP is resuming... > 16:11:00 kernel: amdgpu 0000:03:00.0: amdgpu: reserve 0x900000 from 0x81fd000000 for PSP TMR > 16:11:00 kernel: amdgpu 0000:03:00.0: amdgpu: RAS: optional ras ta ucode is not available > 16:11:00 kernel: amdgpu 0000:03:00.0: amdgpu: RAP: optional rap ta ucode is not available > 16:11:00 kernel: amdgpu 0000:03:00.0: amdgpu: SECUREDISPLAY: securedisplay ta ucode is not available > 16:11:00 kernel: amdgpu 0000:03:00.0: amdgpu: SMU is resuming... > 16:11:00 kernel: amdgpu 0000:03:00.0: amdgpu: use vbios provided pptable > 16:11:00 kernel: amdgpu 0000:03:00.0: amdgpu: smc_dpm_info table revision(format.content): 4.5 > 16:11:00 kernel: amdgpu 0000:03:00.0: amdgpu: SMU is resumed successfully! > 16:11:00 kernel: [drm] kiq ring mec 2 pipe 1 q 0 > 16:11:00 kernel: amdgpu 0000:03:00.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 on hub 0 > 16:11:00 kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 1 on hub 0 > 16:11:00 kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 on hub 0 > 16:11:00 kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 5 on hub 0 > 16:11:00 kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 6 on hub 0 > 16:11:00 kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 7 on hub 0 > 16:11:00 kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 8 on hub 0 > 16:11:00 kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 9 on hub 0 > 16:11:00 kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 10 on hub 0 > 16:11:00 kernel: amdgpu 0000:03:00.0: amdgpu: ring kiq_0.2.1.0 uses VM inv eng 11 on hub 0 > 16:11:00 kernel: amdgpu 0000:03:00.0: amdgpu: ring sdma0 uses VM inv eng 12 on hub 0 > 16:11:00 kernel: amdgpu 0000:03:00.0: amdgpu: ring sdma1 uses VM inv eng 13 on hub 0 > 16:11:00 kernel: amdgpu 0000:03:00.0: amdgpu: ring vcn_dec uses VM inv eng 0 on hub 8 > 16:11:00 kernel: amdgpu 0000:03:00.0: amdgpu: ring vcn_enc0 uses VM inv eng 1 on hub 8 > 16:11:00 kernel: amdgpu 0000:03:00.0: amdgpu: ring vcn_enc1 uses VM inv eng 4 on hub 8 > 16:11:00 kernel: amdgpu 0000:03:00.0: amdgpu: ring jpeg_dec uses VM inv eng 5 on hub 8 > 16:11:00 kernel: amdgpu 0000:03:00.0: amdgpu: GPU reset(9) succeeded! > 16:11:00 kernel: amdgpu 0000:03:00.0: [drm] device wedged, but recovered through reset > ~~~ [^1]: https://bugs.kde.org/show_bug.cgi?id=507748#c3:~:text=Created%20attachment%20183714%20%5Bdetails%5D [^2]: https://discussion.fedoraproject.org/t/dmesg-from-previous-boot/109564/5#:~:text=journalctl%20%2Db%20%2D1%20%2D%2Dsystem
Wrong bug ID. Apologies for the noise.
*** Bug 2385957 has been marked as a duplicate of this bug. ***
*** Bug 2385954 has been marked as a duplicate of this bug. ***
*** Bug 2385953 has been marked as a duplicate of this bug. ***
*** Bug 2385950 has been marked as a duplicate of this bug. ***
*** Bug 2385944 has been marked as a duplicate of this bug. ***
*** Bug 2385943 has been marked as a duplicate of this bug. ***
Apologies again. They were reported before I filed this, whilst I was attempting to ascertain what the cause was. Forgot to deal with them until now.
Reported upstream, at https://gitlab.freedesktop.org/drm/amd/-/issues/4473.