WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
309434
[GStreamer] media-elements/loading-the-media-resource/resource-selection-source-media-env-change.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=309434
Summary
[GStreamer] media-elements/loading-the-media-resource/resource-selection-sour...
Claudio Saavedra
Reported
2026-03-07 23:07:52 PST
Full path to test is imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-source-media-env-change.html This test has crashed twice in the recent days. Stacktraces are different but they seem related in that TrackPrivateBaseGStreamer is doing asynchronous work involving a GStPad that has been deleted. First stacktrace comes from
https://build.webkit.org/results/GTK-Linux-64-bit-Release-Tests/308861@main%20(23809)/results.html
Thread 1 (Thread 0x7fd74e9fc6c0 (LWP 1160389)): #0 0x00007fda14fcb671 in g_logv () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #1 0x00007fda14fcb923 in g_log () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007fda146b976c in gst_pad_get_sticky_event (pad=<optimized out>, event_type=GST_EVENT_TAG, idx=2) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gstreamer/gst/gstpad.c:6362 #3 0x00007fda1dfc52bd in WebCore::TrackPrivateBaseGStreamer::tagsChanged() () at /sdk/webkit/WebKitBuild/GTK/Release/lib/libwebkitgtk-6.0.so.4 #4 0x00007fda1dfc5e08 in WebCore::TrackPrivateBaseGStreamer::setPad(WTF::GRefPtr<_GstPad, WTF::GRefPtrDefaultRefDerefTraits<_GstPad> >&&)::{lambda(_GstPad*, _GstPadProbeInfo*, WebCore::TrackPrivateBaseGStreamer*)#1}::_FUN(_GstPad*, _GstPadProbeInfo*, WebCore::TrackPrivateBaseGStreamer*) () at /sdk/webkit/WebKitBuild/GTK/Release/lib/libwebkitgtk-6.0.so.4 #5 0x00007fda146ab265 in probe_hook_marshal (hook=0x55c2566efa40, data=0x7fd74e9fa630) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gstreamer/gst/gstpad.c:3709 #6 0x00007fda14fb4f27 in g_hook_list_marshal () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #7 0x00007fda146aa9ac in do_probe_callbacks (pad=pad@entry=0x7fd71004aca0, info=<optimized out>, defaultval=defaultval@entry=GST_FLOW_OK) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gstreamer/gst/gstpad.c:3893 #8 0x00007fda146aecfc in gst_pad_push_event_unchecked (pad=pad@entry=0x7fd71004aca0, event=0x7fd7100f05c0, type=type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gstreamer/gst/gstpad.c:5668 #9 0x00007fda146af607 in push_sticky (pad=pad@entry=0x7fd71004aca0, ev=ev@entry=0x7fd74e9fa870, user_data=user_data@entry=0x7fd74e9fa8d0) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gstreamer/gst/gstpad.c:4127 #10 0x00007fda146ac2ac in events_foreach (pad=pad@entry=0x7fd71004aca0, func=func@entry=0x7fda146af530 <push_sticky>, user_data=user_data@entry=0x7fd74e9fa8d0) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gstreamer/gst/gstpad.c:622 #11 0x00007fda146af2ee in check_sticky (pad=pad@entry=0x7fd71004aca0, event=event@entry=0x7fd7100f05c0) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gstreamer/gst/gstpad.c:4194 #12 0x00007fda146b8a33 in gst_pad_push_event (pad=pad@entry=0x7fd71004aca0, event=0x7fd7100f05c0) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gstreamer/gst/gstpad.c:5847 #13 0x00007fda146b8bcb in event_forward_func (pad=pad@entry=0x7fd71004aca0, data=data@entry=0x7fd74e9faa30) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gstreamer/gst/gstpad.c:3170 #14 0x00007fda146b493a in gst_pad_forward (pad=pad@entry=0x7fd71004b050, forward=forward@entry=0x7fda146b8b10 <event_forward_func>, user_data=user_data@entry=0x7fd74e9faa30) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gstreamer/gst/gstpad.c:3123 #15 0x00007fda146b4af3 in gst_pad_event_default (pad=0x7fd71004b050, parent=<optimized out>, event=0x7fd7100f05c0) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gstreamer/gst/gstpad.c:3221 #16 0x00007fda146ae311 in gst_pad_send_event_unchecked (pad=pad@entry=0x7fd71004b050, event=event@entry=0x7fd7100f05c0, type=<optimized out>, type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gstreamer/gst/gstpad.c:6112 #17 0x00007fda146aebb4 in gst_pad_push_event_unchecked (pad=pad@entry=0x7fd7100ea3b0, event=0x7fd7100f05c0, type=<optimized out>, type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gstreamer/gst/gstpad.c:5707 #18 0x00007fda146af607 in push_sticky (pad=pad@entry=0x7fd7100ea3b0, ev=ev@entry=0x7fd74e9fac60, user_data=user_data@entry=0x7fd74e9facc0) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gstreamer/gst/gstpad.c:4127 #19 0x00007fda146ac2ac in events_foreach (pad=pad@entry=0x7fd7100ea3b0, func=func@entry=0x7fda146af530 <push_sticky>, user_data=user_data@entry=0x7fd74e9facc0) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gstreamer/gst/gstpad.c:622 #20 0x00007fda146af2ee in check_sticky (pad=pad@entry=0x7fd7100ea3b0, event=event@entry=0x7fd7100f05c0) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gstreamer/gst/gstpad.c:4194 #21 0x00007fda146b8a33 in gst_pad_push_event (pad=0x7fd7100ea3b0, event=0x7fd7100f05c0) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gstreamer/gst/gstpad.c:5847 #22 0x00007fda1458a9d3 in send_pending_events (dec=0x7fd7100e9bc0) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudiodecoder.c:1148 #23 0x00007fda1458e23f in gst_audio_decoder_finish_frame_or_subframe (dec=dec@entry=0x7fd7100e9bc0, buf=0x7fd70c044a80, frames=0) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudiodecoder.c:1388 #24 0x00007fda14592d75 in gst_audio_decoder_finish_subframe (dec=dec@entry=0x7fd7100e9bc0, buf=buf@entry=0x7fd70c044a80) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudiodecoder.c:1306 #25 0x00007fd91448171b in gst_ffmpegauddec_frame (ffmpegdec=ffmpegdec@entry=0x7fd7100e9bc0, ret=ret@entry=0x7fd74e9faed8, need_more_data=need_more_data@entry=0x7fd74e9faedc) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gst-libav/ext/libav/gstavauddec.c:571 #26 0x00007fd91448242a in gst_ffmpegauddec_handle_frame (decoder=0x7fd7100e9bc0, inbuf=0x7fd71018e250) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gst-libav/ext/libav/gstavauddec.c:766 #27 0x00007fda1458b477 in gst_audio_decoder_push_buffers (dec=dec@entry=0x7fd7100e9bc0, force=force@entry=0) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudiodecoder.c:1753 #28 0x00007fda1458b963 in gst_audio_decoder_chain_forward (dec=dec@entry=0x7fd7100e9bc0, buffer=0x0, buffer@entry=0x7fd71018e250) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudiodecoder.c:1867 #29 0x00007fda14590c7f in gst_audio_decoder_chain (pad=<optimized out>, parent=0x7fd7100e9bc0, buffer=0x7fd71018e250) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudiodecoder.c:2126 #30 0x00007fda146ad33e in gst_pad_chain_data_unchecked (pad=pad@entry=0x7fd7100ea140, type=type@entry=4112, data=data@entry=0x7fd71018e250) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gstreamer/gst/gstpad.c:4559 #31 0x00007fda146afe59 in gst_pad_push_data (pad=pad@entry=0x7fd71009b2a0, type=type@entry=4112, data=data@entry=0x7fd71018e250) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gstreamer/gst/gstpad.c:4852 #32 0x00007fda146b767c in gst_pad_push (pad=0x7fd71009b2a0, buffer=buffer@entry=0x7fd71018e250) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gstreamer/gst/gstpad.c:4971 #33 0x00007fda147b587b in gst_base_parse_push_frame (parse=parse@entry=0x7fd710093ef0, frame=frame@entry=0x7fd74e9fb380) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gstreamer/libs/gst/base/gstbaseparse.c:2640 #34 0x00007fda147b6e8a in gst_base_parse_chain (pad=<optimized out>, parent=0x7fd710093ef0, buffer=0x7fd71018e250) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gstreamer/libs/gst/base/gstbaseparse.c:3267 #35 0x00007fda146ad33e in gst_pad_chain_data_unchecked (pad=pad@entry=0x7fd710051010, type=type@entry=4112, data=data@entry=0x7fd71018e250) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gstreamer/gst/gstpad.c:4559 #36 0x00007fda146afe59 in gst_pad_push_data (pad=pad@entry=0x7fd71009a600, type=type@entry=4112, data=data@entry=0x7fd71018e250) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gstreamer/gst/gstpad.c:4852 #37 0x00007fda146b767c in gst_pad_push (pad=pad@entry=0x7fd71009a600, buffer=buffer@entry=0x7fd71018e250) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gstreamer/gst/gstpad.c:4971 #38 0x00007fd9b01682c0 in gst_single_queue_push_one (allow_drop=<synthetic pointer>, object=0x7fd71018e250, sq=0x7fd7100954a0, mq=<optimized out>) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gstreamer/plugins/elements/gstmultiqueue.c:2014 #39 gst_multi_queue_loop (pad=<optimized out>) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gstreamer/plugins/elements/gstmultiqueue.c:2349 #40 0x00007fda146ebf52 in gst_task_func (task=0x7fd71009bbb0) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gstreamer/gst/gsttask.c:399 #41 0x00007fda14ffa422 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #42 0x00007fda14ff4e62 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #43 0x00007fda18c8aaa4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447 #44 0x00007fda18d17c6c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 STDERR: gst_pad_get_sticky_event: assertion 'GST_IS_PAD (pad)' failed The second stacktrace comes from
https://build.webkit.org/results/WPE-Linux-64-bit-Release-Tests/308875@main%20(25792)/results.html
Thread 1 (Thread 0x7f737e430540 (LWP 316369)): #0 0x00007f7384b89671 in g_logv () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #1 0x00007f7384b89923 in g_log () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f73859ab605 in gst_pad_get_stream_id (pad=0x0) at ../../../../../jhbuild/checkout/gstreamer/subprojects/gstreamer/gst/gstutils.c:4459 #3 0x00007f738ccbf07d in WebCore::getStreamIdFromPad(WTF::GRefPtr<_GstPad, WTF::GRefPtrDefaultRefDerefTraits<_GstPad> > const&) () at /sdk/webkit/WebKitBuild/WPE/Release/lib/libWPEWebKit-2.0.so.1 #4 0x00007f738ccfc766 in WTF::Detail::CallableWrapper<WebCore::TrackPrivateBaseGStreamer::installUpdateConfigurationHandlers()::{lambda(WebCore::TrackPrivateBaseGStreamer*)#1}::operator()(WebCore::TrackPrivateBaseGStreamer*) const::{lambda()#1}, void>::call() () at /sdk/webkit/WebKitBuild/WPE/Release/lib/libWPEWebKit-2.0.so.1 #5 0x00007f738a43e995 in WTF::RunLoop::performWork() () at /sdk/webkit/WebKitBuild/WPE/Release/lib/libWPEWebKit-2.0.so.1 #6 0x00007f738a529a4d in WTF::RunLoop::RunLoop()::{lambda(void*)#1}::_FUN(void*) () at /sdk/webkit/WebKitBuild/WPE/Release/lib/libWPEWebKit-2.0.so.1 #7 0x00007f738a52d3fd in WTF::RunLoop::{lambda(_GSource*, int (*)(void*), void*)#1}::_FUN(_GSource*, int (*)(void*), void*) () at /sdk/webkit/WebKitBuild/WPE/Release/lib/libWPEWebKit-2.0.so.1 #8 0x00007f7384b8445e in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #9 0x00007f7384b846d0 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #10 0x00007f738a52b757 in WTF::RunLoop::runGLibMainLoopIteration(WTF::RunLoop::MayBlock) () at /sdk/webkit/WebKitBuild/WPE/Release/lib/libWPEWebKit-2.0.so.1 #11 0x00007f738a52bb52 in WTF::RunLoop::run() () at /sdk/webkit/WebKitBuild/WPE/Release/lib/libWPEWebKit-2.0.so.1 #12 0x00007f73889195b6 in int WebKit::AuxiliaryProcessMain<WebKit::WebProcessMainWPE>(int, char**) () at /sdk/webkit/WebKitBuild/WPE/Release/lib/libWPEWebKit-2.0.so.1 #13 0x00007f7385bfa1ca in __libc_start_call_main (main=main@entry=0x55c0a85d77d0 <main>, argc=argc@entry=4, argv=argv@entry=0x7ffccccf7528) at ../sysdeps/nptl/libc_start_call_main.h:58 #14 0x00007f7385bfa28b in __libc_start_main_impl (main=0x55c0a85d77d0 <main>, argc=4, argv=0x7ffccccf7528, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffccccf7518) at ../csu/libc-start.c:360 #15 0x000055c0a85d7705 in _start () STDERR: (WPEWebProcess:316369): GStreamer-CRITICAL **: 18:02:39.971: gst_pad_get_stream_id: assertion 'GST_IS_PAD (pad)' failed STDERR: WPEWebProcess terminated (pid 316369) for reason: crash
Attachments
Add attachment
proposed patch, testcase, etc.
Philippe Normand
Comment 1
2026-03-08 11:45:29 PDT
Pull request:
https://github.com/WebKit/WebKit/pull/60161
EWS
Comment 2
2026-03-10 07:11:24 PDT
Committed
308971@main
(da7090ba5483): <
https://commits.webkit.org/308971@main
> Reviewed commits have been landed. Closing PR #60161 and removing active labels.
Radar WebKit Bug Importer
Comment 3
2026-03-10 07:12:11 PDT
<
rdar://problem/172182938
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug