WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
268917
[GStreamer][Debug] More audio worklet flaky crashes
https://bugs.webkit.org/show_bug.cgi?id=268917
Summary
[GStreamer][Debug] More audio worklet flaky crashes
Philippe Normand
Reported
2024-02-07 07:34:53 PST
That make no sense. imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletglobalscope-sample-rate.https.html Thread 1 (Thread 0x7f3d23fff6c0 (LWP 639517)): #0 std::__atomic_base<unsigned char>::load(std::memory_order) const (__m=std::memory_order::relaxed, this=0x8) at /usr/include/c++/13.2.0/bits/atomic_base.h:505 #1 WTF::Atomic<unsigned char>::load(std::memory_order) const (this=0x8, order=std::memory_order::relaxed) at /app/webkit/WebKitBuild/WPE/Debug/WTF/Headers/wtf/Atomics.h:63 #2 0x00007f3e41c74560 in WTF::LockAlgorithm<unsigned char, (unsigned char)1, (unsigned char)2, WTF::EmptyLockHooks<unsigned char> >::tryLock(WTF::Atomic<unsigned char>&) (lock=...) at /app/webkit/WebKitBuild/WPE/Debug/WTF/Headers/wtf/LockAlgorithm.h:78 #3 0x00007f3e41c73f8a in WTF::Lock::tryLock() (this=0x8) at /app/webkit/WebKitBuild/WPE/Debug/WTF/Headers/wtf/Lock.h:71 #4 0x00007f3e491f0f02 in WebCore::AudioDestination::callRenderCallback(WebCore::AudioBus*, WebCore::AudioBus*, unsigned long, WebCore::AudioIOPosition const&) (this=0x0, sourceBus=0x0, destinationBus=0x7f3e244e9480, framesToProcess=128, outputPosition=...) at /app/webkit/Source/WebCore/platform/audio/AudioDestination.h:103 #5 0x00007f3e4927427c in webKitWebAudioSrcRenderAndPushFrames(WTF::GRefPtr<_GstElement> const&, WTF::GRefPtr<_GstBuffer>&&) (element=..., buffer=...) at /app/webkit/Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:337 #6 0x00007f3e492745d8 in operator()() (__closure=0x7f3cfa518828) at /app/webkit/Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:385 #7 0x00007f3e49275666 in WTF::Detail::CallableWrapper<webKitWebAudioSrcRenderIteration(WebKitWebAudioSrc*)::<lambda()>, void>::call(void) (this=0x7f3cfa518820) at /app/webkit/WebKitBuild/WPE/Debug/WTF/Headers/wtf/Function.h:53 #8 0x00007f3e416b9377 in WTF::Function<void ()>::operator()() const (this=0x7f3e243a4ef8) at /app/webkit/WebKitBuild/WPE/Debug/WTF/Headers/wtf/Function.h:82 #9 0x00007f3e47210a90 in operator()(WebCore::ScriptExecutionContext&) (__closure=0x7f3e243a4ef8) at /app/webkit/Source/WebCore/Modules/webaudio/DefaultAudioDestinationNode.cpp:151 #10 0x00007f3e47218cc8 in WTF::Detail::CallableWrapper<WebCore::DefaultAudioDestinationNode::dispatchToRenderThreadFunction()::<lambda(WTF::Function<void()>&&)>::<lambda(WebCore::ScriptExecutionContext&)>, void, WebCore::ScriptExecutionContext&>::call(WebCore::ScriptExecutionContext &) (this=0x7f3e243a4ef0, in#0=...) at /app/webkit/WebKitBuild/WPE/Debug/WTF/Headers/wtf/Function.h:53 #11 0x00007f3e46b326d7 in WTF::Function<void (WebCore::ScriptExecutionContext&)>::operator()(WebCore::ScriptExecutionContext&) const (this=0x7f3cfa518840, in#0=...) at /app/webkit/WebKitBuild/WPE/Debug/WTF/Headers/wtf/Function.h:82 #12 0x00007f3e4733e233 in WebCore::ScriptExecutionContext::Task::performTask(WebCore::ScriptExecutionContext&) (this=0x7f3cfa518840, context=...) at /app/webkit/Source/WebCore/dom/ScriptExecutionContext.h:233 #13 0x00007f3e4a36fc33 in WebCore::WorkerDedicatedRunLoop::Task::performTask(WebCore::WorkerOrWorkletGlobalScope*) (this=0x7f3cfa518840, context=0x7f3dc50b3530) at /app/webkit/Source/WebCore/workers/WorkerRunLoop.cpp:289 #14 0x00007f3e4a36f623 in WebCore::WorkerDedicatedRunLoop::runInMode(WebCore::WorkerOrWorkletGlobalScope*, WebCore::ModePredicate const&) (this=0x7f3e242df960, context=0x7f3dc50b3530, predicate=...) at /app/webkit/Source/WebCore/workers/WorkerRunLoop.cpp:224 #15 0x00007f3e4a36ef9e in WebCore::WorkerDedicatedRunLoop::run(WebCore::WorkerOrWorkletGlobalScope*) (this=0x7f3e242df960, context=0x7f3dc50b3530) at /app/webkit/Source/WebCore/workers/WorkerRunLoop.cpp:156 #16 0x00007f3e4a36db9f in WebCore::WorkerOrWorkletThread::runEventLoop() (this=0x7f3e2492ac50) at /app/webkit/Source/WebCore/workers/WorkerOrWorkletThread.cpp:113 #17 0x00007f3e4a36e070 in WebCore::WorkerOrWorkletThread::workerOrWorkletThread() (this=0x7f3e2492ac50) at /app/webkit/Source/WebCore/workers/WorkerOrWorkletThread.cpp:187 #18 0x00007f3e471e22ab in operator()() const (__closure=0x7f3e243a7d98) at /app/webkit/Source/WebCore/Modules/webaudio/AudioWorkletThread.cpp:73 #19 0x00007f3e471f5118 in WTF::Detail::CallableWrapper<WebCore::AudioWorkletThread::createThread()::<lambda()>, void>::call(void) (this=0x7f3e243a7d90) at /app/webkit/WebKitBuild/WPE/Debug/WTF/Headers/wtf/Function.h:53 #20 0x00007f3e416b9377 in WTF::Function<void ()>::operator()() const (this=0x7f3d23ffeb80) at /app/webkit/WebKitBuild/WPE/Debug/WTF/Headers/wtf/Function.h:82 #21 0x00007f3e44bf02f1 in WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) (newThreadContext=0x7f3e24af97b0) at /app/webkit/Source/WTF/wtf/Threading.cpp:258 #22 0x00007f3e44cb605f in WTF::wtfThreadEntryPoint(void*) (context=0x7f3e24af97b0) at /app/webkit/Source/WTF/wtf/posix/ThreadingPOSIX.cpp:247 #23 0x00007f3e351b2e39 in start_thread (arg=<optimized out>) at pthread_create.c:444 #24 0x00007f3e3523a8c4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100 imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletprocessor-promises.https.html Thread 1 (Thread 0x7ef7567fc6c0 (LWP 655198)): #0 0x00007f10c7c7deab in WebCore::AudioDestinationGStreamer::notifyIsPlaying(bool) (this=0x0, isPlaying=true) at /app/webkit/Source/WebCore/platform/audio/gstreamer/AudioDestinationGStreamer.cpp:293 #1 0x00007f10c7cad2d2 in webKitWebAudioSrcRenderAndPushFrames(WTF::GRefPtr<_GstElement> const&, WTF::GRefPtr<_GstBuffer>&&) (element=..., buffer=...) at /app/webkit/Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:340 #2 0x00007f10c7cad5d8 in operator()() (__closure=0x7ef5c211cd08) at /app/webkit/Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:385 #3 0x00007f10c7cae666 in WTF::Detail::CallableWrapper<webKitWebAudioSrcRenderIteration(WebKitWebAudioSrc*)::<lambda()>, void>::call(void) (this=0x7ef5c211cd00) at /app/webkit/WebKitBuild/WPE/Debug/WTF/Headers/wtf/Function.h:53 #4 0x00007f10c00f2377 in WTF::Function<void ()>::operator()() const (this=0x7ef5c203c3a8) at /app/webkit/WebKitBuild/WPE/Debug/WTF/Headers/wtf/Function.h:82 #5 0x00007f10c5c49a90 in operator()(WebCore::ScriptExecutionContext&) (__closure=0x7ef5c203c3a8) at /app/webkit/Source/WebCore/Modules/webaudio/DefaultAudioDestinationNode.cpp:151 #6 0x00007f10c5c51cc8 in WTF::Detail::CallableWrapper<WebCore::DefaultAudioDestinationNode::dispatchToRenderThreadFunction()::<lambda(WTF::Function<void()>&&)>::<lambda(WebCore::ScriptExecutionContext&)>, void, WebCore::ScriptExecutionContext&>::call(WebCore::ScriptExecutionContext &) (this=0x7ef5c203c3a0, in#0=...) at /app/webkit/WebKitBuild/WPE/Debug/WTF/Headers/wtf/Function.h:53 #7 0x00007f10c556b6d7 in WTF::Function<void (WebCore::ScriptExecutionContext&)>::operator()(WebCore::ScriptExecutionContext&) const (this=0x7ef5c211cd20, in#0=...) at /app/webkit/WebKitBuild/WPE/Debug/WTF/Headers/wtf/Function.h:82 #8 0x00007f10c5d77233 in WebCore::ScriptExecutionContext::Task::performTask(WebCore::ScriptExecutionContext&) (this=0x7ef5c211cd20, context=...) at /app/webkit/Source/WebCore/dom/ScriptExecutionContext.h:233 #9 0x00007f10c8da8c33 in WebCore::WorkerDedicatedRunLoop::Task::performTask(WebCore::WorkerOrWorkletGlobalScope*) (this=0x7ef5c211cd20, context=0x7ef5c21140c0) at /app/webkit/Source/WebCore/workers/WorkerRunLoop.cpp:289 #10 0x00007f10c8da8623 in WebCore::WorkerDedicatedRunLoop::runInMode(WebCore::WorkerOrWorkletGlobalScope*, WebCore::ModePredicate const&) (this=0x7ef5c20d06c0, context=0x7ef5c21140c0, predicate=...) at /app/webkit/Source/WebCore/workers/WorkerRunLoop.cpp:224 #11 0x00007f10c8da7f9e in WebCore::WorkerDedicatedRunLoop::run(WebCore::WorkerOrWorkletGlobalScope*) (this=0x7ef5c20d06c0, context=0x7ef5c21140c0) at /app/webkit/Source/WebCore/workers/WorkerRunLoop.cpp:156 #12 0x00007f10c8da6b9f in WebCore::WorkerOrWorkletThread::runEventLoop() (this=0x7ef5c2087c10) at /app/webkit/Source/WebCore/workers/WorkerOrWorkletThread.cpp:113 #13 0x00007f10c8da7070 in WebCore::WorkerOrWorkletThread::workerOrWorkletThread() (this=0x7ef5c2087c10) at /app/webkit/Source/WebCore/workers/WorkerOrWorkletThread.cpp:187 #14 0x00007f10c5c1b2ab in operator()() const (__closure=0x7ef5c2057028) at /app/webkit/Source/WebCore/Modules/webaudio/AudioWorkletThread.cpp:73 #15 0x00007f10c5c2e118 in WTF::Detail::CallableWrapper<WebCore::AudioWorkletThread::createThread()::<lambda()>, void>::call(void) (this=0x7ef5c2057020) at /app/webkit/WebKitBuild/WPE/Debug/WTF/Headers/wtf/Function.h:53 #16 0x00007f10c00f2377 in WTF::Function<void ()>::operator()() const (this=0x7ef7567fbb80) at /app/webkit/WebKitBuild/WPE/Debug/WTF/Headers/wtf/Function.h:82 #17 0x00007f10c36292f1 in WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) (newThreadContext=0x7ef5c2033830) at /app/webkit/Source/WTF/wtf/Threading.cpp:258 #18 0x00007f10c36ef05f in WTF::wtfThreadEntryPoint(void*) (context=0x7ef5c2033830) at /app/webkit/Source/WTF/wtf/posix/ThreadingPOSIX.cpp:247 #19 0x00007f10b3bebe39 in start_thread (arg=<optimized out>) at pthread_create.c:444 #20 0x00007f10b3c738c4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100
Attachments
Add attachment
proposed patch, testcase, etc.
Philippe Normand
Comment 1
2024-02-07 07:38:11 PST
Pull request:
https://github.com/WebKit/WebKit/pull/24005
EWS
Comment 2
2024-02-07 07:42:10 PST
Committed
274215@main
(684a2658a02f): <
https://commits.webkit.org/274215@main
> Reviewed commits have been landed. Closing PR #24005 and removing active labels.
Radar WebKit Bug Importer
Comment 3
2024-02-07 07:43:15 PST
<
rdar://problem/122470228
>
Philippe Normand
Comment 4
2024-02-07 07:43:46 PST
Needs patch...
Philippe Normand
Comment 5
2026-01-21 08:23:49 PST
They're consistently passing now.
Philippe Normand
Comment 6
2026-01-21 08:26:20 PST
Pull request:
https://github.com/WebKit/WebKit/pull/56961
EWS
Comment 7
2026-01-21 08:28:30 PST
Committed
305942@main
(d036f86fd1a9): <
https://commits.webkit.org/305942@main
> Reviewed commits have been landed. Closing PR #56961 and removing active labels.
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