obs-studio icon indicating copy to clipboard operation
obs-studio copied to clipboard

OBS crashes on linux when I stop screen recording to mkv + libtheora

Open glaubersm opened this issue 3 years ago • 4 comments

Operating System Info

Other

Other OS

Arch Linux

OBS Studio Version

28.0.3

OBS Studio Version (Other)

No response

OBS Studio Log URL

https://obsproject.com/logs/Z35oko7oQibO-Fy6

OBS Studio Crash Log URL

No response

Expected Behavior

OBS stops the recording without a crash.

Current Behavior

OBS crashes after click on the button to stop the screen recording.

Steps to Reproduce

1.use a linux distro and install OBS on it 2.set OBS to record the screen to mkv + libtheora 3.start recording 4.click on the button to stop the screen recording

Anything else we should know?

Here is the backtrace of the crash generated with gdb:

Core was generated by `/usr/bin/obs'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f052297a5e2 in oc_enc_token_log (_eb=<optimized out>, _token=<optimized out>, _zzi=<optimized out>, _pli=<optimized out>, _enc=<optimized out>) at tokenize.c:177
177     tokenize.c: Diretório não vazio.
[Current thread is 1 (Thread 0x7f04dffff6c0 (LWP 63236))]
(gdb) bt
#0  0x00007f052297a5e2 in oc_enc_token_log (_eb=<optimized out>, _token=<optimized out>, _zzi=<optimized out>, _pli=<optimized out>, _enc=<optimized out>) at tokenize.c:177
#1  oc_enc_tokenize_ac (_enc=_enc@entry=0x7f04c40f9110, _pli=_pli@entry=0, _fragi=_fragi@entry=4747, _qdct=_qdct@entry=0x7f04dfffc1e0, _dequant=<optimized out>, _dct=_dct@entry=0x7f04dfffc160, _zzi=<optimized out>, _stack=<optimized out>, _acmin=<optimized out>) at tokenize.c:661
#2  0x00007f0522964ad3 in oc_enc_block_transform_quantize (_enc=_enc@entry=0x7f04c40f9110, _pipe=_pipe@entry=0x7f04dfffda70, _pli=_pli@entry=0, _fragi=_fragi@entry=4747, _overhead_bits=2, _mo=_mo@entry=0x7f04dfffc370, _stack=0x7f04dfffc368) at analyze.c:770
#3  0x00007f05229666eb in oc_enc_mb_transform_quantize_luma (_enc=_enc@entry=0x7f04c40f9110, _pipe=_pipe@entry=0x7f04dfffda70, _mbi=_mbi@entry=1227, _mode_overhead=5) at analyze.c:383
#4  0x00007f05229691b5 in oc_enc_analyze_inter (_enc=_enc@entry=0x7f04c40f9110, _allow_keyframe=1, _recode=_recode@entry=0) at analyze.c:2091
#5  0x00007f05229718a1 in oc_enc_compress_frame (_recode=0, _enc=<optimized out>) at encode.c:1180
#6  th_encode_ycbcr_in (_enc=0x7f04c40f9110, _img=_img@entry=0x7f04dfffe1f0) at encode.c:1553
#7  0x00007f0526b07c72 in encode_frame (avc_context=0x7f04c40da680, pkt=0x7f04c40e9ec0, frame=0x7f04c40de300, got_packet=0x7f04dfffe2b4) at libavcodec/libtheoraenc.c:306
#8  0x00007f0526900da3 in encode_simple_internal (avpkt=0x7f04c40e9ec0, avctx=0x7f04c40da680) at libavcodec/encode.c:214
#9  encode_simple_receive_packet (avpkt=<optimized out>, avctx=<optimized out>) at libavcodec/encode.c:269
#10 encode_receive_packet_internal (avctx=avctx@entry=0x7f04c40da680, avpkt=0x7f04c40e9ec0) at libavcodec/encode.c:303
#11 0x00007f05269015cc in avcodec_send_frame (avctx=avctx@entry=0x7f04c40da680, frame=0x7f04c4014cc0) at libavcodec/encode.c:380
#12 0x00007f04dc1c1409 in receive_video (param=<optimized out>, frame=<optimized out>) at /usr/src/debug/obs-studio-28.0.3/plugins/obs-ffmpeg/obs-ffmpeg-output.c:809
#13 0x00007f0527b19118 in default_raw_video_callback (frame=0x7f04dfffe470, param=0x5594a3d945c0) at /usr/src/debug/obs-studio-28.0.3/libobs/obs-output.c:1774
#14 default_raw_video_callback (param=0x5594a3d945c0, frame=0x7f04dfffe470) at /usr/src/debug/obs-studio-28.0.3/libobs/obs-output.c:1766
#15 0x00007f0527b69cae in video_output_cur_frame (video=0x5594a3cebc00) at /usr/src/debug/obs-studio-28.0.3/libobs/media-io/video-io.c:142
#16 video_thread (param=0x5594a3cebc00) at /usr/src/debug/obs-studio-28.0.3/libobs/media-io/video-io.c:188
#17 0x00007f0523e9f8fd in start_thread (arg=<optimized out>) at pthread_create.c:442
#18 0x00007f0523f21a60 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

glaubersm avatar Oct 11 '22 19:10 glaubersm

Please be aware that we cannot provide support for custom FFmpeg output configurations - you are of course free to ask for assistance on our forums or our Discord.

What you could try though is use the same output parameters with FFmpeg directly in an attempt to reproduce the crash and reach out to them directly.

PatTheMav avatar Oct 11 '22 20:10 PatTheMav

Is theora not officially supported? If not, which codecs are officially supported?

glaubersm avatar Oct 11 '22 20:10 glaubersm

Officially supported codecs are available within the "Standard" output screen and vary by platform and available hardware.

PatTheMav avatar Oct 11 '22 21:10 PatTheMav

As with #7536, while I can reproduce this on an updated Arch Linux and OBS Studio 29.0.2, the crash is deep in a dependency, and I'm inclined to close this Issue due to the "as-is nature" of the "Custom Output (FFmpeg)" feature.

RytoEX avatar Feb 10 '23 16:02 RytoEX

Closing per the above comment.

gxalpha avatar Feb 22 '23 20:02 gxalpha