Bug 280334
Summary: | REGRESSION(284072@main): [GStreamer] A lot of media tests crash with Assertion "SHOULD NEVER BE REACHED" | ||
---|---|---|---|
Product: | WebKit | Reporter: | zsun |
Component: | WPE WebKit | Assignee: | Enrique Ocaña <eocanha> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | bugs-noreply, eocanha, philn, vitaly |
Priority: | P2 | ||
Version: | WebKit Nightly Build | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
See Also: | https://bugs.webkit.org/show_bug.cgi?id=275683 |
zsun
Thread 1 (LWP 975952):
#0 0x00007f1a13c69494 in ?? ()
Backtrace stopped: Cannot access memory at address 0x7ffeb75ee488
STDERR: webkitpy.common.system.logutils: [DEBUG] Debug logging enabled.
STDERR: flatpakutils: [DEBUG] Using flatpak user dir: /home/ziran/WebKit/WebKitBuild/UserFlatpak
STDERR: flatpakutils: [DEBUG] Building WPE port in /home/ziran/WebKit/WebKitBuild/WPE/Release
STDERR: flatpakutils: [DEBUG] Running flatpak --version
STDERR: flatpakutils: [DEBUG] Running flatpak remote-list --help
STDERR: flatpakutils: [DEBUG] Running flatpak remote-list --user --columns=name,title,url
STDERR: flatpakutils: [DEBUG] Running flatpak list --help
STDERR: flatpakutils: [DEBUG] Running flatpak list --user --columns=application,arch,branch,origin -a
STDERR: flatpakutils: [DEBUG] Running: coredumpctl --since=@1727255832.101814 dump
STDERR:
STDERR: flatpakutils: [DEBUG] Found a11y address b'unix:abstract=/tmp/dbus-huaGs8qfVA,guid=74b91fe39c2901f2a3f2f7f666c47c54'
STDERR: flatpakutils: [DEBUG] Running: flatpak run --user --die-with-parent --filesystem=host --allow=devel --share=network --talk-name=org.gtk.vfs --talk-name=org.gtk.vfs.* --session-bus --no-a11y-bus --filesystem=/tmp/webkit-flatpak-a11y-sockets-ybu4p9mo --env=AT_SPI_BUS_ADDRESS=unix:path=/tmp/webkit-flatpak-a11y-sockets-ybu4p9mo/tmpqqosvj6r --device=all --device=dri --share=ipc --socket=pulseaudio --socket=session-bus --socket=system-bus --socket=wayland --socket=x11 --system-talk-name=org.a11y.Bus --system-talk-name=org.freedesktop.GeoClue2 --talk-name=org.freedesktop.Flatpak --talk-name=org.freedesktop.secrets --env=TEST_RUNNER_INJECTED_BUNDLE_FILENAME=/app/webkit/WebKitBuild/Release/lib/libTestRunnerInjectedBundle.so --env=PATH=/usr/lib/sdk/llvm18/bin:/usr/bin:/usr/lib/sdk/rust-stable/bin/ --env=TZ=America/Los_Angeles --env=GTK_MODULES=gail:atk-bridge --env=DISPLAY=:1 --env=WEBKIT_FLATPAK_USER_DIR=/home/ziran/WebKit/WebKitBuild/UserFlatpak --env=WEBKIT_FLATPAK_LD_PRELOAD=/home/ziran/WebKit/WebKitBuild/WPE/Release/lib/libsigaction-disabler.so --command=gdb org.webkit.Sdk -ex thread apply all backtrace --batch /app/webkit/WebKitBuild/WPE/Release/bin/WPEWebProcess /run/host//tmp/tmpaejy6n0n
STDERR:
STDERR: BFD: warning: /run/host//tmp/tmpaejy6n0n has a segment extending past end of file
STDERR:
STDERR: warning: Can't open file /tmp/WebKitTestRunners-sy82aai3/appcache/mesa_shader_cache_db/index during file-backed mapping note processing
STDERR:
STDERR: warning: Can't open file /memfd:mesa-shared (deleted) during file-backed mapping note processing
STDERR:
STDERR: warning: Can't open file /memfd:WebKitSharedMemory (deleted) during file-backed mapping note processing
STDERR:
STDERR: warning: Error reading shared library list entry at 0xdaa6893d68844591
STDERR: Cannot access memory at address 0x7f46b08099d67834
STDERR: Cannot access memory at address 0x7f46b08099d6782c
STDERR: Failed to read a valid object file image from memory.
STDERR: SHOULD NEVER BE REACHED
STDERR: /app/webkit/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp(1360) : std::optional<int> WebCore::MediaPlayerPrivateGStreamer::queryBufferingPercentage()
STDERR: 1 0x7f1a16e7b64f WebCore::MediaPlayerPrivateGStreamer::queryBufferingPercentage()
STDERR: 2 0x7f1a16ea4e05 WebCore::MediaPlayerPrivateGStreamer::fillTimerFired()
STDERR: 3 0x7f1a16c6e5eb WebCore::ThreadTimers::sharedTimerFiredInternal()
STDERR: 4 0x7f1a13d7aa25 WTF::RunLoop::TimerBase::TimerBase(WTF::Ref<WTF::RunLoop, WTF::RawPtrTraits<WTF::RunLoop>, WTF::DefaultRefDerefTraits<WTF::RunLoop> >&&)::{lambda(void*)#1}::_FUN(void*)
STDERR: 5 0x7f1a13d7b46f WTF::RunLoop::{lambda(_GSource*, int (*)(void*), void*)#1}::_FUN(_GSource*, int (*)(void*), void*)
STDERR: 6 0x7f1a0cafcd36 g_main_context_dispatch
STDERR: 7 0x7f1a0cb5a2b8 g_main_context_iterate.isra.0
STDERR: 8 0x7f1a0cafc3ff g_main_loop_run
STDERR: 9 0x7f1a13d7b658 WTF::RunLoop::run()
STDERR: 10 0x7f1a11f79f5f int WebKit::AuxiliaryProcessMain<WebKit::WebProcessMainWPE>(int, char**)
STDERR: 11 0x7f1a0c30908a __libc_start_call_main
STDERR: 12 0x7f1a0c30914b __libc_start_main
STDERR: 13 0x55c42783a7e5 _start
STDERR: WPEWebProcess terminated (pid 975952) for reason: crash
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
zsun
Possibly affected tests -
media/audio-concurrent-supported.html
media/audio-constructor-src.html
+media/audio-controls-hidden-display-none.html
+media/audio-data-url.html
+media/audio-mpeg-supported.html
+media/audio-mpeg4-supported.html
+media/audio-play-with-video-element-interrupted.html
+media/audio-playback-restriction-autoplay.html
+media/audio-playback-restriction-play-muted.html
+media/audio-playback-restriction-play.html
+media/audio-playback-restriction-removed-muted.html
+media/audio-playback-restriction-removed-track-enabled.html
+media/auto-play-in-sandbox-with-allow-scripts.html
+media/auto-play-video-in-about-blank-iframe.html
+media/context-menu-actions.html
+media/controls-should-not-trigger-isolates-blending.html
+media/data-url-cross-origin.html
+media/event-attributes.html
+media/event-queue-crash.html
+media/fullscreen-when-muted.html
+media/loadedmetadata-fires-without-user-gesture-when-setRequiresUserGestureToLoadVideo-false.html
+media/media-can-load-when-hidden.html
+media/media-captions-no-controls.html
+media/media-continues-playing-after-replace-source.html
+media/media-controller-play-then-pause.html
+media/media-controller-playback.html
+media/media-controller-playbackrate.html
+media/media-controller-time-clamp.html
+media/media-controller-time-constant.html
+media/media-controller-time.html
+media/media-controller-timeupdate.html
+media/media-controller-unpause.html
+media/media-css-muted.html
+media/media-element-play-after-eos.html
+media/media-ended-fired-once.html
+media/media-ended.html
+media/media-event-listeners.html
+media/media-extension-with-fragment.html
+media/media-fragments/TC0003.html
+media/media-fragments/TC0005.html
+media/media-fragments/TC0009.html
+media/media-fragments/TC0012.html
+media/media-fragments/TC0014.html
+media/media-fragments/TC0015.html
+media/media-fragments/TC0017.html
+media/media-fragments/TC0024.html
+media/media-fragments/TC0027.html
+media/media-fragments/TC0028.html
+media/media-fragments/TC0029.html
+media/media-fragments/TC0030.html
+media/media-fragments/TC0031.html
+media/media-fragments/TC0032.html
+media/media-fragments/TC0033.html
+media/media-fragments/TC0034.html
+media/media-fragments/TC0035.html
+media/media-fragments/TC0036.html
+media/media-fragments/TC0037.html
+media/media-fragments/TC0038.html
+media/media-fragments/TC0039.html
+media/media-fragments/TC0044.html
+media/media-fragments/TC0051.html
+media/media-fragments/TC0052.html
+media/media-fragments/TC0053.html
+media/media-fragments/TC0054.html
+media/media-fragments/TC0055.html
+media/media-fragments/TC0058.html
+media/media-fragments/TC0059.html
+media/media-fragments/TC0061.html
+media/media-fragments/TC0062.html
+media/media-fragments/TC0063.html
+media/media-fragments/TC0064.html
+media/media-fragments/TC0065.html
+media/media-fragments/TC0066.html
+media/media-fragments/TC0067.html
+media/media-fragments/TC0068.html
+media/media-fragments/TC0069.html
+media/media-fragments/TC0070.html
+media/media-fragments/TC0071.html
+media/media-fragments/TC0072.html
+media/media-fragments/TC0073.html
+media/media-fragments/TC0074.html
+media/media-fragments/TC0075.html
+media/media-fragments/TC0076.html
+media/media-fragments/TC0077.html
+media/media-fragments/TC0078.html
+media/media-fragments/TC0079.html
+media/media-fragments/TC0080.html
+media/media-fragments/TC0081.html
+media/media-fragments/TC0082.html
+media/media-fragments/TC0083.html
+media/media-fragments/TC0084.html
+media/media-fragments/TC0085.html
+media/media-fragments/TC0086.html
+media/media-fragments/TC0087.html
+media/media-fragments/TC0088.html
+media/media-fragments/TC0089.html
+media/media-fragments/TC0090.html
+media/media-fragments/TC0091.html
+media/media-fragments/TC0092.html
+media/media-fragments/TC0093.html
+media/media-fragments/TC0094.html
+media/media-fragments/TC0095.html
+media/media-fullscreen-inline.html
+media/media-fullscreen-not-in-document.html
+media/media-load-event.html
+media/media-play-promise-reject-load-abort.html
+media/media-play-promise-reject-play-notallowed-audio.html
+media/media-play-promise-reject-play-notallowed.html
+media/media-play-promise-resolve-when-playing.html
+media/media-play-promise-resolve.html
+media/media-playback-page-visibility.html
+media/media-session/default-actionHandlers.html
+media/media-sources-selection.html
+media/media-vp8-hiddenframes.html
+media/media-vp8-webm-error.html
+media/media-vp8-webm-seek-to-start.html
+media/media-vp8-webm-with-poster.html
+media/media-vp8-webm.html
+media/media-webm-opus-buffered.html
+media/media-webm-opus-error.html
+media/media-webm-opus-variable-length.html
+media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-off.html
+media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-on.html
and more in media/
Enrique Ocaña
This was caused by my https://commits.webkit.org/284072@main patch. A video can work in two modes: streaming mode (GstQueue2 element is used, GST_MESSAGE_BUFFERING is relied upon to get buffering info) or download mode (GstDownloadBuffer element is used, fillTimer is used to poll its buffering percentage). The [failing ASSERT_NOT_REACHED()](https://github.com/WebKit/WebKit/blob/main/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp#L1363) is hinting about a mismatch in these assumptions, which needs to be debugged.
zsun
Just to update, this also happens to some other tests that are not in media/ directory. For example,
+accessibility/video-element-url-attribute.html
+compositing/geometry/clipped-video-controller.html
+compositing/geometry/video-fixed-scrolling.html
+compositing/geometry/video-opacity-overlay.html
+compositing/layers-inside-overflow-scroll.html
+compositing/overflow/overflow-compositing-descendant.html
+compositing/overflow/scroll-ancestor-update.html
+compositing/reflections/load-video-in-reflection.html
+compositing/self-painting-layers.html
+compositing/self-painting-layers2.html
+compositing/shared-backing/clipping-and-shared-backing.html
+compositing/video-page-visibility.html
+compositing/video/poster.html
+compositing/video/video-border-radius-clipping.html
+compositing/video/video-border-radius.html
+compositing/video/video-clip-change-src.htm
+compositing/video/video-object-fit.html
+compositing/video/video-object-position.html
+compositing/video/video-poster.html
+compositing/video/video-reflection.html
+compositing/video/video-update-rendering.html
+compositing/visibility/visibility-simple-video-layer.html
+fast/canvas/canvas-createPattern-video-loading.html
+fast/canvas/canvas-createPattern-video-modify.html
+fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgb565.html
+fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba4444.html
+fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba5551.html
+fast/canvas/webgl/tex-image-and-sub-image-2d-with-video.html
And more...
Enrique Ocaña
Pull request: https://github.com/WebKit/WebKit/pull/34235
EWS
Committed 284353@main (ae4d384da8af): <https://commits.webkit.org/284353@main>
Reviewed commits have been landed. Closing PR #34235 and removing active labels.