Bug 210385
| Summary: | [GStreamer] Several mediastream tests sporadically crash | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Diego Pino <dpino> |
| Component: | Media | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | pnormand, vjaquez, webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| See Also: | https://bugs.webkit.org/show_bug.cgi?id=210498 | ||
Diego Pino
The following mediastreams tests are sporadically crashing:
fast/mediastream/audio-track-enabled.html
fast/mediastream/getUserMedia-default.html
fast/mediastream/stream-switch.html
fast/mediastream/audio-track-enabled.html (Stacktrace: https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/r259906%20(13284)/fast/mediastream/audio-track-enabled-crash-log.txt)
Thread 1 (Thread 0x7f1f5a4ff700 (LWP 71672)):
#0 _g_log_abort () at ../../Source/glib-2.58.1/glib/gmessages.c:557
#1 0x00007f1febf9b559 in g_logv () at ../../Source/glib-2.58.1/glib/gmessages.c:1371
#2 0x00007f1febf9b712 in g_log () at ../../Source/glib-2.58.1/glib/gmessages.c:1413
#3 0x00007f1fec07b92a in g_object_ref () at ../../Source/glib-2.58.1/gobject/gobject.c:3213
#4 g_object_ref () at ../../Source/glib-2.58.1/gobject/gobject.c:3207
#5 0x00007f1fee087b97 in gst_object_ref () at ../../Source/gstreamer-1.16.1/gst/gstobject.c:239
#6 0x00007f1fee087fd8 in gst_object_replace () at ../../Source/gstreamer-1.16.1/gst/gstobject.c:357
#7 0x00007f1fede790cb in gst_gl_upload_new () at ../../Source/gst-plugins-base-1.16.1/gst-libs/gst/gl/gstglupload.c:1723
#8 0x00007f1f58a109fd in _gst_gl_upload_element_transform_caps () at ../../Source/gst-plugins-base-1.16.1/ext/gl/gstgluploadelement.c:163
#9 0x00007f1fee1d1751 in gst_base_transform_transform_caps () at ../../Source/gstreamer-1.16.1/libs/gst/base/gstbasetransform.c:474
#10 0x00007f1fee1d22df in gst_base_transform_acceptcaps_default () at ../../Source/gstreamer-1.16.1/libs/gst/base/gstbasetransform.c:1264
#11 0x00007f1fee1d513f in gst_base_transform_default_query () at ../../Source/gstreamer-1.16.1/libs/gst/base/gstbasetransform.c:1538
#12 0x00007f1fee0d4c40 in gst_pad_query () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:4072
#13 0x00007f1fee0d539b in gst_pad_peer_query () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:4204
#14 0x00007f1fee10b880 in query_accept_caps_func () at ../../Source/gstreamer-1.16.1/gst/gstutils.c:2705
#15 0x00007f1fee0d380e in gst_pad_forward () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:3008
#16 0x00007f1fee10e1ee in gst_pad_proxy_query_accept_caps () at ../../Source/gstreamer-1.16.1/gst/gstutils.c:2745
#17 0x00007f1fee0d3cf5 in gst_pad_query_accept_caps_default () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:3134
#18 gst_pad_query_default () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:3411
#19 0x00007f1fee0d4c40 in gst_pad_query () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:4072
#20 0x00007f1fee0d539b in gst_pad_peer_query () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:4204
fast/mediastream/getUserMedia-default.html: (Stacktrace: https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/r259906%20(13284)/fast/mediastream/getUserMedia-default-crash-log.txt)
Thread 1 (Thread 0x7f577affd700 (LWP 81503)):
#0 _g_log_abort () at ../../Source/glib-2.58.1/glib/gmessages.c:557
#1 0x00007f57f1549559 in g_logv () at ../../Source/glib-2.58.1/glib/gmessages.c:1371
#2 0x00007f57f1549712 in g_log () at ../../Source/glib-2.58.1/glib/gmessages.c:1413
#3 0x00007f57f162992a in g_object_ref () at ../../Source/glib-2.58.1/gobject/gobject.c:3213
#4 g_object_ref () at ../../Source/glib-2.58.1/gobject/gobject.c:3207
#5 0x00007f57f3635b97 in gst_object_ref () at ../../Source/gstreamer-1.16.1/gst/gstobject.c:239
#6 0x00007f57f3635fd8 in gst_object_replace () at ../../Source/gstreamer-1.16.1/gst/gstobject.c:357
#7 0x00007f57f34270cb in gst_gl_upload_new () at ../../Source/gst-plugins-base-1.16.1/gst-libs/gst/gl/gstglupload.c:1723
#8 0x00007f57903109fd in _gst_gl_upload_element_transform_caps () at ../../Source/gst-plugins-base-1.16.1/ext/gl/gstgluploadelement.c:163
#9 0x00007f57f377f751 in gst_base_transform_transform_caps () at ../../Source/gstreamer-1.16.1/libs/gst/base/gstbasetransform.c:474
#10 0x00007f57f37802df in gst_base_transform_acceptcaps_default () at ../../Source/gstreamer-1.16.1/libs/gst/base/gstbasetransform.c:1264
#11 0x00007f57f378313f in gst_base_transform_default_query () at ../../Source/gstreamer-1.16.1/libs/gst/base/gstbasetransform.c:1538
#12 0x00007f57f3682c40 in gst_pad_query () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:4072
#13 0x00007f57f368339b in gst_pad_peer_query () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:4204
#14 0x00007f57f36b9880 in query_accept_caps_func () at ../../Source/gstreamer-1.16.1/gst/gstutils.c:2705
#15 0x00007f57f368180e in gst_pad_forward () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:3008
#16 0x00007f57f36bc1ee in gst_pad_proxy_query_accept_caps () at ../../Source/gstreamer-1.16.1/gst/gstutils.c:2745
#17 0x00007f57f3681cf5 in gst_pad_query_accept_caps_default () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:3134
#18 gst_pad_query_default () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:3411
#19 0x00007f57f3682c40 in gst_pad_query () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:4072
#20 0x00007f57f368339b in gst_pad_peer_query () at ../../Source/gstreamer-1.16.1/gst/gstpad.c:4204
fast/mediastream/stream-switch.html: (Stacktrace: https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/r259865%20(13278)/fast/mediastream/stream-switch-crash-log.txt)
Thread 1 (Thread 0x7ff80cb7c9c0 (LWP 51230)):
#0 0x00007ff818f6f680 in WebCore::VideoTrackPrivateGStreamer::markAsActive() () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#1 0x00007ff818f679e6 in WebCore::MediaPlayerPrivateGStreamer::handleMessage(_GstMessage*) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#2 0x00007ff80d0f88ee in ffi_call_unix64 () from /usr/lib/x86_64-linux-gnu/libffi.so.6
#3 0x00007ff80d0f82bf in ffi_call () from /usr/lib/x86_64-linux-gnu/libffi.so.6
#4 0x00007ff80ec74509 in g_cclosure_marshal_generic () at ../../Source/glib-2.58.1/gobject/gclosure.c:1496
#5 0x00007ff80ec73d3d in g_closure_invoke () at ../../Source/glib-2.58.1/gobject/gclosure.c:810
#6 0x00007ff80ec86d35 in signal_emit_unlocked_R () at ../../Source/glib-2.58.1/gobject/gsignal.c:3635
#7 0x00007ff80ec8fdbe in g_signal_emit_valist () at ../../Source/glib-2.58.1/gobject/gsignal.c:3391
#8 0x00007ff80ec90452 in g_signal_emit () at ../../Source/glib-2.58.1/gobject/gsignal.c:3447
#9 0x00007ff810c984f4 in gst_bus_async_signal_func () at ../../Source/gstreamer-1.16.1/gst/gstbus.c:1261
#10 0x00007ff810c9930d in gst_bus_source_dispatch () at ../../Source/gstreamer-1.16.1/gst/gstbus.c:839
#11 0x00007ff80eb916b8 in g_main_dispatch () at ../../Source/glib-2.58.1/glib/gmain.c:3182
#12 g_main_context_dispatch () at ../../Source/glib-2.58.1/glib/gmain.c:3847
#13 0x00007ff80eb91a78 in g_main_context_iterate () at ../../Source/glib-2.58.1/glib/gmain.c:3920
#14 0x00007ff80eb91d62 in g_main_loop_run () at ../../Source/glib-2.58.1/glib/gmain.c:4116
#15 0x00007ff814fb4170 in WTF::RunLoop::run() () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#16 0x00007ff8177e28fd in int WebKit::AuxiliaryProcessMain<WebKit::WebProcess, WebKit::WebProcessMainGtk>(int, char**) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#17 0x00007ff80e64409b in __libc_start_main (main=0x5618945e4c10 <main>, argc=4, argv=0x7ffe1bb369f8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe1bb369e8) at ../csu/libc-start.c:308
#18 0x00005618945e4c8a in _start ()
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Víctor M. Jáquez L.
looks like https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/619 which need to be backported to 1.16
Diego Pino
Another flaky crash test with a similar stacktrace:
imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-firstframe.https.html [ Crash ]
First crash happened at:
r263096 NOERROR
r263097 UNKNOWN
r263098 CRASH (Expected: PASS)
Crash-log: https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/r263098%20(14096)/imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-firstframe.https-crash-log.txt
Thread 1 (Thread 0x7f0440ff9700 (LWP 17424)):
#0 0x00007f0526be8ee5 in _g_log_abort (breakpoint=1) at ../glib/gmessages.c:554
#1 0x00007f0526bea1c9 in g_logv (log_domain=0x7f0526d002f7 "GLib-GObject", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=args@entry=0x7f0440ff5af0) at ../glib/gmessages.c:1373
#2 0x00007f0526bea393 in g_log (log_domain=log_domain@entry=0x7f0526d002f7 "GLib-GObject", log_level=log_level@entry=G_LOG_LEVEL_CRITICAL, format=format@entry=0x7f0526c3b77f "%s: assertion '%s' failed") at ../glib/gmessages.c:1415
#3 0x00007f0526beab8d in g_return_if_fail_warning (log_domain=log_domain@entry=0x7f0526d002f7 "GLib-GObject", pretty_function=pretty_function@entry=0x7f0526d03978 <__func__.15604> "g_object_ref", expression=expression@entry=0x7f0526d02715 "old_val > 0") at ../glib/gmessages.c:2771
#4 0x00007f0526cd39fa in g_object_ref (_object=0x55e5f08bf630) at ../gobject/gobject.c:3368
#5 0x00007f0526cd39fa in g_object_ref (_object=_object@entry=0x55e5f08bf630) at ../gobject/gobject.c:3360
#6 0x00007f05274bb1df in gst_object_ref (object=object@entry=0x55e5f08bf630) at ../gst/gstobject.c:239
#7 0x00007f05274bb659 in gst_object_replace (oldobj=0x55e5f0876e88, newobj=0x55e5f08bf630 [GstObject|p"^E^L^D^?]) at ../gst/gstobject.c:357
#8 0x00007f052729008f in gst_gl_upload_new (context=context@entry=0x55e5f08bf630 [GstGLContext|p"^E^L^D^?]) at ../gst-libs/gst/gl/gstglupload.c:1736
#9 0x00007f04c9f7866d in _gst_gl_upload_element_transform_caps (bt=0x55e5f086e1b0 [GstGLUploadElement|gluploadelement0], direction=GST_PAD_SRC, caps=0x7f040c051b70 [GstCaps], filter=0x0) at ../ext/gl/gstgluploadelement.c:163
#10 0x00007f052760de71 in gst_base_transform_transform_caps (trans=trans@entry=0x55e5f086e1b0 [GstGLUploadElement|gluploadelement0], direction=GST_PAD_SRC, caps=caps@entry=0x7f040c051b70 [GstCaps], filter=filter@entry=0x0) at ../libs/gst/base/gstbasetransform.c:474
#11 0x00007f0527611ce5 in gst_base_transform_query_caps (filter=0x0, pad=0x55e5f0536d60 [GstPad|sink], trans=0x55e5f086e1b0 [GstGLUploadElement|gluploadelement0]) at ../libs/gst/base/gstbasetransform.c:695
#12 0x00007f0527611ce5 in gst_base_transform_default_query (trans=0x55e5f086e1b0 [GstGLUploadElement|gluploadelement0], direction=<optimized out>, query=0x55e5f08bab20 [GstQuery]) at ../libs/gst/base/gstbasetransform.c:1550
#13 0x00007f052750b238 in gst_pad_query (pad=pad@entry=0x55e5f0536d60 [GstPad|sink], query=query@entry=0x55e5f08bab20 [GstQuery]) at ../gst/gstpad.c:4072
#14 0x00007f052750b99b in gst_pad_peer_query (pad=pad@entry=0x55e5f04c0c90 [GstProxyPad|proxypad4], query=0x55e5f08bab20 [GstQuery]) at ../gst/gstpad.c:4204
#15 0x00007f0527543d3c in query_caps_func (pad=pad@entry=0x55e5f04c0c90 [GstProxyPad|proxypad4], data=data@entry=0x7f0440ff5fa0) at ../gst/gstutils.c:2765
#16 0x00007f0527509d2e in gst_pad_forward (pad=pad@entry=0x55e5f04beaa0 [GstGhostPad|sink], forward=forward@entry=0x7f0527543d10 <query_caps_func>, user_data=user_data@entry=0x7f0440ff5fa0) at ../gst/gstpad.c:3008
#17 0x00007f0527546a6a in gst_pad_proxy_query_caps (pad=pad@entry=0x55e5f04beaa0 [GstGhostPad|sink], query=query@entry=0x55e5f08bab20 [GstQuery]) at ../gst/gstutils.c:2815
#18 0x00007f0527509f58 in gst_pad_query_caps_default (query=0x55e5f08bab20 [GstQuery], pad=0x55e5f04beaa0 [GstGhostPad|sink]) at ../gst/gstpad.c:3187
#19 0x00007f0527509f58 in gst_pad_query_default (pad=0x55e5f04beaa0 [GstGhostPad|sink], parent=<optimized out>, query=0x55e5f08bab20 [GstQuery]) at ../gst/gstpad.c:3415
#20 0x00007f052750b238 in gst_pad_query (pad=pad@entry=0x55e5f04beaa0 [GstGhostPad|sink], query=query@entry=0x55e5f08bab20 [GstQuery]) at ../gst/gstpad.c:4072
#21 0x00007f052750b99b in gst_pad_peer_query (pad=pad@entry=0x55e5f04c0ef0 [GstProxyPad|proxypad5], query=0x55e5f08bab20 [GstQuery]) at ../gst/gstpad.c:4204
#22 0x00007f0527543d3c in query_caps_func (pad=pad@entry=0x55e5f04c0ef0 [GstProxyPad|proxypad5], data=data@entry=0x7f0440ff6270) at ../gst/gstutils.c:2765
#23 0x00007f0527509d2e in gst_pad_forward (pad=pad@entry=0x55e5f04bed20 [GstGhostPad|sink], forward=forward@entry=0x7f0527543d10 <query_caps_func>, user_data=user_data@entry=0x7f0440ff6270) at ../gst/gstpad.c:3008
...
STDERR: Traceback (most recent call last):
STDERR: File "<string>", line 3, in <module>
STDERR: ModuleNotFoundError: No module named 'webkit'
STDERR: /home/slave/.gdbinit:7: Error in sourced command file:
STDERR: Error while executing Python code.
STDERR:
STDERR: warning: core file may not match specified executable file.
STDERR: g_object_ref: assertion 'old_val > 0' failed
Diego Pino
imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-firstframe.https.html is a text failure since r267140.
r267137 PASS (Expected: PASS CRASH)
[r267138-r267139] UNKNOWN
r267140 TEXT PASS CRASH (Expected: PASS CRASH)
Diff: https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/r267333%20(15940)/imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-firstframe.https-diff.txt
--- /home/buildbot/worker/gtk-linux-64-release-tests/build/layout-test-results/imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-firstframe.https-expected.txt
+++ /home/buildbot/worker/gtk-linux-64-release-tests/build/layout-test-results/imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-firstframe.https-actual.txt
@@ -1,3 +1,4 @@
+CONSOLE MESSAGE: Error: assert_unreached: Got unexpected event resize Reached unreachable code
When prompted, accept to share your video stream.
Description
@@ -6,6 +7,8 @@
+Harness Error (FAIL), message = Error: assert_unreached: Got unexpected event resize Reached unreachable code
+
PASS Tests that loading a MediaStream in a media element eventually results in "canplay" even when not playing or autoplaying
PASS Tests that loading a MediaStream in a media element sees all the expected (deterministic) events even when not playing or autoplaying
The test has also crashed in several builds after r267140.
I will update test expectations.
Diego Pino
This test has been passing in GTK in the last 4000 revisions ([r215703-r269242]). It's still very flaky in WPE though. In GTK Wayland it has only crashed 2 times in the last 4000 revisions.
Philippe Normand
fast/mediastream/stream-switch.html no longer flaky since r276197. I will unflag it.
Philippe Normand
(In reply to Philippe Normand from comment #5)
> fast/mediastream/stream-switch.html no longer flaky since r276197. I will
> unflag it.
r278984
Diego Pino
The test or tests filed under this bug are not failing anymore. Test expectations updated in https://commits.webkit.org/258724@main.
Radar WebKit Bug Importer
<rdar://problem/104077432>