WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
REOPENED
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...
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