RESOLVED FIXED 259915
[WPE][Debug]: fast/mediastream/captureStream/canvas3d.html crashes with error gst_sample_get_caps: assertion 'GST_IS_SAMPLE (sample)' failed
https://bugs.webkit.org/show_bug.cgi?id=259915
Summary [WPE][Debug]: fast/mediastream/captureStream/canvas3d.html crashes with error...
Diego Pino
Reported 2023-08-07 21:23:45 PDT
https://build.webkit.org/results/WPE-Linux-64-bit-Debug-Tests/266663@main%20(6300)/fast/mediastream/captureStream/canvas3d-crash-log.txt STDERR: (WPEWebProcess:76043): GStreamer-CRITICAL **: 18:47:01.803: gst_sample_get_caps: assertion 'GST_IS_SAMPLE (sample)' failed STDERR: WPEWebProcess terminated (pid 76043) for reason: crash Thread 1 (Thread 0x7fd586f62ec0 (LWP 76043)): #0 g_logv (log_domain=0x7fd58d9529ae "GStreamer", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=<optimized out>) at ../glib/gmessages.c:1422 #1 0x00007fd58db05c53 in g_log (log_domain=log_domain@entry=0x7fd58d9529ae "GStreamer", log_level=log_level@entry=G_LOG_LEVEL_CRITICAL, format=format@entry=0x7fd58db69ff7 "%s: assertion '%s' failed") at ../glib/gmessages.c:1460 #2 0x00007fd58db06e6d in g_return_if_fail_warning (log_domain=log_domain@entry=0x7fd58d9529ae "GStreamer", pretty_function=pretty_function@entry=0x7fd58d977920 <__func__.8.lto_priv.35> "gst_sample_get_caps", expression=expression@entry=0x7fd58d975644 "GST_IS_SAMPLE (sample)") at ../glib/gmessages.c:2930 #3 0x00007fd58d911c26 in gst_sample_get_caps (sample=<optimized out>) at ../gst/gstsample.c:209 #4 gst_sample_get_caps (sample=<optimized out>) at ../gst/gstsample.c:207 #5 0x00007fd5a02e4b5e in WebCore::VideoFrameGStreamer::create(WTF::GRefPtr<_GstSample>&&, WebCore::FloatSize const&, WTF::MediaTime const&, WebCore::VideoFrameRotation, bool, std::optional<WebCore::VideoFrameTimeMetadata>&&, std::optional<WebCore::PlatformVideoColorSpace>&&) (sample=..., presentationSize=..., presentationTime=..., videoRotation=WebCore::VideoFrameRotation::None, videoMirrored=false, metadata=..., colorSpace=...) at /app/webkit/Source/WebCore/platform/graphics/gstreamer/VideoFrameGStreamer.cpp:222 #6 0x00007fd5a02d9edc in WebCore::MediaPlayerPrivateGStreamer::videoFrameForCurrentTime() (this=0x7fd57d561780) at /app/webkit/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:3870 #7 0x00007fd5a0137426 in WebCore::MediaPlayer::videoFrameForCurrentTime() (this=0x7fd57d129c60) at /app/webkit/Source/WebCore/platform/graphics/MediaPlayer.cpp:1144 #8 0x00007fd59e1c65c8 in operator()(WTF::RefPtr<WebCore::HTMLVideoElement, WTF::RawPtrTraits<WebCore::HTMLVideoElement>, WTF::DefaultRefDerefTraits<WebCore::HTMLVideoElement> >&) const (__closure=0x7ffcc8113cd0, video=...) at /app/webkit/Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.cpp:190 I think the issue might be that the `convertedSample` in https://searchfox.org/wubkat/source/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp#3868 is not sample anymore.
Attachments
Philippe Normand
Comment 1 2023-08-08 01:06:04 PDT
This bot has no GPU I guess? Setting GST_DEBUG=3 should show the relevant error, most likely from gst_video_convert_sample() returning NULL. I cannot reproduce this here, but this code should be more error-prone. I'll send a PR.
Philippe Normand
Comment 2 2023-08-08 01:08:36 PDT
EWS
Comment 3 2023-08-09 05:31:33 PDT
Committed 266723@main (6204c3532ecc): <https://commits.webkit.org/266723@main> Reviewed commits have been landed. Closing PR #16470 and removing active labels.
Radar WebKit Bug Importer
Comment 4 2023-08-09 05:32:14 PDT
Note You need to log in before you can comment on or make changes to this bug.