Bug 205777 - [GStreamer] mediastreamsrc ref sinked triggers critical warning in gst 1.17
Summary: [GStreamer] mediastreamsrc ref sinked triggers critical warning in gst 1.17
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Philippe Normand
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-01-05 10:04 PST by Philippe Normand
Modified: 2020-01-07 01:43 PST (History)
11 users (show)

See Also:


Attachments
workaround (1.40 KB, patch)
2020-01-05 10:06 PST, Philippe Normand
no flags Details | Formatted Diff | Diff
Patch (2.47 KB, patch)
2020-01-06 10:10 PST, Philippe Normand
no flags Details | Formatted Diff | Diff
Patch (2.47 KB, patch)
2020-01-06 10:11 PST, Philippe Normand
cgarcia: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Philippe Normand 2020-01-05 10:04:57 PST
(WebKitWebProcess:3252723): GStreamer-CRITICAL **: 18:02:42.388: The created element should be floating, this is probably caused by faulty bindings

gdb) bt
#0  0x00007f40fdc12e25 in _g_log_abort (breakpoint=1) at ../../../glib/gmessages.c:554
#1  0x00007f40fdc140e9 in g_logv (log_domain=0x7f40fe719cc0 <g_log_domain_gstreamer> "GStreamer", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=args@entry=0x7fffdb14ace0)
    at ../../../glib/gmessages.c:1373
#2  0x00007f40fdc142af in g_log (log_domain=<optimized out>, log_level=<optimized out>, format=<optimized out>) at ../../../glib/gmessages.c:1415
#3  0x00007f40fe67bfb6 in gst_element_factory_create (factory=0x5618e346bd70 [GstElementFactory], name=0x7f27845e3f37 "source") at ../subprojects/gstreamer/gst/gstelementfactory.c:393
#4  0x00007f40fe6ea779 in gst_element_make_from_uri (type=GST_URI_SRC, uri=0x5618e3705870 "mediastream://4b4dd861-8f24-43c4-8376-b8fd1d34bd9a", elementname=0x7f27845e3f37 "source", error=0x7fffdb14aea8)
    at ../subprojects/gstreamer/gst/gsturi.c:660
#5  0x00007f2784589af4 in gen_source_element (urisrc=0x5618e3679d30 [GstURISourceBin]) at ../subprojects/gst-plugins-base/gst/playback/gsturisourcebin.c:1425
#6  0x00007f278458c63f in setup_source (urisrc=0x5618e3679d30 [GstURISourceBin]) at ../subprojects/gst-plugins-base/gst/playback/gsturisourcebin.c:2135
#7  0x00007f278458eb23 in gst_uri_source_bin_change_state (element=0x5618e3679d30 [GstURISourceBin], transition=GST_STATE_CHANGE_READY_TO_PAUSED)
    at ../subprojects/gst-plugins-base/gst/playback/gsturisourcebin.c:2813
#8  0x00007f40fe678ffa in gst_element_change_state (element=0x5618e3679d30 [GstURISourceBin], transition=GST_STATE_CHANGE_READY_TO_PAUSED) at ../subprojects/gstreamer/gst/gstelement.c:3033
#9  0x00007f40fe678545 in gst_element_continue_state (element=0x5618e3679d30 [GstURISourceBin], ret=GST_STATE_CHANGE_SUCCESS) at ../subprojects/gstreamer/gst/gstelement.c:2741
#10 0x00007f40fe679324 in gst_element_change_state (element=0x5618e3679d30 [GstURISourceBin], transition=GST_STATE_CHANGE_NULL_TO_READY) at ../subprojects/gstreamer/gst/gstelement.c:3072
#11 0x00007f40fe678d88 in gst_element_set_state_func (element=0x5618e3679d30 [GstURISourceBin], state=GST_STATE_PAUSED) at ../subprojects/gstreamer/gst/gstelement.c:2987
#12 0x00007f40fe678984 in gst_element_set_state (element=0x5618e3679d30 [GstURISourceBin], state=GST_STATE_PAUSED) at ../subprojects/gstreamer/gst/gstelement.c:2888
#13 0x00007f40fe647f9f in gst_bin_element_set_state (bin=0x5618e3679870 [GstURIDecodeBin3], element=0x5618e3679d30 [GstURISourceBin], base_time=0, start_time=0, current=GST_STATE_READY, next=GST_STATE_PAUSED)
    at ../subprojects/gstreamer/gst/gstbin.c:2602
#14 0x00007f40fe649594 in gst_bin_change_state_func (element=0x5618e3679870 [GstURIDecodeBin3], transition=GST_STATE_CHANGE_READY_TO_PAUSED) at ../subprojects/gstreamer/gst/gstbin.c:2944
#15 0x00007f27845861f1 in gst_uri_decode_bin3_change_state (element=0x5618e3679870 [GstURIDecodeBin3], transition=GST_STATE_CHANGE_READY_TO_PAUSED)
    at ../subprojects/gst-plugins-base/gst/playback/gsturidecodebin3.c:1050
#16 0x00007f40fe678ffa in gst_element_change_state (element=0x5618e3679870 [GstURIDecodeBin3], transition=GST_STATE_CHANGE_READY_TO_PAUSED) at ../subprojects/gstreamer/gst/gstelement.c:3033
#17 0x00007f40fe678545 in gst_element_continue_state (element=0x5618e3679870 [GstURIDecodeBin3], ret=GST_STATE_CHANGE_SUCCESS) at ../subprojects/gstreamer/gst/gstelement.c:2741
#18 0x00007f40fe679324 in gst_element_change_state (element=0x5618e3679870 [GstURIDecodeBin3], transition=GST_STATE_CHANGE_NULL_TO_READY) at ../subprojects/gstreamer/gst/gstelement.c:3072
#19 0x00007f40fe678d88 in gst_element_set_state_func (element=0x5618e3679870 [GstURIDecodeBin3], state=GST_STATE_PAUSED) at ../subprojects/gstreamer/gst/gstelement.c:2987
#20 0x00007f40fe678984 in gst_element_set_state (element=0x5618e3679870 [GstURIDecodeBin3], state=GST_STATE_PAUSED) at ../subprojects/gstreamer/gst/gstelement.c:2888
#21 0x00007f27845b449c in activate_group (playbin=0x5618e3625660 [GstPlayBin3], group=0x5618e36258d0) at ../subprojects/gst-plugins-base/gst/playback/gstplaybin3.c:4537
#22 0x00007f27845b4fc7 in setup_next_source (playbin=0x5618e3625660 [GstPlayBin3]) at ../subprojects/gst-plugins-base/gst/playback/gstplaybin3.c:4727
#23 0x00007f27845b5f85 in gst_play_bin3_change_state (element=0x5618e3625660 [GstPlayBin3], transition=GST_STATE_CHANGE_READY_TO_PAUSED) at ../subprojects/gst-plugins-base/gst/playback/gstplaybin3.c:4952
#24 0x00007f40fe678ffa in gst_element_change_state (element=0x5618e3625660 [GstPlayBin3], transition=GST_STATE_CHANGE_READY_TO_PAUSED) at ../subprojects/gstreamer/gst/gstelement.c:3033
#25 0x00007f40fe678545 in gst_element_continue_state (element=0x5618e3625660 [GstPlayBin3], ret=GST_STATE_CHANGE_SUCCESS) at ../subprojects/gstreamer/gst/gstelement.c:2741
#26 0x00007f40fe679324 in gst_element_change_state (element=0x5618e3625660 [GstPlayBin3], transition=GST_STATE_CHANGE_NULL_TO_READY) at ../subprojects/gstreamer/gst/gstelement.c:3072
#27 0x00007f40fe678d88 in gst_element_set_state_func (element=0x5618e3625660 [GstPlayBin3], state=GST_STATE_PAUSED) at ../subprojects/gstreamer/gst/gstelement.c:2987
#28 0x00007f40fe678984 in gst_element_set_state (element=0x5618e3625660 [GstPlayBin3], state=GST_STATE_PAUSED) at ../subprojects/gstreamer/gst/gstelement.c:2888
#29 0x00007f4105982e88 in _ZN7WebCore27MediaPlayerPrivateGStreamer19changePipelineStateE8GstState () at /home/phil/WebKit/build-GTK-Release/lib/libwebkit2gtk-4.0.so.37
#30 0x00007f4105987f78 in _ZN7WebCore27MediaPlayerPrivateGStreamer10commitLoadEv () at /home/phil/WebKit/build-GTK-Release/lib/libwebkit2gtk-4.0.so.37
#31 0x00007f410599786c in _ZN7WebCore27MediaPlayerPrivateGStreamer8loadFullERKN3WTF6StringES4_ () at /home/phil/WebKit/build-GTK-Release/lib/libwebkit2gtk-4.0.so.37
#32 0x00007f4105997b31 in _ZN7WebCore27MediaPlayerPrivateGStreamer4loadERNS_18MediaStreamPrivateE () at /home/phil/WebKit/build-GTK-Release/lib/libwebkit2gtk-4.0.so.37
#33 0x00007f410533d173 in _ZN7WebCore11MediaPlayer23loadWithNextMediaEngineEPKNS_18MediaPlayerFactoryE () at /home/phil/WebKit/build-GTK-Release/lib/libwebkit2gtk-4.0.so.37
#34 0x00007f410534621d in _ZN7WebCore11MediaPlayer4loadERNS_18MediaStreamPrivateE () at /home/phil/WebKit/build-GTK-Release/lib/libwebkit2gtk-4.0.so.37
#35 0x00007f4104ed8787 in _ZN7WebCore16HTMLMediaElement12loadResourceERKN3WTF3URLERNS_11ContentTypeERKNS1_6StringE () at /home/phil/WebKit/build-GTK-Release/lib/libwebkit2gtk-4.0.so.37
#36 0x00007f4104ed9837 in _ZN3WTF6Detail15CallableWrapperIZN7WebCore16HTMLMediaElement19selectMediaResourceEvEUlvE_vJEE4callEv () at /home/phil/WebKit/build-GTK-Release/lib/libwebkit2gtk-4.0.so.37
#37 0x00007f41048edf84 in _ZN3WTF6Detail15CallableWrapperIZN7WebCore16GenericTaskQueueINS2_5TimerEE11enqueueTaskEONS_8FunctionIFvvEEEEUlvE_vJEE4callEv ()
    at /home/phil/WebKit/build-GTK-Release/lib/libwebkit2gtk-4.0.so.37
#38 0x00007f410528f81c in _ZN7WebCore14TaskDispatcherINS_5TimerEE15dispatchOneTaskEv () at /home/phil/WebKit/build-GTK-Release/lib/libwebkit2gtk-4.0.so.37
#39 0x00007f410528f98d in _ZN7WebCore14TaskDispatcherINS_5TimerEE16sharedTimerFiredEv () at /home/phil/WebKit/build-GTK-Release/lib/libwebkit2gtk-4.0.so.37
#40 0x00007f410528fa39 in _ZN3WTF6Detail15CallableWrapperIZN7WebCore14TaskDispatcherINS2_5TimerEE11sharedTimerEvEUlvE_vJEE4callEv () at /home/phil/WebKit/build-GTK-Release/lib/libwebkit2gtk-4.0.so.37
#41 0x00007f4103de7afe in _ZN7WebCore5Timer5firedEv () at /home/phil/WebKit/build-GTK-Release/lib/libwebkit2gtk-4.0.so.37
#42 0x00007f41052bdcda in _ZN7WebCore12ThreadTimers24sharedTimerFiredInternalEv () at /home/phil/WebKit/build-GTK-Release/lib/libwebkit2gtk-4.0.so.37
#43 0x00007f41052bdd82 in _ZN3WTF6Detail15CallableWrapperIZN7WebCore12ThreadTimers14setSharedTimerEPNS2_11SharedTimerEEUlvE_vJEE4callEv () at /home/phil/WebKit/build-GTK-Release/lib/libwebkit2gtk-4.0.so.37
#44 0x00007f410529de4e in _ZN7WebCore21MainThreadSharedTimer5firedEv () at /home/phil/WebKit/build-GTK-Release/lib/libwebkit2gtk-4.0.so.37
#45 0x00007f41052a9b82 in _ZN3WTF7RunLoop5TimerIN7WebCore21MainThreadSharedTimerEE5firedEv () at /home/phil/WebKit/build-GTK-Release/lib/libwebkit2gtk-4.0.so.37
#46 0x00007f4101e3b8f4 in _ZZN3WTF7RunLoop9TimerBaseC4ERS0_ENUlPvE_4_FUNES3_ () at /home/phil/WebKit/build-GTK-Release/lib/libjavascriptcoregtk-4.0.so.18
#47 0x00007f4101e3b22b in _ZN3WTFUlP8_GSourcePFiPvES2_E_4_FUNES1_S4_S2_ () at /home/phil/WebKit/build-GTK-Release/lib/libjavascriptcoregtk-4.0.so.18
--Type <RET> for more, q to quit, c to continue without paging--
#48 0x00007f40fdc0cdee in g_main_dispatch (context=0x5618e2153120) at ../../../glib/gmain.c:3179
#49 0x00007f40fdc0cdee in g_main_context_dispatch (context=context@entry=0x5618e2153120) at ../../../glib/gmain.c:3844
#50 0x00007f40fdc0d1a0 in g_main_context_iterate (context=0x5618e2153120, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:3917
#51 0x00007f40fdc0d473 in g_main_loop_run (loop=0x5618e231f130) at ../../../glib/gmain.c:4111
#52 0x00007f4101e3bd10 in _ZN3WTF7RunLoop3runEv () at /home/phil/WebKit/build-GTK-Release/lib/libjavascriptcoregtk-4.0.so.18
#53 0x00007f41042a7e86 in WebProcessMainUnix () at /home/phil/WebKit/build-GTK-Release/lib/libwebkit2gtk-4.0.so.37
#54 0x00005618e087aeae in main ()
Comment 1 Philippe Normand 2020-01-05 10:06:16 PST
Created attachment 386793 [details]
workaround

With this patch we avoid the warning... WDYT Thibault?
Comment 2 Thibault Saunier 2020-01-06 04:38:14 PST
Comment on attachment 386793 [details]
workaround

I am fine with that yes. informal r+

fwiw this warning is not critical in latest GStreamer master, this was too much.
Comment 3 Philippe Normand 2020-01-06 07:59:20 PST
(In reply to Thibault Saunier from comment #2)
> Comment on attachment 386793 [details]
> workaround
> 
> I am fine with that yes. informal r+
> 
> fwiw this warning is not critical in latest GStreamer master, this was too
> much.

Hum? Current state is, it *is* critical :)
https://gitlab.freedesktop.org/gstreamer/gstreamer/commit/e79def14a5c47ef7c3660e17fd183d25dc82ae3f
Comment 4 Thibault Saunier 2020-01-06 09:35:49 PST
(In reply to Philippe Normand from comment #3)
> (In reply to Thibault Saunier from comment #2)
> > Comment on attachment 386793 [details]
> > workaround
> > 
> > I am fine with that yes. informal r+
> > 
> > fwiw this warning is not critical in latest GStreamer master, this was too
> > much.
> 
> Hum? Current state is, it *is* critical :)
> https://gitlab.freedesktop.org/gstreamer/gstreamer/commit/
> e79def14a5c47ef7c3660e17fd183d25dc82ae3f

Ah, I misremebered we had relaxed from critical to warning, but it was from assert to critical, sorry for the noise :-)

Let's get that in I guess then.
Comment 5 Philippe Normand 2020-01-06 10:10:19 PST
Created attachment 386857 [details]
Patch
Comment 6 Philippe Normand 2020-01-06 10:11:03 PST
Created attachment 386858 [details]
Patch
Comment 7 Philippe Normand 2020-01-07 01:43:44 PST
Committed r254116: <https://trac.webkit.org/changeset/254116>