GNOME Bugzilla – Bug 795981
playbin3: Segfault when adaptivedemux usecase
Last modified: 2018-05-10 07:17:09 UTC
When adaptviedemux is used with playbin3, segfault is reported randomly. With valgrind, I guess custom-eos handling in urisourcebin might cause issue (not sure). Can reproduce with this command USE_PLAYBIN3=1 G_SLICE=always-malloc valgrind --tool=memcheck --leak-check=full --trace-children=yes --show-possibly-lost=no --leak-resolution=high gst-play-1.0 http://vm2.dashif.org/livesim-dev/testpic2_2s/Manifest.mpd
Created attachment 371862 [details] [review] urisourcebin: Do not modify structure of EOS event This patch can fix the issue, but still not sure the root cause.
Created attachment 371863 [details] [review] decodebin3: Do not modify structure of EOS event
Do you have a log/backtrace of the failure ?
I have no objection to using qdata for this btw.
Created attachment 371877 [details] error log command: GST_DEBUG_NO_COLOR=1 GST_DEBUG_FILE=gst.log GST_DEBUG=urisourcebin:6,decodebin3:6,adaptivedemux:6 USE_PLAYBIN3=1 gst-play-1.0 http://vm2.dashif.org/livesim-dev/testpic2_2s/Manifest.mpd Error seems to observed with 'q' (meaning exit), since custom-eos events are broken. Also, although there might no fault, this error message is shown always (gst-play-1.0:19229): GStreamer-CRITICAL **: _gst_event_free: assertion 'GST_IS_EVENT (event)' failed or (gst-play-1.0:19125): GStreamer-CRITICAL **: gst_mini_object_unref: assertion 'GST_MINI_OBJECT_REFCOUNT_VALUE (mini_object) > 0' failed
Confirmed here also. For some reason I'm seeing an eos event appear in the log ... without a constructor
This is definitely an issue in the probe handlers. The contents of the pad probe data *can* be replaced but can only be unreferenced (which happens when doing gst_event_make_writable()) if we return GST_PAD_PROBE_HANDLED. So either we use qdata, or we don't remove the reference (and instead blindly copy it). Marking this as a blocker, the issue is also in 1.14.
commit 3678866474f54fa36e4e9e9168a493737899d15f (HEAD -> master, origin/master, origin/HEAD) Author: Seungha Yang <seungha.yang@navercorp.com> Date: Thu May 10 01:54:36 2018 +0900 decodebin3: Do not modify structure of EOS event https://bugzilla.gnome.org/show_bug.cgi?id=795981 commit 4567fcc64c4fd96c4de010b2a82eca80320e2972 Author: Seungha Yang <seungha.yang@navercorp.com> Date: Thu May 10 01:33:55 2018 +0900 urisourcebin: Do not modify structure of EOS event https://bugzilla.gnome.org/show_bug.cgi?id=795981