obs-studio
obs-studio copied to clipboard
[Bug]: Reprodcible SIGSEGV when closing obs-studio
What happened?
Every time I close the app, I get a SIGSEGV,
#0 0x000073a026f77c5b in srt::sync::CThreadError::ThreadSpecKeyDestroy (e=0x581cb953c220) at /usr/src/srt-1.5.3-1build2/srtcore/sync_posix.cpp:536
No locals.
#1 srt::sync::CThreadError::~CThreadError (this=<optimized out>, this=<optimized out>) at /usr/src/srt-1.5.3-1build2/srtcore/sync_posix.cpp:493
No locals.
#2 0x000073a02cc9e382 in __cxa_finalize (d=0x73a026fa4000) at ./stdlib/cxa_finalize.c:82
check = <optimized out>
cxafn = <optimized out>
cxaarg = <optimized out>
f = 0x73a02ce5c1d0 <initial+528>
funcs = 0x73a02ce5bfc0 <initial>
restart = <optimized out>
#3 0x000073a026f0d167 in __do_global_dtors_aux () from target:/snap/obs-studio/1313/usr/lib/x86_64-linux-gnu/libsrt-gnutls.so.1.5
No symbol table info available.
#4 0x00007fffece628e0 in ?? ()
No symbol table info available.
#5 0x000073a031da50f2 in _dl_call_fini (closure_map=0x73a026faa000) at ./elf/dl-call_fini.c:43
array = 0x73a026fa2fb8
sz = <optimized out>
map = 0x73a026faa000
fini_array = <optimized out>
fini = <optimized out>
What should have happened?
The app should have closed gracefully, no seggies.
It's mysterious to me currently why that's happening in the snap, but not the Flatpak. The obs binary in both environments dynamically depends on the same version of the libsrt-gnutls version (1.5.3), yet the global destruction sequence is somehow crashing in Snap, but not Flatpak.
Output of snap info $snap_name
$ snap info obs-studio
name: obs-studio
summary: Free and open source software for live streaming and screen recording
publisher: Snapcrafters✪
store-url: https://snapcraft.io/obs-studio
license: GPL-2.0
description: |
OBS Studio is software designed for capturing, compositing, encoding, recording, and streaming
video content, efficiently.
**NOTE: This is a community-supported modified build of OBS Studio; please file issues on the
Snapcrafters GitHub: https://github.com/snapcrafters/obs-studio/issues**
**Batteries included**
The snap of OBS studio comes pre-loaded with some extra features:
* Supports **nvenc (NVIDIA) and VA-API (AMD & Intel) accelerated video encoding**.
* **Advanced Scene Switcher** plugin; an automated scene switcher
* **Browser** plugin; CEF-based OBS Studio browser plugin
* **Directory Watch Media** plugin; filter you can add to a media source to load the oldest or
newest file in a directory.
* **Dynamic Delay** plugin; filter for dynamic delaying a video source.
* **Freeze Filter** plugin; freeze a source using a filter.
* **GStreamer** plugins; feed GStreamer launch pipelines into OBS Studio and use GStreamer
encoder elements.
* **Move Transition** plugin; move sources to a new position during a scene transition.
* **NDI** plugin; Network A/V via NewTek's NDI.
* **RGB Levels** plugin; simple filter to adjust RGB levels.
* **Source Switcher** plugin; to switch between a list of sources.
* **StreamFX** plugin; collection modern effects filters and transitions.
* **Text Pango** plugin; Provides a text source rendered using Pango with multi-language
support, emoji support, vertical rendering and RTL support.
* **Transition Matrix** plugin; customize Any -> One or One -> One scene transitions.
* **Waveform** plugin; audio visualization using fftw.
* **Websockets** plugin; remote-control OBS Studio through WebSockets.
**Connecting Interfaces**
For the best experience, you'll want to connect the following interfaces.
sudo snap connect obs-studio:alsa
sudo snap connect obs-studio:audio-record
sudo snap connect obs-studio:avahi-control
sudo snap connect obs-studio:camera
sudo snap connect obs-studio:jack1
sudo snap connect obs-studio:kernel-module-observe
**NDI**
If you want to use the NDI plugin you'll need to connect the Avahi Control interface.
snap connect obs-studio:avahi-control
**Virtual Camera**
Starting with OBS 26.1.0, Virtual Camera support is integrated. Here's how to install and
configure `v4l2loopback`:
sudo snap connect obs-studio:kernel-module-observe
sudo apt -y install v4l2loopback-dkms v4l2loopback-utils
echo "options v4l2loopback devices=1 video_nr=13 card_label='OBS Virtual Camera'
exclusive_caps=1" | sudo tee /etc/modprobe.d/v4l2loopback.conf
echo "v4l2loopback" | sudo tee /etc/modules-load.d/v4l2loopback.conf
sudo modprobe -r v4l2loopback
sudo modprobe v4l2loopback devices=1 video_nr=13 card_label='OBS Virtual Camera'
exclusive_caps=1
**NOTE!** Using `video_nr` greater than 64 will not work.
**Removable Storage**
To access content on external storage, connect to the removable-media plug:
snap connect obs-studio:removable-media
**3rd Party plugins**
To install pre-compiled plugins, download and extract the plugin to
`~/snap/obs-studio/current/.config/obs-studio/plugins/`.
This is how the Input Overlay plugin looks when correctly installed:
/home/username/snap/obs-studio/current/.config/obs-studio/plugins/
└── input-overlay
├── bin
│ └── 64bit
│ └── input-overlay.so
└── data
└── locale
├── de-DE.ini
├── en-US.ini
└── ru-RU.ini
If you want to use the Input Overlay plugin, you'll also need to connect the joystick interface:
snap connect obs-studio:joystick
**NOTE: This is a community-supported modified build of OBS Studio; please file issues on the
Snapcrafters GitHub: https://github.com/snapcrafters/obs-studio/issues**
commands:
- obs-studio
snap-id: 6uLU2MJmBURfLNz4rmL4WT2CmtVULE2u
tracking: latest/stable
refresh-date: today at 12:03 BST
channels:
latest/stable: 31.1.2 2025-08-14 (1313) 418MB -
latest/candidate: 31.1.2 2025-07-29 (1313) 418MB -
latest/beta: ↑
latest/edge: 30.0.0 2023-12-22 (1296) 606MB -
installed: 31.1.2 (1313) 418MB -
Output of snap connections $snap_name
$ snap connections obs-studio
Interface Plug Slot Notes
alsa obs-studio:alsa - -
audio-playback obs-studio:audio-playback :audio-playback -
audio-record obs-studio:audio-record :audio-record -
avahi-control obs-studio:avahi-control - -
browser-support obs-studio:browser-support :browser-support -
camera obs-studio:camera :camera -
content[ffmpeg-2404] obs-studio:ffmpeg-2404 ffmpeg-2404:ffmpeg-2404 -
content[gnome-46-2404] obs-studio:gnome-46-2404 gnome-46-2404:gnome-46-2404 -
content[gpu-2404] obs-studio:gpu-2404 mesa-2404:gpu-2404 -
content[gtk-3-themes] obs-studio:gtk-3-themes gtk-common-themes:gtk-3-themes -
content[icon-themes] obs-studio:icon-themes gtk-common-themes:icon-themes -
content[sound-themes] obs-studio:sound-themes gtk-common-themes:sound-themes -
desktop obs-studio:desktop :desktop -
desktop-legacy obs-studio:desktop-legacy :desktop-legacy -
gsettings obs-studio:gsettings :gsettings -
hardware-observe obs-studio:hardware-observe - -
home obs-studio:home :home -
jack1 obs-studio:jack1 - -
joystick obs-studio:joystick - -
kernel-module-observe obs-studio:kernel-module-observe - -
network obs-studio:network :network -
network-bind obs-studio:network-bind :network-bind -
opengl obs-studio:opengl :opengl -
password-manager-service obs-studio:password-manager-service - -
process-control obs-studio:process-control - -
pulseaudio obs-studio:pulseaudio :pulseaudio -
raw-usb obs-studio:raw-usb - -
removable-media obs-studio:removable-media - -
screen-inhibit-control obs-studio:screen-inhibit-control :screen-inhibit-control -
screencast-legacy obs-studio:screencast-legacy - -
system-observe obs-studio:system-observe - -
unity7 obs-studio:unity7 :unity7 -
upower-observe obs-studio:upower-observe :upower-observe -
wayland obs-studio:wayland :wayland -
x11 obs-studio:x11 :x11 -
Output of snap version
$ snap version
snap 2.71+ubuntu25.10
snapd 2.71+ubuntu25.10
series 16
ubuntu 25.10
kernel 6.16.0-16-generic
Relevant log output
Teminal output of app
$ obs-studio
debug: Found portal inhibitor
debug: Attempted path: /snap/obs-studio/1313/usr/bin/../share/obs/obs-studio/locale/en-US.ini
debug: Attempted path: /snap/obs-studio/1313/usr/bin/../share/obs/obs-studio/locale.ini
debug: Attempted path: /snap/obs-studio/1313/usr/bin/../share/obs/obs-studio/themes
debug: Attempted path: /snap/obs-studio/1313/usr/bin/../share/obs/obs-studio/themes/
info: User enabled --multi flag and is now running multiple instances of OBS.
info: Command Line Arguments: --multi
info: Platform: Wayland
info: CPU Name: AMD Ryzen 9 7950X3D 16-Core Processor
info: CPU Speed: 4990.620MHz
info: Physical Cores: 16, Logical Cores: 32
info: Physical Memory: 93348MB Total, 3265MB Free
info: Kernel Version: Linux 6.16.0-16-generic
info: Distribution: "Ubuntu Core" "24"
info: Desktop Environment: ubuntu:GNOME (ubuntu)
info: Session Type: wayland
info: Current Date/Time: 2025-09-01, 17:11:59
info: Browser Hardware Acceleration: true
info: Qt Version: 6.4.2 (runtime), 6.4.2 (compiled)
info: Portable mode: false
info: OBS 31.1.2 (linux)
info: ---------------------------------
info: ---------------------------------
info: audio settings reset:
samples per sec: 48000
speakers: 2
max buffering: 960 milliseconds
buffering type: dynamically increasing
info: ---------------------------------
info: Initializing OpenGL...
info: Using EGL/Wayland
/usr/share/libdrm/amdgpu.ids: No such file or directory
info: Initialized EGL 1.5
info: Loading up OpenGL on adapter AMD AMD Radeon Graphics (radeonsi, navi23, LLVM 19.1.1, DRM 3.64, 6.16.0-16-generic)
info: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 24.2.8-1ubuntu1~24.04.1, shading language 4.60
info: ---------------------------------
info: video settings reset:
base resolution: 3440x1440
output resolution: 3440x1440
downscale filter: Bicubic
fps: 60/1
format: NV12
YUV mode: Rec. 709/Partial
info: NV12 texture support enabled
info: P010 texture support not available
info: Audio monitoring device:
name: Default
id: default
info: ---------------------------------
warning: No AJA devices found, skipping loading AJA UI plugin
warning: Failed to initialize module 'aja-output-ui.so'
warning: No AJA devices found, skipping loading AJA plugin
warning: Failed to initialize module 'aja.so'
warning: Failed to load 'en-US' text for module: 'decklink-captions.so'
warning: Failed to load 'en-US' text for module: 'decklink-output-ui.so'
libDeckLinkAPI.so: cannot open shared object file: No such file or directory
warning: A DeckLink iterator could not be created. The DeckLink drivers may not be installed
warning: Failed to initialize module 'decklink.so'
info: [pipewire] Available capture sources:
info: [pipewire] - Monitor source
info: [pipewire] - Window source
warning: v4l2loopback not installed, virtual camera not registered
info: [obs-browser]: Version 2.25.3
info: [obs-browser]: CEF Version 127.0.6533.120 (runtime), 127.0.0-6533-fix-stutter-and-osr-extra-info.3040+ga0ca18e+chromium-127.0.6533.120 (compiled)
info: VAAPI: API version 1.22
info: FFmpeg VAAPI H264 encoding supported
/usr/share/libdrm/amdgpu.ids: No such file or directory
info: FFmpeg VAAPI AV1 encoding not supported
info: FFmpeg VAAPI HEVC encoding supported
error: os_dlopen(libnvidia-encode.so.1->libnvidia-encode.so.1): libnvidia-encode.so.1: cannot open shared object file: No such file or directory
info: NVENC not supported
warning: Failed to initialize module 'obs-nvenc.so'
/usr/share/libdrm/amdgpu.ids: No such file or directory
info: [obs-websocket] [obs_module_load] you can haz websockets (Version: 5.6.2 | RPC Version: 1)
info: [obs-websocket] [obs_module_load] Qt version (compile-time): 6.4.2 | Qt version (run-time): 6.4.2
info: [obs-websocket] [obs_module_load] Linked ASIO Version: 102801
warning: DEPRECATION: obs_frontend_get_global_config is deprecated. Read from global or user configuration explicitly instead.
info: [obs-websocket] [obs_module_load] Module loaded.
info: [vlc-video]: VLC 3.0.20 Vetinari found, VLC video source enabled
info: ---------------------------------
info: Loaded Modules:
info: vlc-video.so
info: text-freetype2.so
info: rtmp-services.so
info: obs-x264.so
info: obs-websocket.so
info: obs-vst.so
info: obs-transitions.so
info: obs-qsv11.so
info: obs-outputs.so
info: obs-libfdk.so
info: obs-filters.so
info: obs-ffmpeg.so
info: obs-browser.so
info: linux-v4l2.so
info: linux-pulseaudio.so
info: linux-pipewire.so
info: linux-jack.so
info: linux-capture.so
info: linux-alsa.so
info: image-source.so
info: frontend-tools.so
info: decklink-output-ui.so
info: decklink-captions.so
info: ---------------------------------
info: ---------------------------------
info: Available Encoders:
info: Video Encoders:
info: - ffmpeg_svt_av1 (SVT-AV1)
info: - ffmpeg_aom_av1 (AOM AV1)
info: - ffmpeg_vaapi_tex (FFmpeg VAAPI H.264)
info: - hevc_ffmpeg_vaapi_tex (FFmpeg VAAPI HEVC)
info: - obs_x264 (x264)
info: Audio Encoders:
info: - ffmpeg_aac (FFmpeg AAC)
info: - ffmpeg_opus (FFmpeg Opus)
info: - ffmpeg_pcm_s16le (FFmpeg PCM (16-bit))
info: - ffmpeg_pcm_s24le (FFmpeg PCM (24-bit))
info: - ffmpeg_pcm_f32le (FFmpeg PCM (32-bit float))
info: - ffmpeg_alac (FFmpeg ALAC (24-bit))
info: - ffmpeg_flac (FFmpeg FLAC (16-bit))
info: - libfdk_aac (libfdk AAC)
info: ==== Startup complete ===============================================
info: All scene data cleared
info: ------------------------------------------------
info: pulse-input: Server name: 'PulseAudio (on PipeWire 1.4.7) 15.0.0'
info: pulse-input: Audio format: s32le, 48000 Hz, 2 channels
info: pulse-input: Started recording from 'alsa_output.pci-0000_11_00.6.iec958-stereo.monitor' (default)
info: [Loaded global audio device]: 'Desktop Audio'
info: pulse-input: Server name: 'PulseAudio (on PipeWire 1.4.7) 15.0.0'
info: pulse-input: Audio format: s16le, 48000 Hz, 2 channels
info: pulse-input: Started recording from 'alsa_input.usb-Razer_Inc_Razer_Kiyo_Pro-02.analog-stereo' (default)
info: [Loaded global audio device]: 'Mic/Aux'
info: pulse-input: Server name: 'PulseAudio (on PipeWire 1.4.7) 15.0.0'
info: pulse-input: Audio format: s16le, 48000 Hz, 1 channels
info: pulse-input: Started recording from 'alsa_input.usb-0c76_USB_PnP_Audio_Device-00.mono-fallback'
info: PipeWire initialized
error: obs-data.c: [obs_data_create_from_json] Failed reading json string (1): '[' or '{' expected near end of file
error: obs-data.c: [obs_data_create_from_json] Failed reading json string (1): '[' or '{' expected near end of file
info: Switched to scene 'Scene'
info: ------------------------------------------------
info: Loaded scenes:
info: - scene 'Scene':
info: - source: 'Audio Input Capture (PulseAudio)' (pulse_input_capture)
info: - source: 'Screen Capture (PipeWire)' (pipewire-screen-capture-source)
info: - source: 'Video Capture Device (PipeWire) (BETA)' (pipewire-camera-source)
info: ------------------------------------------------
warning: [camera-portal] Failed to create session, denied or cancelled by user
info: [pipewire] Screencast session created
info: [pipewire] Asking for monitor and window
info: [pipewire] source selected, setting up screencast
info: [pipewire] Server version: 1.4.7
info: [pipewire] Library version: 1.0.5
info: [pipewire] Header version: 1.0.5
info: [pipewire] Created stream 0x5dedbd9d0d80
info: [pipewire] Stream 0x5dedbd9d0d80 state: "connecting" (error: none)
info: [pipewire] Playing stream 0x5dedbd9d0d80
info: [pipewire] Stream 0x5dedbd9d0d80 state: "paused" (error: none)
info: [pipewire] Negotiated format:
info: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
info: [pipewire] Modifier: 0x0
info: [pipewire] Size: 3440x1440
info: [pipewire] Framerate: 0/1
info: [pipewire] Negotiated format:
info: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA)
info: [pipewire] Modifier: 0x200000018601b03
info: [pipewire] Size: 3440x1440
info: [pipewire] Framerate: 0/1
info: [pipewire] Stream 0x5dedbd9d0d80 state: "streaming" (error: none)
info: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio)
info: ==== Shutting down ==================================================
info: pulse-input: Stopped recording from 'alsa_output.pci-0000_11_00.6.iec958-stereo.monitor'
info: pulse-input: Got 70 packets with 84000 frames
info: pulse-input: Stopped recording from 'alsa_input.usb-Razer_Inc_Razer_Kiyo_Pro-02.analog-stereo'
info: pulse-input: Got 65 packets with 78000 frames
info: pulse-input: Stopped recording from 'alsa_input.usb-0c76_USB_PnP_Audio_Device-00.mono-fallback'
info: pulse-input: Got 64 packets with 76800 frames
info: [pipewire] Stream 0x5dedbd9d0d80 state: "paused" (error: none)
info: [pipewire] Stream 0x5dedbd9d0d80 state: "unconnected" (error: none)
'loop->recurse > 0' failed at ../src/pipewire/thread-loop.c:426 pw_thread_loop_wait()
info: All scene data cleared
info: ------------------------------------------------
info: [obs-websocket] [obs_module_unload] Shutting down...
error: Tried to call obs_frontend_remove_event_callback with no callbacks!
info: [obs-websocket] [obs_module_unload] Finished shutting down.
info: [Scripting] Total detached callbacks: 0
info: Freeing OBS context data
info: == Profiler Results =============================
info: run_program_init: 673.006 ms
info: ┣OBSApp::AppInit: 41.478 ms
info: ┃ ┗OBSApp::InitLocale: 0.634 ms
info: ┗OBSApp::OBSInit: 606.817 ms
info: ┣obs_startup: 2.585 ms
info: ┗OBSBasic::OBSInit: 580.85 ms
info: ┣OBSBasic::InitBasicConfig: 0.53 ms
info: ┣OBSBasic::ResetAudio: 0.28 ms
info: ┣OBSBasic::ResetVideo: 65.408 ms
info: ┃ ┗obs_init_graphics: 61.779 ms
info: ┃ ┗shader compilation: 18.334 ms
info: ┣OBSBasic::InitOBSCallbacks: 0.004 ms
info: ┣OBSBasic::InitHotkeys: 0.021 ms
info: ┣obs_load_all_modules2: 447.217 ms
info: ┃ ┣obs_init_module(aja-output-ui.so): 0.075 ms
info: ┃ ┣obs_init_module(aja.so): 0.09 ms
info: ┃ ┣obs_init_module(decklink-captions.so): 0 ms
info: ┃ ┣obs_init_module(decklink-output-ui.so): 0 ms
info: ┃ ┣obs_init_module(decklink.so): 0.168 ms
info: ┃ ┣obs_init_module(frontend-tools.so): 58.289 ms
info: ┃ ┣obs_init_module(image-source.so): 0.016 ms
info: ┃ ┣obs_init_module(linux-alsa.so): 0.003 ms
info: ┃ ┣obs_init_module(linux-capture.so): 0.001 ms
info: ┃ ┣obs_init_module(linux-jack.so): 0.005 ms
info: ┃ ┣obs_init_module(linux-pipewire.so): 9.85 ms
info: ┃ ┣obs_init_module(linux-pulseaudio.so): 0.007 ms
info: ┃ ┣obs_init_module(linux-v4l2.so): 1.429 ms
info: ┃ ┣obs_init_module(obs-browser.so): 0.111 ms
info: ┃ ┣obs_init_module(obs-ffmpeg.so): 24.35 ms
info: ┃ ┣obs_init_module(obs-filters.so): 0.019 ms
info: ┃ ┣obs_init_module(obs-libfdk.so): 0.002 ms
info: ┃ ┣obs_init_module(obs-nvenc.so): 0.198 ms
info: ┃ ┃ ┗nvenc_check: 0.177 ms
info: ┃ ┣obs_init_module(obs-outputs.so): 0.007 ms
info: ┃ ┣obs_init_module(obs-qsv11.so): 16.048 ms
info: ┃ ┣obs_init_module(obs-transitions.so): 0.008 ms
info: ┃ ┣obs_init_module(obs-vst.so): 0.003 ms
info: ┃ ┣obs_init_module(obs-websocket.so): 4.569 ms
info: ┃ ┣obs_init_module(obs-x264.so): 0.004 ms
info: ┃ ┣obs_init_module(rtmp-services.so): 0.481 ms
info: ┃ ┣obs_init_module(text-freetype2.so): 0.012 ms
info: ┃ ┗obs_init_module(vlc-video.so): 0.876 ms
info: ┣OBSBasic::InitService: 0.749 ms
info: ┣OBSBasic::ResetOutputs: 0.149 ms
info: ┣OBSBasic::CreateHotkeys: 0.07 ms
info: ┣OBSBasic::InitPrimitives: 0.128 ms
info: ┗OBSBasic::Load: 37.321 ms
info: obs_hotkey_thread(25 ms): min=0 ms, median=0 ms, max=0.001 ms, 99th percentile=0 ms, 100% below 25 ms
info: audio_thread(Audio): min=0.003 ms, median=0.015 ms, max=0.227 ms, 99th percentile=0.17 ms
info: obs_graphics_thread(16.6667 ms): min=0.062 ms, median=0.202 ms, max=15.612 ms, 99th percentile=6.452 ms, 100% below 16.667 ms
info: ┣tick_sources: min=0 ms, median=0.002 ms, max=0.044 ms, 99th percentile=0.011 ms
info: ┣output_frame: min=0.053 ms, median=0.107 ms, max=4.024 ms, 99th percentile=0.296 ms
info: ┃ ┗gs_context(video->graphics): min=0.053 ms, median=0.107 ms, max=4.024 ms, 99th percentile=0.295 ms
info: ┃ ┣render_video: min=0.003 ms, median=0.028 ms, max=0.069 ms, 99th percentile=0.058 ms
info: ┃ ┃ ┗render_main_texture: min=0.001 ms, median=0.026 ms, max=0.057 ms, 99th percentile=0.034 ms
info: ┃ ┗gs_flush: min=0.001 ms, median=0.062 ms, max=0.111 ms, 99th percentile=0.106 ms
info: ┗render_displays: min=0.002 ms, median=0.081 ms, max=6.342 ms, 99th percentile=0.195 ms
info: =================================================
info: == Profiler Time Between Calls ==================
info: obs_hotkey_thread(25 ms): min=25.024 ms, median=25.06 ms, max=27.489 ms, 96.0396% within ±2% of 25 ms (0% lower, 3.9604% higher)
info: obs_graphics_thread(16.6667 ms): min=13.491 ms, median=16.667 ms, max=19.832 ms, 94.5946% within ±2% of 16.667 ms (2.7027% lower, 2.7027% higher)
info: =================================================
info: Number of memory leaks: 0
Segmentation fault