RESOLVED FIXED 184581
[GTK][GStreamer] Tests crashing since playbin3 was added
https://bugs.webkit.org/show_bug.cgi?id=184581
Summary [GTK][GStreamer] Tests crashing since playbin3 was added
Claudio Saavedra
Reported 2018-04-13 03:06:22 PDT
These tests started crashing with r230540. They were already failing but now they crash. http/tests/media/hls/hls-audio-tracks-locale-selection.html http/tests/media/hls/hls-progress.html http/tests/media/hls/video-controller-getStartDate.html
Attachments
[GStreamer] Never call updateTracks if running on legacy pipeline (5.58 KB, patch)
2018-05-09 13:52 PDT, Thibault Saunier
no flags
[GStreamer] Never call updateTracks if running on legacy pipeline (4.97 KB, patch)
2018-05-09 14:18 PDT, Thibault Saunier
no flags
Claudio Saavedra
Comment 1 2018-04-13 03:12:44 PDT
Maybe this can help (pretty much the same for all three): Thread 1 (Thread 0x7f6f38332ac0 (LWP 7836)): #0 _g_log_abort () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/gmessages.c:554 #1 0x00007f6f3fcf4415 in g_logv () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/gmessages.c:1362 #2 0x00007f6f3fcf4562 in g_log () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/gmessages.c:1403 #3 0x00007f6f47fd3a17 in _ZN7WebCore25TrackPrivateBaseGStreamer10disconnectEv () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #4 0x00007f6f47fd3ad7 in _ZN7WebCore25TrackPrivateBaseGStreamerD2Ev () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #5 0x00007f6f47fd2059 in _ZN7WebCore26AudioTrackPrivateGStreamerD0Ev () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #6 0x00007f6f47df2bf3 in _ZN7WebCore10AudioTrackD2Ev () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #7 0x00007f6f47df2cb9 in _ZN7WebCore10AudioTrackD0Ev () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #8 0x00007f6f47dfddef in _ZN7WebCore10TrackEventD2Ev () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #9 0x00007f6f47dfde09 in _ZN7WebCore10TrackEventD0Ev () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #10 0x00007f6f4734e5fa in _ZN7WebCore17GenericEventQueue16dispatchOneEventEv () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #11 0x00007f6f477f778c in _ZN7WebCore14TaskDispatcherINS_5TimerEE15dispatchOneTaskEv () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #12 0x00007f6f477f7897 in _ZN7WebCore14TaskDispatcherINS_5TimerEE16sharedTimerFiredEv () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #13 0x00007f6f4782318a in _ZN7WebCore12ThreadTimers24sharedTimerFiredInternalEv () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #14 0x00007f6f4468a793 in _ZZN3WTF7RunLoop9TimerBaseC4ERS0_ENUlPvE_4_FUNES3_ () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18 #15 0x00007f6f3fced81a in g_main_dispatch () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/gmain.c:3148 #16 g_main_context_dispatch () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/gmain.c:3813 #17 0x00007f6f3fcedba8 in g_main_context_iterate () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/gmain.c:3886 #18 0x00007f6f3fcedec2 in g_main_loop_run () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/gmain.c:4082 #19 0x00007f6f4468abb0 in _ZN3WTF7RunLoop3runEv () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18 #20 0x00007f6f46ada7c2 in _ZN6WebKit16ChildProcessMainINS_10WebProcessENS_14WebProcessMainEEEiiPPc () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #21 0x00007f6f3dd2c2b1 in __libc_start_main (main=0x7f6f497e7cb0 <main>, argc=3, argv=0x7fff0fe8df38, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff0fe8df28) at ../csu/libc-start.c:291 #22 0x00007f6f497e7d3a in _start () STDERR: STDERR: warning: core file may not match specified executable file. STDERR: STDERR: (WebKitWebProcess:7836): GStreamer-CRITICAL **: gst_object_unref: assertion '((GObject *) object)->ref_count > 0' failed
Philippe Normand
Comment 2 2018-04-13 03:28:16 PDT
Strange though, playbin3 isn't enabled unless the USE_PLAYBIN3 env var is set.
Thibault Saunier
Comment 3 2018-04-13 04:55:39 PDT
(In reply to Philippe Normand from comment #2) > Strange though, playbin3 isn't enabled unless the USE_PLAYBIN3 env var is > set. Right, the probleme seem to be that now the playbin3 support is built (as Gst > 1.10), I think we enter that code path: ``` #if GST_CHECK_VERSION(1, 10, 0) if (m_stream) m_stream.clear(); #endif ``` in `void TrackPrivateBaseGStreamer::disconnect()`, but m_stream should bu NULL here. I have not been able to reproduce locally.
Claudio Saavedra
Comment 4 2018-04-14 00:14:22 PDT
I can reproduce this crash locally so if you need me to try any patch I can do it.
Thibault Saunier
Comment 5 2018-04-14 05:59:51 PDT
(In reply to Claudio Saavedra from comment #4) > I can reproduce this crash locally so if you need me to try any patch I can > do it. Is it racy?
Philippe Normand
Comment 6 2018-04-14 06:58:37 PDT
Have you tried with GStreamer 1.10 or 1.14, Thibault?
Thibault Saunier
Comment 7 2018-05-09 13:52:54 PDT
Created attachment 340020 [details] [GStreamer] Never call updateTracks if running on legacy pipeline
Philippe Normand
Comment 8 2018-05-09 14:03:45 PDT
Comment on attachment 340020 [details] [GStreamer] Never call updateTracks if running on legacy pipeline View in context: https://bugs.webkit.org/attachment.cgi?id=340020&action=review Which element is sending the message? > Source/WebCore/ChangeLog:10 > + Reviewed by NOBODY (OOPS!). Duplicate :) > Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:1288 > + if (!m_isLegacyPlaybin) { Please turn this to an early break
Thibault Saunier
Comment 9 2018-05-09 14:18:55 PDT
Created attachment 340023 [details] [GStreamer] Never call updateTracks if running on legacy pipeline
Thibault Saunier
Comment 10 2018-05-09 14:19:24 PDT
(In reply to Philippe Normand from comment #8) > Comment on attachment 340020 [details] > [GStreamer] Never call updateTracks if running on legacy pipeline > > View in context: > https://bugs.webkit.org/attachment.cgi?id=340020&action=review > > Which element is sending the message? > > > Source/WebCore/ChangeLog:10 > > + Reviewed by NOBODY (OOPS!). > > Duplicate :) Fixed. > Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:1288 > > + if (!m_isLegacyPlaybin) { > > Please turn this to an early break Done.
Philippe Normand
Comment 11 2018-05-09 14:24:40 PDT
(In reply to Thibault Saunier from comment #10) > (In reply to Philippe Normand from comment #8) > > Comment on attachment 340020 [details] > > [GStreamer] Never call updateTracks if running on legacy pipeline > > > > View in context: > > https://bugs.webkit.org/attachment.cgi?id=340020&action=review > > > > Which element is sending the message? And this ^^ :)
Thibault Saunier
Comment 12 2018-05-09 14:29:04 PDT
(In reply to Philippe Normand from comment #11) > (In reply to Thibault Saunier from comment #10) > > (In reply to Philippe Normand from comment #8) > > > Comment on attachment 340020 [details] > > > [GStreamer] Never call updateTracks if running on legacy pipeline > > > > > > View in context: > > > https://bugs.webkit.org/attachment.cgi?id=340020&action=review > > > > > > Which element is sending the message? > > And this ^^ :) Oops, missed that question... I didn't check directly but it must be tsdemux, the only demuxers who knows how to post stream collections afaik.
Philippe Normand
Comment 13 2018-05-09 14:37:28 PDT
wow ok, tsdemux lives in the future already!
Philippe Normand
Comment 14 2018-05-09 14:47:42 PDT
Comment on attachment 340023 [details] [GStreamer] Never call updateTracks if running on legacy pipeline View in context: https://bugs.webkit.org/attachment.cgi?id=340023&action=review > LayoutTests/ChangeLog:3 > + [GStreamer] Never call updateTracks if running on legacy pipeline Ah sorry I missed this. This line should always be the bug title. So you could have either moved the explanation below or retitled the bug. For future reference anyway, this is jus a nit.
WebKit Commit Bot
Comment 15 2018-05-09 15:04:59 PDT
Comment on attachment 340023 [details] [GStreamer] Never call updateTracks if running on legacy pipeline Clearing flags on attachment: 340023 Committed r231600: <https://trac.webkit.org/changeset/231600>
WebKit Commit Bot
Comment 16 2018-05-09 15:05:01 PDT
All reviewed patches have been landed. Closing bug.
Michael Catanzaro
Comment 17 2018-05-10 06:41:19 PDT
*** Bug 185252 has been marked as a duplicate of this bug. ***
Note You need to log in before you can comment on or make changes to this bug.