Crash in gst_openh264dec_handle_frame
Hi, this is previously reported at https://bugs.webkit.org/show_bug.cgi?id=203465 and https://gitlab.com/freedesktop-sdk/freedesktop-sdk/issues/922. @philn thinks it's OpenH264's fault. The OpenH264 developers are not responding to me or @ramcq in https://github.com/cisco/openh264/issues/3218. It would be helpful to have some commentary from GStreamer developers as to why the crash is believed to be an issue in OpenH264, rather than a GStreamer bug, given that the backtrace is full of GStreamer frames and not any OpenH264 frames.
#0 0x00007f440372d470 in __memmove_avx_unaligned_erms ()
at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:383
#1 0x00007f4231709694 in memcpy (__len=640, __src=<optimized out>, __dest=<optimized out>)
at /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34
#2 0x00007f4231709694 in gst_openh264dec_handle_frame(GstVideoDecoder*, GstVideoCodecFrame*) (decoder=
0x7f420404cce0 [GstOpenh264Dec], frame=0x7f4204249120) at ../ext/openh264/gstopenh264dec.cpp:396
#3 0x00007f440029d37b in gst_video_decoder_decode_frame
(decoder=decoder@entry=0x7f420404cce0 [GstOpenh264Dec], frame=0x7f4204249340)
at ../gst-libs/gst/video/gstvideodecoder.c:3402
#4 0x00007f44002a24f8 in gst_video_decoder_chain_forward
(decoder=decoder@entry=0x7f420404cce0 [GstOpenh264Dec], buf=buf@entry=0x7f420c0c4360 [GstBuffer], at_eos=at_eos@entry=0) at ../gst-libs/gst/video/gstvideodecoder.c:2123
#5 0x00007f44002a2c09 in gst_video_decoder_chain
(pad=<optimized out>, parent=<optimized out>, buf=0x7f420c0c4360 [GstBuffer])
at ../gst-libs/gst/video/gstvideodecoder.c:2438
#6 0x00007f44004a331f in gst_pad_chain_data_unchecked
(pad=pad@entry=0x55c1625c0d00 [GstPad], type=type@entry=4112, data=data@entry=0x7f420c0c4360)
at ../gst/gstpad.c:4327
#7 0x00007f44004a5451 in gst_pad_push_data
(pad=pad@entry=0x55c1625c0ab0 [GstPad], type=type@entry=4112, data=data@entry=0x7f420c0c4360)
at ../gst/gstpad.c:4583
#8 0x00007f44004ac303 in gst_pad_push (pad=0x55c1625c0ab0 [GstPad], buffer=0x7f420c0c4360 [GstBuffer])
at ../gst/gstpad.c:4702
#9 0x00007f44005ad3c0 in gst_base_transform_chain
(pad=<optimized out>, parent=0x7f42040442e0 [GstCapsFilter], buffer=<optimized out>)
at ../libs/gst/base/gstbasetransform.c:2330
#10 0x00007f44004a331f in gst_pad_chain_data_unchecked
(pad=pad@entry=0x55c1625c0860 [GstPad], type=type@entry=4112, data=data@entry=0x7f420c0c4360)
at ../gst/gstpad.c:4327
#11 0x00007f44004a5451 in gst_pad_push_data
(pad=pad@entry=0x55c1625c0610 [GstPad], type=type@entry=4112, data=data@entry=0x7f420c0c4360)
at ../gst/gstpad.c:4583
#12 0x00007f44004ac303 in gst_pad_push (pad=0x55c1625c0610 [GstPad], buffer=buffer@entry=0x7f420c0c4360 [GstBuffer])
at ../gst/gstpad.c:4702
#13 0x00007f4400590c37 in gst_base_parse_push_frame
(parse=parse@entry=0x7f420403e060 [GstH264Parse], frame=frame@entry=0x7f41f4003770)
at ../libs/gst/base/gstbaseparse.c:2580
#14 0x00007f4400593a3b in gst_base_parse_handle_and_push_frame
(frame=0x7f41f4003770, parse=0x7f420403e060 [GstH264Parse]) at ../libs/gst/base/gstbaseparse.c:2394
#15 0x00007f4400593a3b in gst_base_parse_finish_frame
(parse=parse@entry=0x7f420403e060 [GstH264Parse], frame=frame@entry=0x7f41f4003770, size=<optimized out>)
at ../libs/gst/base/gstbaseparse.c:2738
#16 0x00007f423173c3df in gst_h264_parse_handle_frame_packetized
(frame=0x7f41f4003770, parse=0x7f420403e060 [GstH264Parse]) at ../gst/videoparsers/gsth264parse.c:1147
#17 0x00007f423173c3df in gst_h264_parse_handle_frame
(parse=0x7f420403e060 [GstH264Parse], frame=0x7f41f4003770, skipsize=<optimized out>)
at ../gst/videoparsers/gsth264parse.c:1193
#18 0x00007f440058b766 in gst_base_parse_handle_buffer
(parse=parse@entry=0x7f420403e060 [GstH264Parse], buffer=<optimized out>, skip=skip@entry=0x7f420bffe3a8, flushed=flushed@entry=0x7f420bffe3ac) at ../libs/gst/base/gstbaseparse.c:2202
#19 0x00007f44005918be in gst_base_parse_chain (pad=<optimized out>, parent=<optimized out>, buffer=<optimized out>)
at ../libs/gst/base/gstbaseparse.c:3287
#20 0x00007f44004a331f in gst_pad_chain_data_unchecked
(pad=pad@entry=0x55c1625c03c0 [GstPad], type=type@entry=4112, data=data@entry=0x55c1625b1120)
Note: this backtrace is similar to #1119 (closed), but different. I don't remember ever seeing the backtrace in #1119 (closed) before. But this one is very common.