https://bugs.kde.org/show_bug.cgi?id=523771
Bug ID: 523771
Summary: kwin_wayland SIGSEGV in EglContext::currentFramebuffer
via ScreenCastStream::record after NVKMS GEM
allocation failures (NVIDIA open module)
Classification: Plasma
Product: kwin
Version First 6.7.3
Reported In:
Platform: CachyOS
OS: Linux
Status: REPORTED
Severity: crash
Priority: NOR
Component: screencasting
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
SUMMARY
With an active screencast (Discord screenshare via xdg-desktop-portal-kde) and
a game loading the GPU, opening Overview sometimes segfaults kwin_wayland.
nvidia_drm starts failing GEM allocations, OffscreenQuickView swapchain
creation fails repeatedly, and the next ScreenCastStream::record pass crashes
in EglContext::currentFramebuffer (SEGV_MAPERR at 0x100).
VRAM was not exhausted: ~12-13 GB used of 16 GB. The allocation failures match
existing reports against the open kernel module:
https://forums.developer.nvidia.com/t/nvidia-open-dkms-wayland-xwayland-failed-to-allocate-nvkms-memory-for-gem-object/371922.
The driver side is NVIDIA's problem; this report is about the missing failure
handling that turns it into a compositor crash.
STEPS TO REPRODUCE
1. GPU-heavy game running (Palworld, hosting a co-op session), plus Chromium,
Spotify, and a Discord call
2. Screenshare the game via Discord
3. Open Overview
OBSERVED RESULT
Intermittent kwin_wayland SIGSEGV.
EXPECTED RESULT
Failed allocations degrade the screencast/Overview, not the compositor.
SOFTWARE/OS VERSIONS
Linux distribution: CachyOS, kernel 7.1.5-1-cachyos
KDE Plasma Version: 6.7.3
KWin Version: 6.7.3
Qt Version: 6.11.1
Graphics: NVIDIA GeForce RTX 5070 Ti (GB203), driver 610.43.03 (open kernel
module)
Session: Wayland
ADDITIONAL INFORMATION
Journal immediately before the crash, both lines repeating dozens of times,
with Overview's Main.qml warnings seconds earlier:
kernel: [drm:nv_drm_gem_alloc_nvkms_memory_ioctl [nvidia_drm]] *ERROR*
[nvidia-drm] [GPU ID 0x00000a00] Failed to allocate NVKMS memory for GEM object
kwin_wayland[1551]: Creating a swapchain for OffscreenQuickView failed!
kernel: kwin_wayland[1551]: segfault at 100 ip 00007fab8654b804 sp
00007ffd8dcb43a8 error 4 in libkwin.so.6.7.3[34b804,7fab86369000+6c1000]
Backtrace of the crashing thread (systemd-coredump):
#0 0x00007fab8654b804 KWin::EglContext::currentFramebuffer() (libkwin.so.6
+ 0x34b804)
#1 0x00007fab8654b88c
KWin::EglContext::pushFramebuffer(KWin::GLFramebuffer*) (libkwin.so.6 +
0x34b88c)
#2 0x00007fab866116c2 KWin::WorkspaceScene::paint(KWin::RenderTarget
const&, QPoint const&, KWin::Region const&) (libkwin.so.6 + 0x4116c2)
#3 0x00007fab42887fd9 n/a (screencast.so + 0x14fd9)
#4 0x00007fab42894ebe
KWin::ScreenCastStream::record(QFlags<KWin::ScreenCastStream::Content>)
(screencast.so + 0x21ebe)
#5 0x00007fab428954e1 n/a (screencast.so + 0x224e1)
#6 0x00007fab8380fffb n/a (libQt6Core.so.6 + 0x20fffb)
#7 0x00007fab838260d4 QTimer::timerEvent(QTimerEvent*) (libQt6Core.so.6 +
0x2260d4)
#8 0x00007fab83805ba9 QObject::event(QEvent*) (libQt6Core.so.6 + 0x205ba9)
#9 0x00007fab84b04c1b QApplicationPrivate::notify_helper(QObject*,
QEvent*) (libQt6Widgets.so.6 + 0x104c1b)
#10 0x00007fab83798a48 QCoreApplication::notifyInternal2(QObject*, QEvent*)
(libQt6Core.so.6 + 0x198a48)
#11 0x00007fab839a8f6a QTimerInfoList::activateTimers() (libQt6Core.so.6 +
0x3a8f6a)
#12 0x00007fab839b56a5
QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(libQt6Core.so.6 + 0x3b56a5)
#13 0x00007fab84800672
QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(libQt6Gui.so.6 + 0x800672)
#14 0x00007fab837a78b4
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (libQt6Core.so.6 +
0x1a78b4)
#15 0x00007fab8379c8f4 QCoreApplication::exec() (libQt6Core.so.6 +
0x19c8f4)
#16 0x000056199f51afd7 n/a (kwin_wayland + 0x3efd7)
#17 0x00007fab82e27d0e n/a (libc.so.6 + 0x27d0e)
#18 0x00007fab82e27e4b __libc_start_main (libc.so.6 + 0x27e4b)
#19 0x000056199f520e65 n/a (kwin_wayland + 0x44e65)
Related: bug 471809 covers the driver-side NVKMS allocation failure (RESOLVED
UPSTREAM); this report is specifically about kwin_wayland crashing in the
screencast paint path instead of handling that failure. Bug 484215
(ScreenCastStream::recordFrame, WORKSFORME) and bug 521970
(Item::sortedChildItems via ScreenCastStream::record, FIXED) are earlier
crashes in the same path with different frames.
--
You are receiving this mail because:
You are watching all bug changes.