WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
260072
REGRESSION(
266589@main
): [WPE][GStreamer] fast/mediastream/success.html is crashing
https://bugs.webkit.org/show_bug.cgi?id=260072
Summary
REGRESSION(266589@main): [WPE][GStreamer] fast/mediastream/success.html is cr...
Philippe Normand
Reported
2023-08-11 08:27:19 PDT
STDERR: ERROR:../gst/playback/gstdecodebin3-parse.c:572:parsebin_pad_removed_cb: assertion failed: (input) STDERR: WPEWebProcess terminated (pid 87316) for reason: crash Thread 1 (Thread 0x7fd2aa2f3e80 (LWP 87316)): #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44 #1 0x00007fd2b072a273 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78 #2 0x00007fd2b06d804e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #3 0x00007fd2b06c17fc in __GI_abort () at abort.c:79 #4 0x00007fd2b0e55d1e in g_assertion_message (domain=<optimized out>, file=0x7fd220505b48 "../gst/playback/gstdecodebin3-parse.c", line=<optimized out>, func=<optimized out>, message=<optimized out>) at ../glib/gtestutils.c:3450 #5 0x00007fd2b0ebfad7 in g_assertion_message_expr (domain=domain@entry=0x0, file=file@entry=0x7fd220505b48 "../gst/playback/gstdecodebin3-parse.c", line=line@entry=572, func=func@entry=0x7fd220507ba0 <__func__.49> "parsebin_pad_removed_cb", expr=expr@entry=0x7fd2205072d1 "input") at ../glib/gtestutils.c:3476 #6 0x00007fd2204b33e1 in parsebin_pad_removed_cb (demux=<optimized out>, pad=0x7fd0800d72e0 [GstPad|src_0], inp=<optimized out>) at ../gst/playback/gstdecodebin3-parse.c:572 #7 0x00007fd2ad30baf7 in g_cclosure_marshal_VOID__OBJECTv (closure=0x7fd080003500, return_value=<optimized out>, instance=0x7fd080001580, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=<optimized out>) at ../gobject/gmarshal.c:1910 #8 0x00007fd2ad32bf35 in _g_closure_invoke_va (param_types=<optimized out>, n_params=<optimized out>, args=0x7ffcf3092840, instance=<optimized out>, return_value=<optimized out>, closure=0x7fd080003500) at ../gobject/gclosure.c:895 #9 g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffcf3092840) at ../gobject/gsignal.c:3472 #10 0x00007fd2ad32c033 in g_signal_emit (instance=instance@entry=0x7fd080001580, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3622 #11 0x00007fd2b0c5d711 in gst_element_remove_pad (element=0x7fd080001580 [GstElement|parsebin78], pad=pad@entry=0x7fd0800d72e0 [GstPad|src_0]) at ../gst/gstelement.c:926 #12 0x00007fd2204cb3ad in gst_parse_chain_free_internal (chain=0x7fd080036290, hide=1) at ../gst/playback/gstparsebin.c:2801 #13 0x00007fd2204cbeea in gst_parse_bin_change_state (element=0x7fd080001580 [GstElement|parsebin78], transition=<optimized out>) at ../gst/playback/gstparsebin.c:4407 #14 0x00007fd2b0c62056 in gst_element_change_state (element=element@entry=0x7fd080001580 [GstElement|parsebin78], transition=transition@entry=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gst/gstelement.c:3093 #15 0x00007fd2b0c626a0 in gst_element_set_state_func (element=0x7fd080001580 [GstElement|parsebin78], state=GST_STATE_READY) at ../gst/gstelement.c:3047 #16 0x00007fd2b0c3a0eb in gst_bin_element_set_state (next=<optimized out>, current=<optimized out>, start_time=<optimized out>, base_time=<optimized out>, element=0x7fd080001580 [GstElement|parsebin78], bin=0x55e84f7fcf70 [GstBin|decodebin3-140]) at ../gst/gstbin.c:2582 #17 gst_bin_change_state_func (element=0x55e84f7fcf70 [GstElement|decodebin3-140], transition=<optimized out>) at ../gst/gstbin.c:2931 #18 0x00007fd2204b3a71 in gst_decodebin3_change_state (element=0x55e84f7fcf70 [GstElement|decodebin3-140], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gst/playback/gstdecodebin3.c:3554 #19 0x00007fd2b0c62056 in gst_element_change_state (element=element@entry=0x55e84f7fcf70 [GstElement|decodebin3-140], transition=transition@entry=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gst/gstelement.c:3093 #20 0x00007fd2b0c626a0 in gst_element_set_state_func (element=0x55e84f7fcf70 [GstElement|decodebin3-140], state=GST_STATE_READY) at ../gst/gstelement.c:3047 #21 0x00007fd2b0c3a0eb in gst_bin_element_set_state (next=<optimized out>, current=<optimized out>, start_time=<optimized out>, base_time=<optimized out>, element=0x55e84f7fcf70 [GstElement|decodebin3-140], bin=0x55e84f87ca00 [GstBin|uridecodebin3]) at ../gst/gstbin.c:2582 #22 gst_bin_change_state_func (element=0x55e84f87ca00 [GstElement|uridecodebin3], transition=<optimized out>) at ../gst/gstbin.c:2931 #23 0x00007fd2204b987e in gst_uri_decode_bin3_change_state (element=0x55e84f87ca00 [GstElement|uridecodebin3], transition=<optimized out>) at ../gst/playback/gsturidecodebin3.c:1990 #24 0x00007fd2b0c62056 in gst_element_change_state (element=element@entry=0x55e84f87ca00 [GstElement|uridecodebin3], transition=transition@entry=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gst/gstelement.c:3093 #25 0x00007fd2b0c626a0 in gst_element_set_state_func (element=0x55e84f87ca00 [GstElement|uridecodebin3], state=GST_STATE_READY) at ../gst/gstelement.c:3047 #26 0x00007fd2b0c3a0eb in gst_bin_element_set_state (next=<optimized out>, current=<optimized out>, start_time=<optimized out>, base_time=<optimized out>, element=0x55e84f87ca00 [GstElement|uridecodebin3], bin=0x55e84f8a3550 [GstBin|mediastream-localVideo-64]) at ../gst/gstbin.c:2582 #27 gst_bin_change_state_func (element=0x55e84f8a3550 [GstElement|mediastream-localVideo-64], transition=<optimized out>) at ../gst/gstbin.c:2931 #28 0x00007fd2b0c8fbea in gst_pipeline_change_state (element=0x55e84f8a3550 [GstElement|mediastream-localVideo-64], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gst/gstpipeline.c:529 #29 0x00007fd2204de3ed in gst_play_bin3_change_state (element=0x55e84f8a3550 [GstElement|mediastream-localVideo-64], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gst/playback/gstplaybin3.c:2701 #30 0x00007fd2b0c62056 in gst_element_change_state (element=element@entry=0x55e84f8a3550 [GstElement|mediastream-localVideo-64], transition=transition@entry=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gst/gstelement.c:3093 #31 0x00007fd2b0c626a0 in gst_element_set_state_func (element=0x55e84f8a3550 [GstElement|mediastream-localVideo-64], state=GST_STATE_NULL) at ../gst/gstelement.c:3047 #32 0x00007fd2b6eece70 in WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer() () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #33 0x00007fd2b6eeda19 in WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer() () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #34 0x00007fd2b6e05253 in WebCore::MediaPlayer::~MediaPlayer() () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #35 0x00007fd2b5e97cfa in WTF::Detail::CallableWrapper<WTF::ThreadSafeWeakPtrControlBlock::strongDeref<WebCore::MediaPlayer, (WTF::DestructionThread)1>() const::{lambda()#1}, void>::call() () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #36 0x00007fd2b670169e in void WTF::ThreadSafeWeakPtrControlBlock::strongDeref<WebCore::MediaPlayer, (WTF::DestructionThread)1>() const () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #37 0x00007fd2b66f7e8d in WebCore::HTMLMediaElement::clearMediaPlayer() () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #38 0x00007fd2b66f8148 in WebCore::HTMLMediaElement::userCancelledLoad() () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #39 0x00007fd2b66fad5c in WebCore::HTMLMediaElement::stopWithoutDestroyingMediaPlayer() () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #40 0x00007fd2b66fb1c5 in non-virtual thunk to WebCore::HTMLMediaElement::stop() () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #41 0x00007fd2b64f000d in WTF::Detail::CallableWrapper<WebCore::ScriptExecutionContext::stopActiveDOMObjects()::{lambda(auto:1&)#1}, WebCore::ScriptExecutionContext::ShouldContinue, WebCore::ActiveDOMObject&>::call(WebCore::ActiveDOMObject&) () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #42 0x00007fd2b64f0e2a in WebCore::ScriptExecutionContext::forEachActiveDOMObject(WTF::Function<WebCore::ScriptExecutionContext::ShouldContinue (WebCore::ActiveDOMObject&)> const&) const () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #43 0x00007fd2b64f0f51 in WebCore::ScriptExecutionContext::stopActiveDOMObjects() () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #44 0x00007fd2b64387ae in WebCore::Document::commonTeardown() () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #45 0x00007fd2b64481b3 in WebCore::Document::willBeRemovedFromFrame() () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #46 0x00007fd2b6b753e0 in WebCore::LocalFrame::setView(WTF::RefPtr<WebCore::LocalFrameView, WTF::RawPtrTraits<WebCore::LocalFrameView>, WTF::DefaultRefDerefTraits<WebCore::LocalFrameView> >&&) () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #47 0x00007fd2b6ba559c in WebCore::LocalFrame::createView(WebCore::IntSize const&, std::optional<WebCore::Color> const&, WebCore::IntSize const&, WebCore::IntRect const&, bool, WebCore::ScrollbarMode, bool, WebCore::ScrollbarMode, bool) () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #48 0x00007fd2b3623394 in WebKit::WebLocalFrameLoaderClient::transitionToCommittedForNewPage() () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #49 0x00007fd2b6a5e212 in WebCore::FrameLoader::transitionToCommitted(WebCore::CachedPage*) [clone .part.0] () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #50 0x00007fd2b6a5e3b9 in WebCore::FrameLoader::commitProvisionalLoad() () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #51 0x00007fd2b6a357f7 in WebCore::DocumentLoader::finishedLoading() () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #52 0x00007fd2b6a360a4 in WebCore::DocumentLoader::maybeLoadEmpty() () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #53 0x00007fd2b6a36531 in WebCore::DocumentLoader::startLoadingMainResource() () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #54 0x00007fd2b6a5f805 in WebCore::FrameLoader::continueLoadAfterNavigationPolicy(WebCore::ResourceRequest const&, WebCore::FormState*, WebCore::NavigationPolicyDecision, WebCore::AllowNavigationToInvalidURL) () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #55 0x00007fd2b6a668b3 in WTF::Detail::CallableWrapper<WebCore::FrameLoader::loadWithDocumentLoader(WebCore::DocumentLoader*, WebCore::FrameLoadType, WTF::RefPtr<WebCore::FormState, WTF::RawPtrTraits<WebCore::FormState>, WTF::DefaultRefDerefTraits<WebCore::FormState> >&&, WebCore::AllowNavigationToInvalidURL, WTF::CompletionHandler<void ()>&&)::{lambda(WebCore::ResourceRequest const&, WTF::WeakPtr<WebCore::FormState, WTF::DefaultWeakPtrImpl>&&, WebCore::NavigationPolicyDecision)#2}, void, WebCore::ResourceRequest&&, WTF::WeakPtr<WebCore::FormState, WTF::DefaultWeakPtrImpl>&&, WebCore::NavigationPolicyDecision>::call(WebCore::ResourceRequest&&, WTF::WeakPtr<WebCore::FormState, WTF::DefaultWeakPtrImpl>&&, WebCore::NavigationPolicyDecision) () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #56 0x00007fd2b6a7f2da in WebCore::FrameLoader::PolicyChecker::checkNavigationPolicy(WebCore::ResourceRequest&&, WebCore::ResourceResponse const&, WebCore::DocumentLoader*, WTF::RefPtr<WebCore::FormState, WTF::RawPtrTraits<WebCore::FormState>, WTF::DefaultRefDerefTraits<WebCore::FormState> >&&, WTF::CompletionHandler<void (WebCore::ResourceRequest&&, WTF::WeakPtr<WebCore::FormState, WTF::DefaultWeakPtrImpl>&&, WebCore::NavigationPolicyDecision)>&&, WebCore::PolicyDecisionMode)::{lambda(WebCore::PolicyAction, WebCore::ProcessQualified<WTF::ObjectIdentifierGeneric<WebCore::PolicyCheckIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits> >)#1}::operator()(WebCore::PolicyAction, WebCore::ProcessQualified<WTF::ObjectIdentifierGeneric<WebCore::PolicyCheckIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits> >) () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #57 0x00007fd2b368bd79 in WebKit::WebFrame::didReceivePolicyDecision(unsigned long, WebCore::ProcessQualified<WTF::ObjectIdentifierGeneric<WebCore::PolicyCheckIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits> >, WebKit::PolicyDecision&&) () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #58 0x00007fd2b361c45c in WTF::Detail::CallableWrapper<IPC::Connection::makeAsyncReplyHandler<Messages::WebPageProxy::DecidePolicyForNavigationActionAsync, WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction(WebCore::NavigationAction const&, WebCore::ResourceRequest const&, WebCore::ResourceResponse const&, WebCore::FormState*, WebCore::PolicyDecisionMode, WebCore::ProcessQualified<WTF::ObjectIdentifierGeneric<WebCore::PolicyCheckIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits> >, WTF::Function<void (WebCore::PolicyAction, WebCore::ProcessQualified<WTF::ObjectIdentifierGeneric<WebCore::PolicyCheckIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits> >)>&&)::{lambda(WebKit::PolicyDecision&&)#1}>(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction(WebCore::NavigationAction const&, WebCore::ResourceRequest const&, WebCore::ResourceResponse const&, WebCore::FormState*, WebCore::PolicyDecisionMode, WebCore::ProcessQualified<WTF::ObjectIdentifierGeneric<WebCore::PolicyCheckIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits> >, WTF::Function<void (WebCore::PolicyAction, WebCore::ProcessQualified<WTF::ObjectIdentifierGeneric<WebCore::PolicyCheckIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits> >)>&&)::{lambda(WebKit::PolicyDecision&&)#1}&&, WTF::ThreadLikeAssertion)::{lambda(IPC::Decoder*)#1}, void, IPC::Decoder*>::call(IPC::Decoder*) () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #59 0x00007fd2b32b87e2 in IPC::Connection::dispatchMessage(IPC::Decoder&) () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #60 0x00007fd2b32b8a05 in IPC::Connection::dispatchMessage(std::unique_ptr<IPC::Decoder, std::default_delete<IPC::Decoder> >) () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #61 0x00007fd2b32ba7d0 in IPC::Connection::dispatchOneIncomingMessage() () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #62 0x00007fd2b4ded8fa in WTF::RunLoop::performWork() () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #63 0x00007fd2b4e63a29 in WTF::RunLoop::RunLoop()::{lambda(void*)#1}::_FUN(void*) () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #64 0x00007fd2b4e6449f in WTF::RunLoop::{lambda(_GSource*, int (*)(void*), void*)#1}::_FUN(_GSource*, int (*)(void*), void*) () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #65 0x00007fd2b0e92527 in g_main_dispatch (context=0x55e84f32e8d0) at ../glib/gmain.c:3460 #66 g_main_context_dispatch (context=0x55e84f32e8d0) at ../glib/gmain.c:4200 #67 0x00007fd2b0eef888 in g_main_context_iterate.constprop.0 (context=0x55e84f32e8d0, block=<optimized out>, dispatch=1, self=<optimized out>) at ../glib/gmain.c:4276 #68 0x00007fd2b0e91d7f in g_main_loop_run (loop=0x55e84f32ea10) at ../glib/gmain.c:4479 #69 0x00007fd2b4e645d0 in WTF::RunLoop::run() () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #70 0x00007fd2b36a4d26 in WebKit::WebProcessMain(int, char**) () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1 #71 0x00007fd2b06c258a in __libc_start_call_main (main=main@entry=0x55e84e4e9880 <main>, argc=argc@entry=4, argv=argv@entry=0x7ffcf30947e8) at ../sysdeps/nptl/libc_start_call_main.h:58 #72 0x00007fd2b06c264b in __libc_start_main_impl (main=0x55e84e4e9880 <main>, argc=4, argv=0x7ffcf30947e8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=<optimized out>) at ../csu/libc-start.c:389 #73 0x000055e84e4e97b5 in _start () at ../sysdeps/x86_64/start.S:115 GTK is fine.
Attachments
Add attachment
proposed patch, testcase, etc.
Philippe Normand
Comment 1
2023-08-11 08:49:26 PDT
I cannot reproduce this, I guess these WPE bots don't have GPU? No idea. I'll garden this.
Philippe Normand
Comment 2
2023-08-11 08:52:38 PDT
Pull request:
https://github.com/WebKit/WebKit/pull/16607
EWS
Comment 3
2023-08-11 08:56:53 PDT
Committed
266818@main
(11dd1ef20781): <
https://commits.webkit.org/266818@main
> Reviewed commits have been landed. Closing PR #16607 and removing active labels.
Philippe Normand
Comment 4
2023-08-11 08:57:41 PDT
This needs a patch, in case anyone manages to reproduce the issue.
Philippe Normand
Comment 5
2023-08-15 06:32:15 PDT
***
Bug 259916
has been marked as a duplicate of this bug. ***
Amanda Falke
Comment 6
2023-09-25 11:47:24 PDT
(In reply to Philippe Normand from
comment #4
)
> This needs a patch, in case anyone manages to reproduce the issue.
Skipped in gardening PR
https://github.com/WebKit/WebKit/pull/18181
for now :)
Amanda Falke
Comment 7
2023-09-25 11:48:09 PDT
(In reply to Amanda Falke from
comment #6
)
> (In reply to Philippe Normand from
comment #4
) > > This needs a patch, in case anyone manages to reproduce the issue. > > Skipped in gardening PR
https://github.com/WebKit/WebKit/pull/18181
for now > :)
^ ignore me, wrong ticket.
Philippe Normand
Comment 8
2024-01-05 02:52:20 PST
I can reproduce the issue by running fast/mediastream/stream-switch.html before this test. And as stream-switch.html is skipped in GTK, the issue happens only for WPE...
Philippe Normand
Comment 9
2024-01-05 04:27:34 PST
I think this is a GStreamer bug. MR:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5887
Philippe Normand
Comment 10
2024-01-16 03:43:50 PST
Pull request:
https://github.com/WebKit/WebKit/pull/22815
EWS
Comment 11
2024-01-16 10:31:15 PST
Committed
273077@main
(57adc6675963): <
https://commits.webkit.org/273077@main
> Reviewed commits have been landed. Closing PR #22815 and removing active labels.
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