RESOLVED FIXED264708
[GStreamer][MSE][Debug] media/media-source/media-source-error-crash.html is flaky crash
https://bugs.webkit.org/show_bug.cgi?id=264708
Summary [GStreamer][MSE][Debug] media/media-source/media-source-error-crash.html is f...
Philippe Normand
Reported 2023-11-12 07:14:40 PST
It's not clear since when exactly... results.webkit.org points to 270581@main but there is no obvious patch to suspect for the regression... Thread 1 (Thread 0x7f9b73fff640 (LWP 690710)): #0 WTFCrash() () at /app/webkit/Source/WTF/wtf/Assertions.cpp:333 #1 0x00007fb4b416cf91 in WTFCrashWithInfo(int, char const*, char const*, int) () at /app/webkit/WebKitBuild/WPE/Debug/WTF/Headers/wtf/Assertions.h:778 #2 0x00007fb4bc79d7da in WebCore::AppendPipeline::handleErrorConditionFromStreamingThread() (this=0x7fb4992cba80) at /app/webkit/Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:258 #3 0x00007fb4bc79d8d0 in WebCore::AppendPipeline::handleErrorSyncMessage(_GstMessage*) (this=0x7fb4992cba80, message=0x7f9b6c006a10 [None]) at /app/webkit/Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:265 #4 0x00007fb4bc79c097 in operator()(GstBus*, GstMessage*, WebCore::AppendPipeline*) const (__closure=0x0, message=0x7f9b6c006a10 [None], appendPipeline=0x7fb4992cba80) at /app/webkit/Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:122 #5 0x00007fb4bc79c0c6 in _FUN(GstBus*, GstMessage*, WebCore::AppendPipeline*) () at /app/webkit/Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:122 #6 0x00007fb4a5b9a6ca in g_cclosure_marshal_VOID__BOXEDv (closure=0x5596bb202080, return_value=<optimized out>, instance=0x5596bb4638f0, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=<optimized out>) at ../gobject/gmarshal.c:1686 #7 0x00007fb4a5bb4f35 in _g_closure_invoke_va (param_types=<optimized out>, n_params=<optimized out>, args=0x7f9b73ffe2b0, instance=<optimized out>, return_value=<optimized out>, closure=0x5596bb202080) at ../gobject/gclosure.c:895 #8 g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7f9b73ffe2b0) at ../gobject/gsignal.c:3472 #9 0x00007fb4a5bb5033 in g_signal_emit (instance=instance@entry=0x5596bb4638f0, signal_id=<optimized out>, detail=<optimized out>) at ../gobject/gsignal.c:3622 #10 0x00007fb4a94ee59b in gst_bus_sync_signal_handler (bus=bus@entry=0x5596bb4638f0 [GstBus|bus1225], message=message@entry=0x7f9b6c006a10 [None], data=data@entry=0x0) at ../gst/gstbus.c:1307 #11 0x00007fb4a94eea8d in gst_bus_post (bus=0x5596bb4638f0 [GstBus|bus1225], message=0x7f9b6c006a10 [None]) at ../gst/gstbus.c:364 #12 0x00007fb4a9504fbb in gst_element_post_message_default (element=element@entry=0x5596bb2027b0 [GstElement|append-pipeline-video-mp4-56], message=0x7f9b6c006a10 [None]) at ../gst/gstelement.c:2127 #13 0x00007fb4a94df583 in gst_bin_post_message (element=0x5596bb2027b0 [GstElement|append-pipeline-video-mp4-56], msg=0x7f9b6c006a10 [None]) at ../gst/gstbin.c:2789 #14 0x00007fb4a9504d7c in gst_element_post_message (element=0x5596bb2027b0 [GstElement|append-pipeline-video-mp4-56], message=0x7f9b6c006a10 [None]) at ../gst/gstelement.c:2170 #15 0x00007fb4a94d537c in bin_bus_handler (bus=<optimized out>, message=<optimized out>, bin=<optimized out>) at ../gst/gstbin.c:3260 #16 0x00007fb4a94ee732 in gst_bus_post (bus=0x5596bb4636e0 [GstBus|bus1224], message=0x7f9b6c006a10 [None]) at ../gst/gstbus.c:357 #17 0x00007fb4a9504fbb in gst_element_post_message_default (element=0x5596bb0ed620 [GstElement|qtdemux49], message=0x7f9b6c006a10 [None]) at ../gst/gstelement.c:2127 #18 0x00007fb4a9504d7c in gst_element_post_message (element=element@entry=0x5596bb0ed620 [GstElement|qtdemux49], message=0x7f9b6c006a10 [None]) at ../gst/gstelement.c:2170 #19 0x00007fb4a950529d in gst_element_message_full_with_details (element=element@entry=0x5596bb0ed620 [GstElement|qtdemux49], type=type@entry=GST_MESSAGE_ERROR, domain=<optimized out>, code=code@entry=9, text=text@entry=0x5596bb45dcf0 "This file is invalid and cannot be played.", debug=debug@entry=0x7f9b6c006920 "This file is invalid and cannot be played.", file=<optimized out>, function=<optimized out>, line=<optimized out>, structure=<optimized out>) at ../gst/gstelement.c:2306 #20 0x00007fb4a9505409 in gst_element_message_full (element=element@entry=0x5596bb0ed620 [GstElement|qtdemux49], type=type@entry=GST_MESSAGE_ERROR, domain=<optimized out>, code=code@entry=9, text=text@entry=0x5596bb45dcf0 "This file is invalid and cannot be played.", debug=debug@entry=0x7f9b6c006920 "This file is invalid and cannot be played.", file=<optimized out>, function=<optimized out>, line=<optimized out>) at ../gst/gstelement.c:2345 #21 0x00007fb4380e9c8a in gst_qtdemux_process_adapter (demux=0x5596bb0ed620 [GstQTDemux|qtdemux49], force=<optimized out>) at ../gst/isomp4/qtdemux.c:7476 #22 0x00007fb4a95277a5 in gst_pad_chain_data_unchecked (pad=pad@entry=0x5596bb0edb40 [GstPad|sink], type=type@entry=4112, data=data@entry=0x5596bb4640f0) at ../gst/gstpad.c:4463 #23 0x00007fb4a952b194 in gst_pad_push_data (pad=pad@entry=0x5596bb48ade0 [GstPad|src], type=type@entry=4112, data=data@entry=0x5596bb4640f0) at ../gst/gstpad.c:4739 #24 0x00007fb4a952b55e in gst_pad_push (pad=0x5596bb48ade0 [GstPad|src], buffer=0x5596bb4640f0 [None]) at ../gst/gstpad.c:4858 #25 0x00007fb4a65348cb in gst_base_transform_chain (pad=<optimized out>, parent=0x5596bb48a610 [GstObject|identity102], buffer=<optimized out>) at ../libs/gst/base/gstbasetransform.c:2391 #26 0x00007fb4a95277a5 in gst_pad_chain_data_unchecked (pad=pad@entry=0x5596bb48a9d0 [GstPad|sink], type=type@entry=4112, data=data@entry=0x5596bb4640f0) at ../gst/gstpad.c:4463 #27 0x00007fb4a952b194 in gst_pad_push_data (pad=pad@entry=0x5596bb0ed1c0 [GstPad|src], type=type@entry=4112, data=data@entry=0x5596bb4640f0) at ../gst/gstpad.c:4739 #28 0x00007fb4a952b55e in gst_pad_push (pad=pad@entry=0x5596bb0ed1c0 [GstPad|src], buffer=0x5596bb4640f0 [None]) at ../gst/gstpad.c:4858 #29 0x00007fb4a652e2e4 in gst_base_src_loop (pad=0x5596bb0ed1c0 [GstPad|src]) at ../libs/gst/base/gstbasesrc.c:3035 #30 0x00007fb4a955f911 in gst_task_func (task=0x5596bafa5d30 [GstTask|appsrc111:src]) at ../gst/gsttask.c:384 #31 0x00007fb4a9768fb2 in g_thread_pool_thread_proxy (data=<optimized out>) at ../glib/gthreadpool.c:350 #32 0x00007fb4a9763c02 in g_thread_proxy (data=0x7fb434006240) at ../glib/gthread.c:831 #33 0x00007fb4a8fb325a in start_thread (arg=<optimized out>) at pthread_create.c:442 #34 0x00007fb4a903bfc4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100 (gdb) p response $1 = std::optional<WebCore::AbortableTaskQueue::Void> = {[contained value] = {<No data fields>}} TBH I'm not sure why we ASSERT here? ASSERT(!response) means that the abortable task queue was aborted, but why would that happen? For now I'll flag this test as [ Pass Crash ]...
Attachments
Philippe Normand
Comment 1 2023-11-12 07:18:15 PST
EWS
Comment 2 2023-11-12 07:21:13 PST
Committed 270611@main (0c47646d8429): <https://commits.webkit.org/270611@main> Reviewed commits have been landed. Closing PR #20392 and removing active labels.
Philippe Normand
Comment 3 2023-11-12 07:21:56 PST
Needs a proper patch.
Philippe Normand
Comment 4 2023-11-21 10:38:08 PST
Also media/media-source/media-webm-opus-partial-abort.html
EWS
Comment 5 2024-08-26 02:07:10 PDT
Committed 282726@main (188b29f2ba50): <https://commits.webkit.org/282726@main> Reviewed commits have been landed. Closing PR #32582 and removing active labels.
Radar WebKit Bug Importer
Comment 6 2024-08-26 02:08:16 PDT
Note You need to log in before you can comment on or make changes to this bug.