vaapi: core dumped, free invalid pointer
gst-discoverer-1.0 core dump in vaapi decoder since MR !3695 (merged)
Also reproduced with gst-launch-1.0 -vf filesrc location=... ! h264parse | vaapih264dec ! fakesink
$ gst-discoverer-1.0 ~/Videos/bbb_sunflower_1080p_30fps_normal.h264
Analyzing file:///home/uaeoff/Videos/bbb_sunflower_1080p_30fps_normal.h264
free(): invalid pointer
Aborted (core dumped)
Several backtraces show it fails in different spots...
(gdb) bt
#0 0x00007ffff78a156c in __pthread_kill_implementation () at /lib64/libc.so.6
#1 0x00007ffff7854d76 in raise () at /lib64/libc.so.6
#2 0x00007ffff78287f3 in abort () at /lib64/libc.so.6
#3 0x00007ffff7829130 in _IO_peekc_locked.cold () at /lib64/libc.so.6
#4 0x00007ffff78ab637 in () at /lib64/libc.so.6
#5 0x00007ffff78aceec in _int_free () at /lib64/libc.so.6
#6 0x00007ffff78af975 in free () at /lib64/libc.so.6
#7 0x00007ffff7c54d2d in g_free () at /lib64/libglib-2.0.so.0
#8 0x00007ffff7b03b8e in _gst_video_codec_state_free (state=0x7fffdc7292a0) at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideoutils.c:178
#9 0x00007ffff7b03c8d in gst_video_codec_state_unref (state=0x7fffdc7292a0) at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideoutils.c:197
#10 0x00007fffe898ce1e in gst_vaapi_decode_input_state_replace (decode=0x7fffdc128510, new_state=0x7fffdc729150) at ../subprojects/gstreamer-vaapi/gst/vaapi/gstvaapidecode.c:173
#11 0x00007fffe898cbb4 in gst_vaapi_decoder_state_changed (decoder=0x7fffdc72a0c0, codec_state=0x7fffdc729150, user_data=0x7fffdc128510) at ../subprojects/gstreamer-vaapi/gst/vaapi/gstvaapidecode.c:135
#12 0x00007fffe89bb93d in notify_codec_state_changed (decoder=0x7fffdc72a0c0) at ../subprojects/gstreamer-vaapi/gst-libs/gst/vaapi/gstvaapidecoder.c:453
#13 0x00007fffe89bc4e6 in gst_vaapi_decoder_set_picture_size (decoder=0x7fffdc72a0c0, width=1920, height=1088) at ../subprojects/gstreamer-vaapi/gst-libs/gst/vaapi/gstvaapidecoder.c:860
#14 0x00007fffe89bc9c4 in gst_vaapi_decoder_ensure_context (decoder=0x7fffdc72a0c0, cip=0x7fffe9289cd0) at ../subprojects/gstreamer-vaapi/gst-libs/gst/vaapi/gstvaapidecoder.c:974
#15 0x00007fffe89c0702 in ensure_context (decoder=0x7fffdc72a0c0, sps=0x7fffdc76d450) at ../subprojects/gstreamer-vaapi/gst-libs/gst/vaapi/gstvaapidecoder_h264.c:1655
#16 0x00007fffe89c7b03 in decode_picture (decoder=0x7fffdc72a0c0, unit=0x7fffdc730700) at ../subprojects/gstreamer-vaapi/gst-libs/gst/vaapi/gstvaapidecoder_h264.c:4170
#17 0x00007fffe89c9889 in gst_vaapi_decoder_h264_start_frame (base_decoder=0x7fffdc72a0c0, unit=0x7fffdc730700) at ../subprojects/gstreamer-vaapi/gst-libs/gst/vaapi/gstvaapidecoder_h264.c:4875
#18 0x00007fffe89bb0ee in do_decode_1 (decoder=0x7fffdc72a0c0, frame=0x7fffdc224750) at ../subprojects/gstreamer-vaapi/gst-libs/gst/vaapi/gstvaapidecoder.c:249
#19 0x00007fffe89bb1fe in do_decode (decoder=0x7fffdc72a0c0, base_frame=0x7fffdc72e530) at ../subprojects/gstreamer-vaapi/gst-libs/gst/vaapi/gstvaapidecoder.c:287
#20 0x00007fffe89bcc4b in gst_vaapi_decoder_decode (decoder=0x7fffdc72a0c0, frame=0x7fffdc72e530) at ../subprojects/gstreamer-vaapi/gst-libs/gst/vaapi/gstvaapidecoder.c:1026
#21 0x00007fffe898e8cb in gst_vaapidecode_handle_frame (vdec=0x7fffdc128510, frame=0x7fffdc72e530) at ../subprojects/gstreamer-vaapi/gst/vaapi/gstvaapidecode.c:757
#22 0x00007ffff7aecd44 in gst_video_decoder_decode_frame (decoder=0x7fffdc128510, frame=0x7fffdc72e530) at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideodecoder.c:4001
#23 0x00007ffff7aec4c4 in gst_video_decoder_have_frame (decoder=0x7fffdc128510) at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideodecoder.c:3893
#24 0x00007fffe898f947 in gst_vaapidecode_parse_frame (vdec=0x7fffdc128510, frame=0x7fffdc72e530, adapter=0x5dcc60, at_eos=0) at ../subprojects/gstreamer-vaapi/gst/vaapi/gstvaapidecode.c:1179
#25 0x00007fffe898fb03 in gst_vaapidecode_parse (vdec=0x7fffdc128510, frame=0x7fffdc72e530, adapter=0x5dcc60, at_eos=0) at ../subprojects/gstreamer-vaapi/gst/vaapi/gstvaapidecode.c:1216
#26 0x00007ffff7adece4 in gst_video_decoder_parse_available (dec=0x7fffdc128510, at_eos=0, new_buffer=0) at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideodecoder.c:1145
#27 0x00007ffff7ae3f92 in gst_video_decoder_chain_forward (decoder=0x7fffdc128510, buf=0x7fffdc724800, at_eos=0) at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideodecoder.c:2500
#28 0x00007ffff7ae615d in gst_video_decoder_chain (pad=0x5e5330, parent=0x7fffdc128510, buf=0x7fffdc724800) at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideodecoder.c:2825
#29 0x00007ffff7e9e64f in gst_pad_chain_data_unchecked (pad=0x5e5330, type=4112, data=0x7fffdc724800) at ../subprojects/gstreamer/gst/gstpad.c:4463
#30 0x00007ffff7e9f7e7 in gst_pad_push_data (pad=0x5f5350, type=4112, data=0x7fffdc724800) at ../subprojects/gstreamer/gst/gstpad.c:4739
#31 0x00007ffff7e9ff6e in gst_pad_push (pad=0x5f5350, buffer=0x7fffdc724800) at ../subprojects/gstreamer/gst/gstpad.c:4858
#32 0x00007ffff7e79ab3 in gst_proxy_pad_chain_default (pad=0x5eea20, parent=0x7fffdc225070, buffer=0x7fffdc724800) at ../subprojects/gstreamer/gst/gstghostpad.c:127
#33 0x00007ffff7e9e64f in gst_pad_chain_data_unchecked (pad=0x5eea20, type=4112, data=0x7fffdc724800) at ../subprojects/gstreamer/gst/gstpad.c:4463
#34 0x00007ffff7e9f7e7 in gst_pad_push_data (pad=0x5e50e0, type=4112, data=0x7fffdc724800) at ../subprojects/gstreamer/gst/gstpad.c:4739
#35 0x00007ffff7e9ff6e in gst_pad_push (pad=0x5e50e0, buffer=0x7fffdc724800) at ../subprojects/gstreamer/gst/gstpad.c:4858
#36 0x00007ffff77c9348 in gst_base_transform_chain (pad=0x5e4e90, parent=0x7fffe4050330, buffer=0x7fffdc724800) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:2391
#37 0x00007ffff7e9e64f in gst_pad_chain_data_unchecked (pad=0x5e4e90, type=4112, data=0x7fffdc724800) at ../subprojects/gstreamer/gst/gstpad.c:4463
#38 0x00007ffff7e9f7e7 in gst_pad_push_data (pad=0x5e4c40, type=4112, data=0x7fffdc724800) at ../subprojects/gstreamer/gst/gstpad.c:4739
#39 0x00007ffff7e9ff6e in gst_pad_push (pad=0x5e4c40, buffer=0x7fffdc724800) at ../subprojects/gstreamer/gst/gstpad.c:4858
#40 0x00007ffff7792cc3 in gst_base_parse_push_frame (parse=0x7fffe404ab10, frame=0x7fffdc014070) at ../subprojects/gstreamer/libs/gst/base/gstbaseparse.c:2607
#41 0x00007ffff7792098 in gst_base_parse_handle_and_push_frame (parse=0x7fffe404ab10, frame=0x7fffdc014070) at ../subprojects/gstreamer/libs/gst/base/gstbaseparse.c:2458
#42 0x00007ffff77935ad in gst_base_parse_finish_frame (parse=0x7fffe404ab10, frame=0x7fffdc014070, size=453) at ../subprojects/gstreamer/libs/gst/base/gstbaseparse.c:2765
#43 0x00007fffe933df46 in gst_h264_parse_handle_frame (parse=0x7fffe404ab10, frame=0x7fffdc014070, skipsize=0x7fffe928acd0) at ../subprojects/gst-plugins-bad/gst/videoparsers/gsth264parse.c:1585
#44 0x00007ffff77912c9 in gst_base_parse_handle_buffer (parse=0x7fffe404ab10, buffer=0x7fffdc011c50, skip=0x7fffe928acd0, flushed=0x7fffe928acd4) at ../subprojects/gstreamer/libs/gst/base/gstbaseparse.c:2266
#45 0x00007ffff7796f7f in gst_base_parse_scan_frame (parse=0x7fffe404ab10, klass=0x7fffe40481f0) at ../subprojects/gstreamer/libs/gst/base/gstbaseparse.c:3546
#46 0x00007ffff7797312 in gst_base_parse_loop (pad=0x5e49f0) at ../subprojects/gstreamer/libs/gst/base/gstbaseparse.c:3626
#47 0x00007ffff7ee1481 in gst_task_func (task=0x5dc830) at ../subprojects/gstreamer/gst/gsttask.c:384
#48 0x00007ffff7ee2870 in default_func (tdata=0x7fffe4053400, pool=0x5ecca0) at ../subprojects/gstreamer/gst/gsttaskpool.c:70
#49 0x00007ffff7c80094 in g_thread_pool_thread_proxy.lto_priv () at /lib64/libglib-2.0.so.0
#50 0x00007ffff7c7d7c2 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#51 0x00007ffff789f822 in start_thread () at /lib64/libc.so.6
#52 0x00007ffff783f450 in clone3 () at /lib64/libc.so.6
...sometimes here, too:
#0 0x00007ffff78a156c in __pthread_kill_implementation () at /lib64/libc.so.6
#1 0x00007ffff7854d76 in raise () at /lib64/libc.so.6
#2 0x00007ffff78287f3 in abort () at /lib64/libc.so.6
#3 0x00007ffff7829130 in _IO_peekc_locked.cold () at /lib64/libc.so.6
#4 0x00007ffff78ab637 in () at /lib64/libc.so.6
#5 0x00007ffff78aceec in _int_free () at /lib64/libc.so.6
#6 0x00007ffff78af975 in free () at /lib64/libc.so.6
#7 0x00007ffff7c54d2d in g_free () at /lib64/libglib-2.0.so.0
#8 0x00007ffff7b03b8e in _gst_video_codec_state_free (state=0x7fffdc729150) at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideoutils.c:178
#9 0x00007ffff7b03c8d in gst_video_codec_state_unref (state=0x7fffdc729150) at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideoutils.c:197
#10 0x00007fffe89bb97a in gst_vaapi_decoder_finalize (object=0x7fffdc72a400) at ../subprojects/gstreamer-vaapi/gst-libs/gst/vaapi/gstvaapidecoder.c:462
#11 0x00007fffe89c992d in gst_vaapi_decoder_h264_finalize (object=0x7fffdc72a400) at ../subprojects/gstreamer-vaapi/gst-libs/gst/vaapi/gstvaapidecoder_h264.c:4903
#12 0x00007ffff7bc2c48 in g_object_unref () at /lib64/libgobject-2.0.so.0
#13 0x00007ffff7e30726 in gst_object_unref (object=0x7fffdc72a400) at ../subprojects/gstreamer/gst/gstobject.c:267
#14 0x00007ffff7e30a33 in gst_object_replace (oldobj=0x7fffdc227fa8, newobj=0x0) at ../subprojects/gstreamer/gst/gstobject.c:368
#15 0x00007fffe89bbf4f in gst_vaapi_decoder_replace (old_decoder_ptr=0x7fffdc227fa8, new_decoder=0x0) at ../subprojects/gstreamer-vaapi/gst-libs/gst/vaapi/gstvaapidecoder.c:596
#16 0x00007fffe898f6bc in gst_vaapidecode_stop (vdec=0x7fffdc227ba0) at ../subprojects/gstreamer-vaapi/gst/vaapi/gstvaapidecode.c:1117
#17 0x00007ffff7ae6483 in gst_video_decoder_change_state (element=0x7fffdc227ba0, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideodecoder.c:2878
#18 0x00007ffff7e6e74f in gst_element_change_state (element=0x7fffdc227ba0, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../subprojects/gstreamer/gst/gstelement.c:3093
#19 0x00007ffff7e6e4d7 in gst_element_set_state_func (element=0x7fffdc227ba0, state=GST_STATE_READY) at ../subprojects/gstreamer/gst/gstelement.c:3047
#20 0x00007ffff7e6e0c2 in gst_element_set_state (element=0x7fffdc227ba0, state=GST_STATE_READY) at ../subprojects/gstreamer/gst/gstelement.c:2948
#21 0x00007ffff7e3af43 in gst_bin_element_set_state (bin=0x7fffdc17d070, element=0x7fffdc227ba0, base_time=0, start_time=0, current=GST_STATE_PAUSED, next=GST_STATE_READY) at ../subprojects/gstreamer/gst/gstbin.c:2581
#22 0x00007ffff7e3c5f0 in gst_bin_change_state_func (element=0x7fffdc17d070, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../subprojects/gstreamer/gst/gstbin.c:2930
#23 0x00007fffe89a9c7f in gst_vaapi_decode_bin_change_state (element=0x7fffdc17d070, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../subprojects/gstreamer-vaapi/gst/vaapi/gstvaapidecodebin.c:218
#24 0x00007ffff7e6e74f in gst_element_change_state (element=0x7fffdc17d070, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../subprojects/gstreamer/gst/gstelement.c:3093
#25 0x00007ffff7e6e4d7 in gst_element_set_state_func (element=0x7fffdc17d070, state=GST_STATE_READY) at ../subprojects/gstreamer/gst/gstelement.c:3047
#26 0x00007ffff7e6e0c2 in gst_element_set_state (element=0x7fffdc17d070, state=GST_STATE_READY) at ../subprojects/gstreamer/gst/gstelement.c:2948
#27 0x00007ffff7e3af43 in gst_bin_element_set_state (bin=0x5e60c0, element=0x7fffdc17d070, base_time=0, start_time=0, current=GST_STATE_PAUSED, next=GST_STATE_READY) at ../subprojects/gstreamer/gst/gstbin.c:2581
#28 0x00007ffff7e3c5f0 in gst_bin_change_state_func (element=0x5e60c0, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../subprojects/gstreamer/gst/gstbin.c:2930
#29 0x00007fffe9f66aa4 in gst_decode_bin_change_state (element=0x5e60c0, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../subprojects/gst-plugins-base/gst/playback/gstdecodebin2.c:5468
#30 0x00007ffff7e6e74f in gst_element_change_state (element=0x5e60c0, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../subprojects/gstreamer/gst/gstelement.c:3093
#31 0x00007ffff7e6e4d7 in gst_element_set_state_func (element=0x5e60c0, state=GST_STATE_READY) at ../subprojects/gstreamer/gst/gstelement.c:3047
#32 0x00007ffff7e6e0c2 in gst_element_set_state (element=0x5e60c0, state=GST_STATE_READY) at ../subprojects/gstreamer/gst/gstelement.c:2948
#33 0x00007ffff7e3af43 in gst_bin_element_set_state (bin=0x5ee030, element=0x5e60c0, base_time=0, start_time=0, current=GST_STATE_PAUSED, next=GST_STATE_READY) at ../subprojects/gstreamer/gst/gstbin.c:2581
#34 0x00007ffff7e3c5f0 in gst_bin_change_state_func (element=0x5ee030, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../subprojects/gstreamer/gst/gstbin.c:2930
#35 0x00007fffe9f7f339 in gst_uri_decode_bin_change_state (element=0x5ee030, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../subprojects/gst-plugins-base/gst/playback/gsturidecodebin.c:2903
#36 0x00007ffff7e6e74f in gst_element_change_state (element=0x5ee030, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../subprojects/gstreamer/gst/gstelement.c:3093
#37 0x00007ffff7e6e4d7 in gst_element_set_state_func (element=0x5ee030, state=GST_STATE_READY) at ../subprojects/gstreamer/gst/gstelement.c:3047
#38 0x00007ffff7e6e0c2 in gst_element_set_state (element=0x5ee030, state=GST_STATE_READY) at ../subprojects/gstreamer/gst/gstelement.c:2948
#39 0x00007ffff7e3af43 in gst_bin_element_set_state (bin=0x5de1b0, element=0x5ee030, base_time=0, start_time=0, current=GST_STATE_PAUSED, next=GST_STATE_READY) at ../subprojects/gstreamer/gst/gstbin.c:2581
#40 0x00007ffff7e3c5f0 in gst_bin_change_state_func (element=0x5de1b0, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../subprojects/gstreamer/gst/gstbin.c:2930
#41 0x00007ffff7ea93cc in gst_pipeline_change_state (element=0x5de1b0, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../subprojects/gstreamer/gst/gstpipeline.c:529
#42 0x00007ffff7e6e74f in gst_element_change_state (element=0x5de1b0, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../subprojects/gstreamer/gst/gstelement.c:3093
#43 0x00007ffff7e6e4d7 in gst_element_set_state_func (element=0x5de1b0, state=GST_STATE_READY) at ../subprojects/gstreamer/gst/gstelement.c:3047
#44 0x00007ffff7e6e0c2 in gst_element_set_state (element=0x5de1b0, state=GST_STATE_READY) at ../subprojects/gstreamer/gst/gstelement.c:2948
#45 0x00007ffff7fa3971 in discoverer_cleanup (dc=0x5dc0e0) at ../subprojects/gst-plugins-base/gst-libs/gst/pbutils/gstdiscoverer.c:1928
#46 0x00007ffff7fa5d16 in gst_discoverer_discover_uri (discoverer=0x5dc0e0, uri=0x5f0a40 "file:///home/uaeoff/Videos/bbb_sunflower_1080p_30fps_normal.h264", err=0x7fffffffd260) at ../subprojects/gst-plugins-base/gst-libs/gst/pbutils/gstdiscoverer.c:2601
#47 0x0000000000405362 in process_file (dc=0x5dc0e0, filename=0x7fffffffda2f "/home/uaeoff/Videos/bbb_sunflower_1080p_30fps_normal.h264") at ../subprojects/gst-plugins-base/tools/gst-discoverer.c:605
#48 0x000000000040578d in real_main (argc=2, argv=0x7fffffffd598) at ../subprojects/gst-plugins-base/tools/gst-discoverer.c:709
#49 0x00000000004058be in main (argc=2, argv=0x7fffffffd598) at ../subprojects/gst-plugins-base/tools/gst-discoverer.c:744