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
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
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
Philippe Normand
Comment 10 2024-01-16 03:43:50 PST
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.