Bug 223538

Summary: imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletprocessor-param-getter-overridden.https.html is crashing
Product: WebKit Reporter: Chris Dumez <cdumez>
Component: Web AudioAssignee: Chris Dumez <cdumez>
Status: RESOLVED FIXED    
Severity: Normal CC: cdumez, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=223537
Bug Depends on: 223537    
Bug Blocks:    
Attachments:
Description Flags
Patch
none
Patch none

Description Chris Dumez 2021-03-19 14:17:40 PDT
imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletprocessor-param-getter-overridden.https.html is crashing since its import in Bug 223537:
ASSERTION FAILED: pair.value->size() >= jsTypedArray->length()
./Modules/webaudio/AudioWorkletProcessor.cpp(159) : void WebCore::copyDataFromParameterMapToJSObject(JSC::VM &, JSC::JSGlobalObject &, const HashMap<WTF::String, std::unique_ptr<AudioFloatArray>> &, JSC::JSObject &)
1   0x557bfe5c9 WTFCrash
2   0x5388f0e3b WTFCrashWithInfo(int, char const*, char const*, int)
3   0x53ab94137 WebCore::copyDataFromParameterMapToJSObject(JSC::VM&, JSC::JSGlobalObject&, WTF::HashMap<WTF::String, std::__1::unique_ptr<WebCore::AudioArray<float>, std::__1::default_delete<WebCore::AudioArray<float> > >, WTF::DefaultHash<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTraits<std::__1::unique_ptr<WebCore::AudioArray<float>, std::__1::default_delete<WebCore::AudioArray<float> > > > > const&, JSC::JSObject&)
4   0x53ab93278 WebCore::AudioWorkletProcessor::buildJSArguments(JSC::VM&, JSC::JSGlobalObject&, JSC::MarkedArgumentBuffer&, WTF::Vector<WTF::RefPtr<WebCore::AudioBus, WTF::RawPtrTraits<WebCore::AudioBus>, WTF::DefaultRefDerefTraits<WebCore::AudioBus> >, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, WTF::Vector<WTF::Ref<WebCore::AudioBus, WTF::RawPtrTraits<WebCore::AudioBus> >, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>&, WTF::HashMap<WTF::String, std::__1::unique_ptr<WebCore::AudioArray<float>, std::__1::default_delete<WebCore::AudioArray<float> > >, WTF::DefaultHash<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTraits<std::__1::unique_ptr<WebCore::AudioArray<float>, std::__1::default_delete<WebCore::AudioArray<float> > > > > const&)
5   0x53ab922d3 WebCore::AudioWorkletProcessor::process(WTF::Vector<WTF::RefPtr<WebCore::AudioBus, WTF::RawPtrTraits<WebCore::AudioBus>, WTF::DefaultRefDerefTraits<WebCore::AudioBus> >, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, WTF::Vector<WTF::Ref<WebCore::AudioBus, WTF::RawPtrTraits<WebCore::AudioBus> >, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>&, WTF::HashMap<WTF::String, std::__1::unique_ptr<WebCore::AudioArray<float>, std::__1::default_delete<WebCore::AudioArray<float> > >, WTF::DefaultHash<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTraits<std::__1::unique_ptr<WebCore::AudioArray<float>, std::__1::default_delete<WebCore::AudioArray<float> > > > > const&, bool&)
6   0x53ab91d1a WebCore::AudioWorkletNode::process(unsigned long)
7   0x53ab3d2be WebCore::AudioNode::processIfNecessary(unsigned long)
8   0x53ab3fb67 WebCore::AudioNodeOutput::pull(WebCore::AudioBus*, unsigned long)
9   0x53ab3f936 WebCore::AudioNodeInput::sumAllConnections(WebCore::AudioBus*, unsigned long)
10  0x53ab38177 WebCore::AudioNodeInput::pull(WebCore::AudioBus*, unsigned long)
11  0x53ab37d19 WebCore::AudioDestinationNode::render(WebCore::AudioBus*, WebCore::AudioBus*, unsigned long, WebCore::AudioIOPosition const&)
12  0x53abf373d WebCore::OfflineAudioDestinationNode::offlineRender()
13  0x53ac13453 WebCore::OfflineAudioDestinationNode::startRendering(WTF::CompletionHandler<void (WTF::Optional<WebCore::Exception>&&)>&&)::$_2::operator()()
14  0x53ac13429 WebCore::OfflineAudioDestinationNode::startRendering(WTF::CompletionHandler<void (WTF::Optional<WebCore::Exception>&&)>&&)::$_3::operator()(WebCore::ScriptExecutionContext&)
15  0x53ac13383 WTF::Detail::CallableWrapper<WebCore::OfflineAudioDestinationNode::startRendering(WTF::CompletionHandler<void (WTF::Optional<WebCore::Exception>&&)>&&)::$_3, void, WebCore::ScriptExecutionContext&>::call(WebCore::ScriptExecutionContext&)
16  0x53ae75d1a WTF::Function<void (WebCore::ScriptExecutionContext&)>::operator()(WebCore::ScriptExecutionContext&) const
17  0x53ae6ce0d WebCore::ScriptExecutionContext::Task::performTask(WebCore::ScriptExecutionContext&)
18  0x53d6020e0 WebCore::WorkerRunLoop::Task::performTask(WebCore::WorkerOrWorkletGlobalScope*)
19  0x53d601747 WebCore::WorkerRunLoop::runInMode(WebCore::WorkerOrWorkletGlobalScope*, WebCore::ModePredicate const&, WebCore::WorkerRunLoop::WaitMode)
20  0x53d600728 WebCore::WorkerRunLoop::run(WebCore::WorkerOrWorkletGlobalScope*)
21  0x53d6006c8 WebCore::WorkerOrWorkletThread::runEventLoop()
22  0x53d600980 WebCore::WorkerOrWorkletThread::workerOrWorkletThread()
23  0x53abb9f1b WebCore::AudioWorkletThread::createThread()::$_3::operator()() const
Comment 1 Chris Dumez 2021-03-19 15:33:46 PDT
Created attachment 423785 [details]
Patch
Comment 2 Chris Dumez 2021-03-19 18:43:48 PDT
Created attachment 423797 [details]
Patch
Comment 3 Chris Dumez 2021-03-22 12:55:40 PDT
<https://commits.webkit.org/235587@main>
Comment 4 Radar WebKit Bug Importer 2021-03-22 12:56:14 PDT
<rdar://problem/75704790>