WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
280153
[GStreamer][WebCodecs] Assertion failure ASSERTION FAILED: canSafelyBeUsed()
https://bugs.webkit.org/show_bug.cgi?id=280153
Summary
[GStreamer][WebCodecs] Assertion failure ASSERTION FAILED: canSafelyBeUsed()
zsun
Reported
2024-09-22 08:03:17 PDT
STDERR: ASSERTION FAILED: canSafelyBeUsed() STDERR: /app/webkit/WebKitBuild/WPE/Debug/WTF/Headers/wtf/WeakPtr.h(94) : T* WTF::WeakPtr< <template-parameter-1-1>, WeakPtrImpl, <template-parameter-1-3> >::get() const [with T = WebCore::GStreamerInternalAudioDecoder; WeakPtrImpl = WTF::DefaultWeakPtrImpl; PtrTraits = WTF::RawPtrTraits<WTF::DefaultWeakPtrImpl>] STDERR: 1 0x7f348e3e240d WTF::WeakPtr<WebCore::GStreamerInternalAudioDecoder, WTF::DefaultWeakPtrImpl, WTF::RawPtrTraits<WTF::DefaultWeakPtrImpl> >::get() const STDERR: 2 0x7f348e3e1bfa operator()<WebCore::GStreamerElementHarness::Stream> STDERR: 3 0x7f348e3e1f76 call STDERR: 4 0x7f348e82fcb3 WTF::Function<void (WebCore::GStreamerElementHarness::Stream&, WTF::GRefPtr<_GstSample>&&)>::operator()(WebCore::GStreamerElementHarness::Stream&, WTF::GRefPtr<_GstSample>&&) const STDERR: 5 0x7f348e82b4a4 WebCore::GStreamerElementHarness::processOutputSamples() STDERR: 6 0x7f348e3b4eb2 WebCore::GStreamerInternalAudioDecoder::decode(std::span<unsigned char const, 18446744073709551615ul>, bool, long, std::optional<unsigned long>) STDERR: 7 0x7f348e3b303c operator() STDERR: 8 0x7f348e3b30c5 operator() STDERR: 9 0x7f348e3e1fbc call STDERR: 10 0x7f3485cc23bb WTF::Function<void ()>::operator()() const STDERR: 11 0x7f3489a443a8 operator() STDERR: 12 0x7f3489a46282 call STDERR: 13 0x7f3485cc23bb WTF::Function<void ()>::operator()() const STDERR: 14 0x7f34898ce1a3 WTF::RunLoop::performWork() STDERR: 15 0x7f3489a4859c operator() STDERR: 16 0x7f3489a485c0 _FUN STDERR: 17 0x7f3489a484db operator() STDERR: 18 0x7f3489a48529 _FUN STDERR: 19 0x7f3475a4ed36 g_main_context_dispatch STDERR: 20 0x7f3475aac2b8 g_main_context_iterate.isra.0 STDERR: 21 0x7f3475a4e3ff g_main_loop_run STDERR: 22 0x7f3489a48c40 WTF::RunLoop::run() STDERR: 23 0x7f34898cdf1d operator() STDERR: 24 0x7f34898d0454 call STDERR: 25 0x7f3485cc23bb WTF::Function<void ()>::operator()() const STDERR: 26 0x7f348998e9ff WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) STDERR: 27 0x7f3489a57357 wtfThreadEntryPoint STDERR: 28 0x7f34753f9e39 start_thread STDERR: 29 0x7f34754818c4 clone STDERR: WPEWebProcess terminated (pid 684832) for reason: crash
Attachments
Add attachment
proposed patch, testcase, etc.
zsun
Comment 1
2024-09-22 08:05:15 PDT
Affected tests - imported/w3c/web-platform-tests/webcodecs/audio-encoder.https.any.html imported/w3c/web-platform-tests/webcodecs/audioDecoder-codec-specific.https.any.html?adts_aac imported/w3c/web-platform-tests/webcodecs/audioDecoder-codec-specific.https.any.html?mp3 imported/w3c/web-platform-tests/webcodecs/audioDecoder-codec-specific.https.any.html?mp4_aac imported/w3c/web-platform-tests/webcodecs/audioDecoder-codec-specific.https.any.html?opus imported/w3c/web-platform-tests/webcodecs/audioDecoder-codec-specific.https.any.html?pcm_alaw imported/w3c/web-platform-tests/webcodecs/audioDecoder-codec-specific.https.any.html?pcm_mulaw
Philippe Normand
Comment 2
2024-09-22 08:44:28 PDT
This should likely become a ThreadSafeWeakPtr instead of WeakPtr. I can send a patch tomorrow, thanks for the heads-up!
Philippe Normand
Comment 3
2024-09-23 01:29:03 PDT
Pull request:
https://github.com/WebKit/WebKit/pull/34074
EWS
Comment 4
2024-09-24 00:37:39 PDT
Committed
284145@main
(bacb3d487ac0): <
https://commits.webkit.org/284145@main
> Reviewed commits have been landed. Closing PR #34074 and removing active labels.
zsun
Comment 5
2024-09-24 06:37:21 PDT
STDERR: ASSERTION FAILED: canSafelyBeUsed() STDERR: /app/webkit/WebKitBuild/WPE/Release/WTF/Headers/wtf/WeakPtr.h(94) : T* WTF::WeakPtr< <template-parameter-1-1>, WeakPtrImpl, <template-parameter-1-3> >::get() const [with T = WebCore::MediaStreamTrackPrivate; WeakPtrImpl = WTF::DefaultWeakPtrImpl; PtrTraits = WTF::RawPtrTraits<WTF::DefaultWeakPtrImpl>] STDERR: 1 0x7ff5ff7d8fda InternalSource::videoFrameAvailable(WebCore::VideoFrame&, WebCore::VideoFrameTimeMetadata) STDERR: 2 0x7ff5ff7b3d4e WebCore::RealtimeMediaSource::videoFrameAvailable(WebCore::VideoFrame&, WebCore::VideoFrameTimeMetadata) STDERR: 3 0x7ff5ff7c8391 WebCore::RealtimeVideoCaptureSource::dispatchVideoFrameToObservers(WebCore::VideoFrame&, WebCore::VideoFrameTimeMetadata) STDERR: 4 0x7ff5ff7eec9f WTF::Detail::CallableWrapper<WebCore::MockRealtimeVideoSourceGStreamer::MockRealtimeVideoSourceGStreamer(WTF::String&&, WTF::AtomString&&, WebCore::MediaDeviceHashSalts&&, std::optional<WTF::ObjectIdentifierGeneric<WebCore::PageIdentifierType, WTF::ObjectIdentifierMainThreadAccessTraits<unsigned long>, unsigned long, (WTF::SupportsObjectIdentifierNullState)0> >)::{lambda(auto:1&&)#1}, void, WTF::Ref<WebCore::VideoFrameGStreamer, WTF::RawPtrTraits<WebCore::VideoFrameGStreamer>, WTF::DefaultRefDerefTraits<WebCore::VideoFrameGStreamer> >&&>::call(WTF::Ref<WebCore::VideoFrameGStreamer, WTF::RawPtrTraits<WebCore::VideoFrameGStreamer>, WTF::DefaultRefDerefTraits<WebCore::VideoFrameGStreamer> >&&) STDERR: 5 0x7ff5ff7de068 WebCore::GStreamerVideoCapturer::setSinkVideoFrameCallback(WTF::Function<void (WTF::Ref<WebCore::VideoFrameGStreamer, WTF::RawPtrTraits<WebCore::VideoFrameGStreamer>, WTF::DefaultRefDerefTraits<WebCore::VideoFrameGStreamer> >&&)>&&)::{lambda(WebCore::GStreamerVideoCapturer*, _GstElement*)#1}::_FUN(WebCore::GStreamerVideoCapturer*, _GstElement*) STDERR: 6 0x7ff5ef006056 ffi_call_unix64 STDERR: 7 0x7ff5ef004b5d ffi_call_int STDERR: 8 0x7ff5ef005313 ffi_call STDERR: 9 0x7ff5f4561b43 g_cclosure_marshal_generic_va STDERR: 10 0x7ff5f457ba83 g_signal_emit_valist STDERR: 11 0x7ff5f457bc03 g_signal_emit STDERR: 12 0x7ff5f1982bab gst_app_sink_render_common.isra.0 STDERR: 13 0x7ff5f19584e3 gst_base_sink_chain_unlocked.isra.0 STDERR: 14 0x7ff5f192501e gst_base_sink_chain_main STDERR: 15 0x7ff5f5149b6c gst_pad_chain_data_unchecked STDERR: 16 0x7ff5f514cf0e gst_pad_push_data STDERR: 17 0x7ff5f514d544 gst_pad_push STDERR: 18 0x7ff5000890e9 gst_queue_loop STDERR: 19 0x7ff5f51817d4 gst_task_func STDERR: 20 0x7ff5f53634f2 g_thread_pool_thread_proxy.lto_priv.0 STDERR: 21 0x7ff5f5360862 g_thread_proxy STDERR: 22 0x7ff5f4ba0e39 start_thread STDERR: 23 0x7ff5f4c288c4 clone STDERR: WPEWebProcess terminated (pid 1032409) for reason: crash
zsun
Comment 6
2024-09-24 07:13:25 PDT
***
Bug 280152
has been marked as a duplicate of this bug. ***
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug