Closed HurricanePootis closed 1 year ago
Please provide the GDB backtrace of the crash.
Please provide the GDB backtrace of the crash.
I am not sure how to do a GDB backtrace of a crash. Sorry.
Until a backtrace is provided there is nothing we can do to help here, since this is likely a crash in your graphics drivers vaapi impl.
After some fiddling around, I managed to core dump obs-ffmpeg when it was overloading, and I got this when I ran the coredump through gdb coredump If I did something, please let me know. This was my first time doing something like this.
im not really sure what process you followed, but it looks like you are loading from a core dump which doesnt match the executables so there are no symbols... GDB recommends you use /home/borowski/obs-studio-portable/bin/64bit/obs-ffmpeg-mux to source the symbols perhaps you instead tried /home/borowski/obs-studio-portable/obs-plugins/64bit/obs-ffmpeg.so ?
Preferably run OBS in gdb to produce a usable backtrace with accurate symbols.
Is this good? second take
Are you sure that obs is not crashing? What if you attach gdb to obs instead of the muxer?
Because a coredump wasn't generated for ffmpeg.
I believe the crash I'm encountering is the same one mentioned here. Here's a stacktrace:
#4 0x00007fb430dccb24 avcodec_find_best_pix_fmt_of_list ./debian/standard/src/libavcodec/imgconvert.c:74:27
#5 0x00007fb40430db76 create_video_stream <some-prefix>/obs-studio/plugins/obs-ffmpeg/obs-ffmpeg-output.c:224:19
#6 0x00007fb40430db76 init_streams <some-prefix>/obs-studio/plugins/obs-ffmpeg/obs-ffmpeg-output.c:374:8
#7 0x00007fb40430db76 ffmpeg_data_init <some-prefix>/obs-studio/plugins/obs-ffmpeg/obs-ffmpeg-output.c:604:7
#8 0x00007fb40430fd1d try_connect <some-prefix>/obs-studio/plugins/obs-ffmpeg/obs-ffmpeg-output.c:1133:12
#9 0x00007fb40430fd1d start_thread <some-prefix>/obs-studio/plugins/obs-ffmpeg/obs-ffmpeg-output.c:1173:7
#10 0x00007fb42ec73f27 start_thread /build/glibc-M65Gwz/glibc-2.30/nptl/pthread_create.c:480:7
#11 0x00007fb42eba32ef clone /build/glibc-M65Gwz/glibc-2.30/misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:97:0
fish: “obs” terminated by signal SIGSEGV (Address boundary error)
The stack trace elements before entry #4
all belong to the signal handler.
@hdemiray This is regarding FFmpeg VA-API, which is Linux-only.
I'm experiencing the same issue. Crash when recording, but no crash when streaming. (FFmpeg VA-API).
I believe the crash I'm encountering is the same one mentioned here. Here's a stacktrace:
#4 0x00007fb430dccb24 avcodec_find_best_pix_fmt_of_list ./debian/standard/src/libavcodec/imgconvert.c:74:27 #5 0x00007fb40430db76 create_video_stream <some-prefix>/obs-studio/plugins/obs-ffmpeg/obs-ffmpeg-output.c:224:19 #6 0x00007fb40430db76 init_streams <some-prefix>/obs-studio/plugins/obs-ffmpeg/obs-ffmpeg-output.c:374:8 #7 0x00007fb40430db76 ffmpeg_data_init <some-prefix>/obs-studio/plugins/obs-ffmpeg/obs-ffmpeg-output.c:604:7 #8 0x00007fb40430fd1d try_connect <some-prefix>/obs-studio/plugins/obs-ffmpeg/obs-ffmpeg-output.c:1133:12 #9 0x00007fb40430fd1d start_thread <some-prefix>/obs-studio/plugins/obs-ffmpeg/obs-ffmpeg-output.c:1173:7 #10 0x00007fb42ec73f27 start_thread /build/glibc-M65Gwz/glibc-2.30/nptl/pthread_create.c:480:7 #11 0x00007fb42eba32ef clone /build/glibc-M65Gwz/glibc-2.30/misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:97:0 fish: “obs” terminated by signal SIGSEGV (Address boundary error)
The stack trace elements before entry
#4
all belong to the signal handler.
This is from an old version and was fixed long ago. Unrelated to the actual issue.
I'm experiencing the same issue. Crash when recording, but no crash when streaming. (FFmpeg VA-API).
Provide a stack trace please.
Thread 53 "obs" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffefaffd700 (LWP 2460)]
0x00007ffff6a1d4a6 in ?? () from /lib/x86_64-linux-gnu/libavcodec.so.58
#0 0x00007ffff6a1d4a6 in () at /lib/x86_64-linux-gnu/libavcodec.so.58
#1 0x00007ffff7068135 in avcodec_open2 () at /lib/x86_64-linux-gnu/libavcodec.so.58
#2 0x00007fffc401b479 in open_video_codec (data=0x5555563eb950) at /home/lepidos/Downloads/obs-studio-26.1.1/plugins/obs-ffmpeg/obs-ffmpeg-output.c:154
#3 0x00007fffc401b479 in create_video_stream (data=0x5555563eb950) at /home/lepidos/Downloads/obs-studio-26.1.1/plugins/obs-ffmpeg/obs-ffmpeg-output.c:254
#4 0x00007fffc401b479 in init_streams (data=0x5555563eb950) at /home/lepidos/Downloads/obs-studio-26.1.1/plugins/obs-ffmpeg/obs-ffmpeg-output.c:377
#5 0x00007fffc401b479 in ffmpeg_data_init (data=data@entry=0x5555563eb950, config=config@entry=0x7ffefaffc200) at /home/lepidos/Downloads/obs-studio-26.1.1/plugins/obs-ffmpeg/obs-ffmpeg-output.c:607
#6 0x00007fffc401bf00 in try_connect (output=0x5555563eb940) at /home/lepidos/Downloads/obs-studio-26.1.1/plugins/obs-ffmpeg/obs-ffmpeg-output.c:1127
#7 0x00007fffc401bf00 in start_thread (data=0x5555563eb940) at /home/lepidos/Downloads/obs-studio-26.1.1/plugins/obs-ffmpeg/obs-ffmpeg-output.c:1167
#8 0x00007ffff4cadea7 in start_thread () at /lib/x86_64-linux-gnu/libpthread.so.0
#9 0x00007ffff4bddd8f in clone () at /lib/x86_64-linux-gnu/libc.so.6
And all of your settings please.
Is there any other way I can view the settings?
OBS crashes on startup prompt if I choose optimize for recording.
h264_vaapi is also not working for Recording
h264_vaapi and hevc_vaapi is not working for me either. i'm running drivers from mesa-git
, an AUR package. I'm using an rx 580 on Arch Linux
Provide a stack trace from gdb.
Provide a stack trace from gdb.
I ran obs with gdb, but when I click record, instead of crashing due to a segfault, the program hangs and I am forced to kill the gdb process.
I don't know if this will be useful, but here is the output from running strace . Pardon me for providing such a large stack trace, but I am pretty sure you can find what you are looking for at the very last few lines of the file.
Here are my settings:
Thread 53 "obs" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7ffefaffd700 (LWP 2460)] 0x00007ffff6a1d4a6 in ?? () from /lib/x86_64-linux-gnu/libavcodec.so.58 #0 0x00007ffff6a1d4a6 in () at /lib/x86_64-linux-gnu/libavcodec.so.58 #1 0x00007ffff7068135 in avcodec_open2 () at /lib/x86_64-linux-gnu/libavcodec.so.58 #2 0x00007fffc401b479 in open_video_codec (data=0x5555563eb950) at /home/lepidos/Downloads/obs-studio-26.1.1/plugins/obs-ffmpeg/obs-ffmpeg-output.c:154 #3 0x00007fffc401b479 in create_video_stream (data=0x5555563eb950) at /home/lepidos/Downloads/obs-studio-26.1.1/plugins/obs-ffmpeg/obs-ffmpeg-output.c:254 #4 0x00007fffc401b479 in init_streams (data=0x5555563eb950) at /home/lepidos/Downloads/obs-studio-26.1.1/plugins/obs-ffmpeg/obs-ffmpeg-output.c:377
This is probably something different, and starts somewhere between FFmpeg 4.2.4 and 4.3.1. Resolution, FPS, or other settings don't seem to matter. With 4.2.4 I'm getting an invalid argument message, and with 4.3.1 or 4.4 this segfault (first time I'm trying out VAAPI with OBS Studio; it does seem to work with plain FFmpeg).
Here's a snippet of the same with some more symbols:
#0 0x00007ffff71569e3 in ff_vaapi_encode_close (avctx=avctx@entry=0x7fff4c0d44c0) at src/libavcodec/vaapi_encode.c:2542
ctx = 0x7fff4c004f40
pic = <optimized out>
next = <optimized out>
#1 0x00007ffff7156ab7 in vaapi_encode_h264_close (avctx=0x7fff4c0d44c0) at src/libavcodec/vaapi_encode_h264.c:1229
priv = 0x7fff4c004f40
#2 0x00007ffff6ced080 in avcodec_open2 (avctx=0x7fff4c0d44c0, codec=0x7ffff7771840 <ff_h264_vaapi_encoder>, options=0x0) at src/libavcodec/avcodec.c:447
ret = -22
codec_init_ok = -1
tmp = 0x0
avci = 0x7fff4c0d4a40
#3 0x00007fffc006222a in open_video_codec (data=0x5555569b9910)
at [...]/plugins/obs-ffmpeg/obs-ffmpeg-output.c:154
context = 0x7fff4c0d44c0
opts = 0x7fff4c024420
ret = 32767
#4 0x00007fffc0062737 in create_video_stream (data=0x5555569b9910)
at [...]/plugins/obs-ffmpeg/obs-ffmpeg-output.c:254
closest_format = AV_PIX_FMT_VAAPI_VLD
context = 0x7fff4c0d44c0
ovi =
{graphics_module = 0x555555832569 "libobs-opengl.so.0", fps_num = 30, fps_den = 1, base_width = 1280, base_height = 720, output_width = 1280, output_height = 720, output_format = VIDEO_FORMAT_NV12, adapter = 0, gpu_conversion = true, colorspace = VIDEO_CS_709, range = VIDEO_RANGE_PARTIAL, scale_type = OBS_SCALE_BICUBIC}
Once I've done some more looking into it, I'll open a separate issue, if still necessary.
Closing as this has been determined to be a dependency issue with specific versions of FFmpeg. Additionally, Custom FFmpeg Output is a scenario that we very much discourage.
Platform
Operating system and version: Arch Linux 5.7.12 OBS Studio version: 25.0.8-1
Expected Behavior
I set the level to 4.2, which proclaims that it supports up to 1080p 60fps output, and it should record/stream at 1080p 60fps
Current Behavior
OBS tells me encoder overload after a second of recording/streaming at 1080fps 60fps.
Steps to Reproduce
Additional information
I installed a custom patch to OBS that allowed me to record with h.265 through Vaapi, and I was able to record at 1080p 60fps with that.