Summary: | Spectacle crashes in NVIDIA driver code on startup after upgrade to plasma 6 | ||
---|---|---|---|
Product: | [Frameworks and Libraries] KPipeWire | Reporter: | Michele Palazzi <sysdadmin> |
Component: | general | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED DOWNSTREAM | ||
Severity: | crash | CC: | a.a.klevtsov, aleixpol, david.lee.ricardo1026, ddrs, duprezjm, dustin, kde, louis, nate, nicolas.fella, rgkumar937, zanderhawk11 |
Priority: | HI | Keywords: | qt6 |
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Michele Palazzi
2024-02-28 23:28:20 UTC
(gdb) run Starting program: /usr/bin/spectacle [Thread debugging using libthread_db enabled] Using host libthread_db library "/usr/lib/libthread_db.so.1". [New Thread 0x7fffde8006c0 (LWP 4412)] [New Thread 0x7fffdde006c0 (LWP 4413)] [New Thread 0x7fffdd4006c0 (LWP 4414)] [New Thread 0x7fffd5a006c0 (LWP 4415)] [New Thread 0x7fffd50006c0 (LWP 4416)] [New Thread 0x7fffbea006c0 (LWP 4417)] [New Thread 0x7fffbe0006c0 (LWP 4418)] [New Thread 0x7fffbd6006c0 (LWP 4419)] [New Thread 0x7fffbcc006c0 (LWP 4420)] [Thread 0x7fffbcc006c0 (LWP 4420) exited] [Thread 0x7fffbd6006c0 (LWP 4419) exited] [Thread 0x7fffbe0006c0 (LWP 4418) exited] [Thread 0x7fffbea006c0 (LWP 4417) exited] Thread 1 "spectacle" received signal SIGSEGV, Segmentation fault. XDisplayString (dpy=0x0) at /usr/src/debug/libx11/libX11-1.8.7/src/Macros.c:119 119 char *XDisplayString(Display *dpy) { return (DisplayString(dpy)); } (In reply to Michele Palazzi from comment #1) > (gdb) run > Starting program: /usr/bin/spectacle > [Thread debugging using libthread_db enabled] > > Using host libthread_db library "/usr/lib/libthread_db.so.1". > [New Thread 0x7fffde8006c0 (LWP 4412)] > > [New Thread 0x7fffdde006c0 (LWP 4413)] > > [New Thread 0x7fffdd4006c0 (LWP 4414)] > [New Thread 0x7fffd5a006c0 (LWP 4415)] > > [New Thread 0x7fffd50006c0 (LWP 4416)] > [New Thread 0x7fffbea006c0 (LWP 4417)] > [New Thread 0x7fffbe0006c0 (LWP 4418)] > [New Thread 0x7fffbd6006c0 (LWP 4419)] > [New Thread 0x7fffbcc006c0 (LWP 4420)] > [Thread 0x7fffbcc006c0 (LWP 4420) exited] > [Thread 0x7fffbd6006c0 (LWP 4419) exited] > [Thread 0x7fffbe0006c0 (LWP 4418) exited] > [Thread 0x7fffbea006c0 (LWP 4417) exited] > > > Thread 1 "spectacle" received signal SIGSEGV, Segmentation fault. > XDisplayString (dpy=0x0) at > /usr/src/debug/libx11/libX11-1.8.7/src/Macros.c:119 > 119 char *XDisplayString(Display *dpy) { return (DisplayString(dpy)); } (gdb) bt #0 XDisplayString (dpy=0x0) at /usr/src/debug/libx11/libX11-1.8.7/src/Macros.c:119 #1 0x000075fdd7ff7a1d in __vaDriverInit_1_13 () at /usr/lib/dri/nvidia_drv_video.so #2 0x000075fdf466827c in va_openDriver (driver_name=<optimized out>, dpy=0x6006372c6170) at ../libva/va/va.c:478 #3 va_new_opendriver (dpy=0x6006372c6170) at ../libva/va/va.c:714 #4 vaInitialize (minor_version=0x7fff4f1d3044, major_version=0x7fff4f1d3040, dpy=0x6006372c6170) at ../libva/va/va.c:743 #5 vaInitialize (dpy=0x6006372c6170, major_version=0x7fff4f1d3040, minor_version=0x7fff4f1d3044) at ../libva/va/va.c:727 #6 0x000075fdf60ecdfa in VaapiUtils::openDevice(int*, QByteArray const&) [clone .constprop.0] (fd=<optimized out>, path=...) at /usr/src/debug/kpipewire/kpipewire-6.0.0/src/vaapiutils.cpp:165 #7 0x000075fdf60e9945 in VaapiUtils::supportsH264 (path=..., this=0x7fff4f1d3230) at /usr/src/debug/kpipewire/kpipewire-6.0.0/src/vaapiutils.cpp:86 #8 VaapiUtils::VaapiUtils (this=0x7fff4f1d3230, this=<optimized out>) at /usr/src/debug/kpipewire/kpipewire-6.0.0/src/vaapiutils.cpp:37 Are you running X11 or Wayland? (In reply to Nicolas Fella from comment #3) > Are you running X11 or Wayland? Wayland, i'm also using pipewire if relevant #0 XDisplayString (dpy=0x0) at /usr/src/debug/libx11/libX11-1.8.7/src/Macros.c:119 #1 0x000075fdd7ff7a1d in __vaDriverInit_1_13 () at /usr/lib/dri/nvidia_drv_video.so For some reason the Nvidia video acceleration driver is trying to talk to X11, which of course doesn't make sense on Wayland. I'm 98% sure that's a driver bug See https://bugzilla.mozilla.org/show_bug.cgi?id=1758473 and https://obsproject.com/forum/threads/archlinux-nvidia-wayland-obs-segmentation-fault-core-dumped.163735/ for related issues (In reply to Nicolas Fella from comment #5) > #0 XDisplayString (dpy=0x0) at > /usr/src/debug/libx11/libX11-1.8.7/src/Macros.c:119 > #1 0x000075fdd7ff7a1d in __vaDriverInit_1_13 () at > /usr/lib/dri/nvidia_drv_video.so > > For some reason the Nvidia video acceleration driver is trying to talk to > X11, which of course doesn't make sense on Wayland. > > I'm 98% sure that's a driver bug i'm not in a position to argue with you about that, the only thing for sure is that on kde 5.27.10 spectacle did not crash on Wayland, same driver If you were using X11 in Plasma 5.27 and just started using Wayland in Plasma 6, then the issue was probably there all along, just not manifesting yet. Is that the case? (In reply to Nate Graham from comment #9) > If you were using X11 in Plasma 5.27 and just started using Wayland in > Plasma 6, then the issue was probably there all along, just not manifesting > yet. Is that the case? nope, I just rolled back to confirm, on 5.27 Wayland there is no crash (In reply to Nate Graham from comment #9) > If you were using X11 in Plasma 5.27 and just started using Wayland in > Plasma 6, then the issue was probably there all along, just not manifesting > yet. Is that the case? I've got the same issue. It worked on Plasma 5.27 under Wayland. Same issue System: ArchLinux, KDE 6 GPU: NVIDIA RTX4070, driver 550.54.14 (closed source) backtrace: ``` 119 char *XDisplayString(Display *dpy) { return (DisplayString(dpy)); } (gdb) bt #0 XDisplayString (dpy=0x0) at /usr/src/debug/libx11/libX11-1.8.7/src/Macros.c:119 #1 0x00007fffdc449a1d in __vaDriverInit_1_13 () at /usr/lib/dri/nvidia_drv_video.so #2 0x00007ffff625427c in va_openDriver (driver_name=<optimized out>, dpy=0x5555559554a0) at ../libva/va/va.c:478 #3 va_new_opendriver (dpy=0x5555559554a0) at ../libva/va/va.c:714 #4 vaInitialize (minor_version=0x7fffffffca94, major_version=0x7fffffffca90, dpy=0x5555559554a0) at ../libva/va/va.c:743 #5 vaInitialize (dpy=0x5555559554a0, major_version=0x7fffffffca90, minor_version=0x7fffffffca94) at ../libva/va/va.c:727 #6 0x00007ffff7cc9dfa in VaapiUtils::openDevice(int*, QByteArray const&) [clone .constprop.0] (fd=<optimized out>, path=...) at /usr/src/debug/kpipewire/kpipewire-6.0.1.1/src/vaapiutils.cpp:165 #7 0x00007ffff7cc6945 in VaapiUtils::supportsH264 (path=..., this=0x7fffffffcc80) at /usr/src/debug/kpipewire/kpipewire-6.0.1.1/src/vaapiutils.cpp:86 #8 VaapiUtils::VaapiUtils (this=0x7fffffffcc80, this=<optimized out>) at /usr/src/debug/kpipewire/kpipewire-6.0.1.1/src/vaapiutils.cpp:37 #9 0x00007ffff7cc6ce2 in PipeWireBaseEncodedStream::suggestedEncoders (this=this@entry=0x5555559550a0) at /usr/src/debug/kpipewire/kpipewire-6.0.1.1/src/pipewirebaseencodedstream.cpp:180 #10 0x00007ffff7cc730e in PipeWireBaseEncodedStream::PipeWireBaseEncodedStream (this=0x5555559550a0, parent=<optimized out>, this=<optimized out>, parent=<optimized out>) at /usr/src/debug/kpipewire/kpipewire-6.0.1.1/src/pipewirebaseencodedstream.cpp:50 #11 0x00007ffff7cc74ce in PipeWireRecord::PipeWireRecord (this=this@entry=0x5555559550a0, parent=parent@entry=0x0, this=<optimized out>, parent=<optimized out>) at /usr/src/debug/kpipewire/kpipewire-6.0.1.1/src/pipewirerecord.cpp:59 #12 0x00005555556134f8 in VideoPlatformWayland::VideoPlatformWayland(QObject*) [clone .constprop.0] (this=this@entry=0x7fffd4008500, parent=0x0) at /usr/src/debug/spectacle/spectacle-24.02.0/src/Platforms/VideoPlatformWayland.cpp:78 #13 0x0000555555613a67 in std::make_unique<VideoPlatformWayland> () at /usr/include/c++/13.2.1/bits/unique_ptr.h:1070 #14 loadVideoPlatform () at /usr/src/debug/spectacle/spectacle-24.02.0/src/Platforms/PlatformLoader.cpp:93 #15 SpectacleCore::SpectacleCore(QObject*) [clone .constprop.0] (this=0x7fffffffd090, parent=0x0) at /usr/src/debug/spectacle/spectacle-24.02.0/src/SpectacleCore.cpp:120 #16 0x00005555555811e6 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/spectacle/spectacle-24.02.0/src/Main.cpp:103 ``` core dump: https://nc.sr.team/s/XnXSm7taKaeoSb6 ! saved with warning: `warning: Memory read failed for corefile section, 4096 bytes at 0xffffffffff600000.` P.S. Screen sharing via pipewire (obs, browser) work fine. Moved to KPipeWire since that's what all the backtraces seem to indicate where the bug is. (In reply to Noah Davis from comment #13) > Moved to KPipeWire since that's what all the backtraces seem to indicate > where the bug is. KMail have same crash, but it not contain KPipeWire in backtrace: ``` Thread 22 "Chrome_InProcGp" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffa74006c0 (LWP 500908)] XDisplayString (dpy=0x0) at /usr/src/debug/libx11/libX11-1.8.7/src/Macros.c:119 119 char *XDisplayString(Display *dpy) { return (DisplayString(dpy)); } (gdb) bt #0 XDisplayString (dpy=0x0) at /usr/src/debug/libx11/libX11-1.8.7/src/Macros.c:119 #1 0x00007fffcc702a1d in __vaDriverInit_1_13 () at /usr/lib/dri/nvidia_drv_video.so #2 0x00007fffe1b3927c in va_openDriver (driver_name=<optimized out>, dpy=0x7fff600712d0) at ../libva/va/va.c:478 #3 va_new_opendriver (dpy=0x7fff600712d0) at ../libva/va/va.c:714 #4 vaInitialize (minor_version=0x7fffa73febf0, major_version=0x7fffa73febe4, dpy=0x7fff600712d0) at ../libva/va/va.c:743 #5 vaInitialize (dpy=0x7fff600712d0, major_version=0x7fffa73febe4, minor_version=0x7fffa73febf0) at ../libva/va/va.c:727 #6 0x00007ffff06e8f01 in InitializeVaDriver_Locked () at ../../../../../qtwebengine-everywhere-src-6.6.2/src/3rdparty/chromium/media/gpu/vaapi/vaapi_wrapper.cc:858 #7 InitializeOnce () at ../../../../../qtwebengine-everywhere-src-6.6.2/src/3rdparty/chromium/media/gpu/vaapi/vaapi_wrapper.cc:899 #8 Initialize () at ../../../../../qtwebengine-everywhere-src-6.6.2/src/3rdparty/chromium/media/gpu/vaapi/vaapi_wrapper.cc:782 #9 0x00007ffff06f06f3 in VASupportedProfiles () at ../../../../../qtwebengine-everywhere-src-6.6.2/src/3rdparty/chromium/media/gpu/vaapi/vaapi_wrapper.cc:1200 #10 0x00007ffff06f56bc in NoDestructor<> () at ../../../../../qtwebengine-everywhere-src-6.6.2/src/3rdparty/chromium/base/no_destructor.h:88 #11 Get () at ../../../../../qtwebengine-everywhere-src-6.6.2/src/3rdparty/chromium/media/gpu/vaapi/vaapi_wrapper.cc:1177 #12 Get () at ../../../../../qtwebengine-everywhere-src-6.6.2/src/3rdparty/chromium/media/gpu/vaapi/vaapi_wrapper.cc:1176 #13 media::VaapiWrapper::PreSandboxInitialization () at ../../../../../qtwebengine-everywhere-src-6.6.2/src/3rdparty/chromium/media/gpu/vaapi/vaapi_wrapper.cc:3141 #14 0x00007ffff3d42ea8 in content::InProcessGpuThread::Init () at ./../../../../../qtwebengine-everywhere-src-6.6.2/src/3rdparty/chromium/content/gpu/in_process_gpu_thread.cc:76 #15 0x00007ffff1ef7885 in base::Thread::ThreadMain () at ./../../../../../qtwebengine-everywhere-src-6.6.2/src/3rdparty/chromium/base/threading/thread.cc:403 #16 0x00007ffff1f08b2a in ThreadFunc () at ./../../../../../qtwebengine-everywhere-src-6.6.2/src/3rdparty/chromium/base/threading/platform_thread_posix.cc:101 #17 0x00007fffed8a955a in start_thread (arg=<optimized out>) at pthread_create.c:447 #18 0x00007fffed926a3c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 ``` *** Bug 482921 has been marked as a duplicate of this bug. *** This is caused by the libva-vdpau-driver package on Arch. Removing that should fix it (In reply to Nicolas Fella from comment #16) > This is caused by the libva-vdpau-driver package on Arch. Removing that > should fix it I replaced with `libva-nvidia-driver` - now spectacle and kmail works for me. Thanks (In reply to Nicolas Fella from comment #16) > This is caused by the libva-vdpau-driver package on Arch. Removing that > should fix it in my case the problem disappeared after upgrading the system yesterday, many packages got updated but not the one mentioned, which i still have installed, i tried to pinpoint which package did solve the issue but i did not manage to reproduce the crash anymore. Cool, sounds like it was a driver or packaging issue. *** Bug 483394 has been marked as a duplicate of this bug. *** *** Bug 483554 has been marked as a duplicate of this bug. *** *** Bug 484099 has been marked as a duplicate of this bug. *** *** Bug 487044 has been marked as a duplicate of this bug. *** *** Bug 493553 has been marked as a duplicate of this bug. *** |