Bug 223636 - REGRESSION(r274358) [GStreamer] http/tests/images/mp4-partial-load.html is flaky crashing inside GStreamer
Summary: REGRESSION(r274358) [GStreamer] http/tests/images/mp4-partial-load.html is fl...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Page Loading (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Philippe Normand
URL:
Keywords: InRadar
: 224107 224112 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-03-23 07:57 PDT by Lauro Moura
Modified: 2021-04-06 07:38 PDT (History)
11 users (show)

See Also:


Attachments
WPE Crash log (48.82 KB, text/plain)
2021-03-23 07:57 PDT, Lauro Moura
no flags Details
Patch (6.01 KB, patch)
2021-03-28 10:38 PDT, Philippe Normand
no flags Details | Formatted Diff | Diff
Patch (7.64 KB, patch)
2021-04-06 07:11 PDT, Philippe Normand
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Lauro Moura 2021-03-23 07:57:13 PDT
Created attachment 424016 [details]
WPE Crash log

http/tests/images/mp4-partial-load.html

Flaky crashing inside gst_element_send_event since r274358, much more frequently on WPE.

Unfortunately, could not reproduce locally.

Trace:

Thread 1 (Thread 0x7f46d25fd700 (LWP 1638)):
#0  g_logv (log_domain=0x7f47a3ee0240 <g_log_domain_gstreamer> "GStreamer", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=<optimized out>) at ../glib/gmessages.c:1413
#1  0x00007f47a4088973 in g_log (log_domain=<optimized out>, log_level=log_level@entry=G_LOG_LEVEL_CRITICAL, format=format@entry=0x7f47a40e0ad0 "%s: assertion '%s' failed") at ../glib/gmessages.c:1451
#2  0x00007f47a408919d in g_return_if_fail_warning (log_domain=<optimized out>, pretty_function=pretty_function@entry=0x7f47a3efc6c0 <__func__.9> "gst_stream_get_stream_id", expression=expression@entry=0x7f47a3eef533 "GST_IS_STREAM (stream)") at ../glib/gmessages.c:2883
#3  0x00007f47a3ea4822 in gst_stream_get_stream_id (stream=0x0 [GstStream]) at ../gst/gststreams.c:265
#4  gst_stream_get_stream_id (stream=0x0 [GstStream]) at ../gst/gststreams.c:263
#5  0x00007f474c3840c0 in get_output_for_slot (slot=slot@entry=0x7f46c8057310) at ../gst/playback/gstdecodebin3.c:1534
#6  0x00007f474c388880 in idle_reconfigure (pad=0x7f46c80189a0 [GstMultiQueuePad|src_0], info=<optimized out>, slot=0x7f46c8057310) at ../gst/playback/gstdecodebin3.c:2324
#7  0x00007f47a3e7d297 in gst_pad_add_probe (pad=0x7f46c80189a0 [GstMultiQueuePad|src_0], mask=<optimized out>, mask@entry=GST_PAD_PROBE_TYPE_IDLE, callback=callback@entry=0x7f474c3887c0 <idle_reconfigure>, user_data=0x7f46c8057310, destroy_data=destroy_data@entry=0x0) at ../gst/gstpad.c:1501
#8  0x00007f474c38a488 in handle_stream_switch (dbin=0x7f46c401c030 [GstDecodebin3|decodebin3-0], select_streams=<optimized out>, seqnum=<optimized out>) at ../gst/playback/gstdecodebin3.c:2661
#9  0x00007f474c38a91c in gst_decodebin3_send_event (element=0x7f46c401c030 [GstDecodebin3|decodebin3-0], event=0x7f46c402a150 [GstEvent]) at ../gst/playback/gstdecodebin3.c:2784
#10 0x00007f47a3e5d4da in gst_element_send_event (element=0x7f46c401c030 [GstDecodebin3|decodebin3-0], event=0x7f46c402a150 [GstEvent]) at ../gst/gstelement.c:1947
#11 0x00007f47a8c297f4 in WebCore::ImageDecoderGStreamer::InnerDecoder::handleMessage(_GstMessage*) () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-1.0.so.3
#12 0x00007f47aa720d8b in WTF::RunLoop::performWork() () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-1.0.so.3
#13 0x00007f47aa78d999 in WTF::RunLoop::RunLoop()::{lambda(void*)#1}::_FUN(void*) () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-1.0.so.3
#14 0x00007f47aa78e34f in WTF::RunLoop::{lambda(_GSource*, int (*)(void*), void*)#1}::_FUN(_GSource*, int (*)(void*), void*) () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-1.0.so.3
#15 0x00007f47a4080dbf in g_main_dispatch (context=0x7f46c4000b60) at ../glib/gmain.c:3337
#16 g_main_context_dispatch (context=0x7f46c4000b60) at ../glib/gmain.c:4055
#17 0x00007f47a4081168 in g_main_context_iterate (context=0x7f46c4000b60, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4131
#18 0x00007f47a4081483 in g_main_loop_run (loop=0x7f46c40024e0) at ../glib/gmain.c:4329
#19 0x00007f47aa78e498 in WTF::RunLoop::run() () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-1.0.so.3
#20 0x00007f47aa7227f9 in WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-1.0.so.3
#21 0x00007f47aa790709 in WTF::wtfThreadEntryPoint(void*) () at /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-1.0.so.3
#22 0x00007f47a17334d2 in start_thread (arg=<optimized out>) at pthread_create.c:477
#23 0x00007f47a39bd323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

STDERR:

STDERR: WARNING: trying to load platform resource 'missingImage'
STDERR: 
STDERR: (WPEWebProcess:32562): GStreamer-CRITICAL **: 04:28:37.637: gst_stream_get_stream_id: assertion 'GST_IS_STREAM (stream)' failed
Comment 1 Philippe Normand 2021-03-23 08:07:57 PDT
Thanks Lauro, I'll have a look. Sorry for this trouble :D
Comment 2 Philippe Normand 2021-03-28 02:47:06 PDT
Same flaky crash in media/video-as-img-output-pts.html
Comment 3 Philippe Normand 2021-03-28 10:31:23 PDT
Reproducer:

GST_DEBUG="webkitimag*:6,*decodebin*:6" G_DEBUG=fatal_criticals TEST_RUNNER_TEST_PLUGIN_PATH= webkit-flatpak  -c rr record --chaos /app/webkit/WebKitBuild/Release/bin/WebKitTestRunner LayoutTests/media/video-as-img-output-pts.html
Comment 4 Philippe Normand 2021-03-28 10:38:29 PDT
Created attachment 424503 [details]
Patch
Comment 5 Carlos Alberto Lopez Perez 2021-04-02 10:17:06 PDT
*** Bug 224112 has been marked as a duplicate of this bug. ***
Comment 6 Carlos Alberto Lopez Perez 2021-04-02 10:18:13 PDT
*** Bug 224107 has been marked as a duplicate of this bug. ***
Comment 7 Carlos Alberto Lopez Perez 2021-04-02 10:26:20 PDT
Comment on attachment 424503 [details]
Patch

Patch looks fine.
I tested it fixes the crash on http/tests/images/mp4-partial-load.html and it also fixes the flaky crashes on media/video-as-img-output-pts.html and fast/images/animated-image-mp4-crash.html
Please remove this two tests from the glib TestExpectations file (that I added on r275423) when landing.
Comment 8 Philippe Normand 2021-04-06 07:11:46 PDT
Created attachment 425274 [details]
Patch
Comment 9 EWS 2021-04-06 07:37:32 PDT
Committed r275516: <https://commits.webkit.org/r275516>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 425274 [details].
Comment 10 Radar WebKit Bug Importer 2021-04-06 07:38:14 PDT
<rdar://problem/76266331>