NEW241449
Assertion in AudioOutputUnitAdaptor::configure() when running simulator API tests
https://bugs.webkit.org/show_bug.cgi?id=241449
Summary Assertion in AudioOutputUnitAdaptor::configure() when running simulator API t...
Simon Fraser (smfr)
Reported 2022-06-08 21:39:08 PDT
Running `run-api-tests --no-build --ios-simulator "TestWebKitAPI.GPUProcess.*"` results in several tests that assert here, with an iOS 15.5 SDK: ASSERTION FAILED: !result /Volumes/Data/Development/system/webkit/OpenSource/Source/WebCore/platform/audio/ios/AudioOutputUnitAdaptorIOS.cpp(70) : void WebCore::AudioOutputUnitAdaptor::configure(float, unsigned int) 1 0x140c12189 WTFCrash 2 0x16616825b WTFCrashWithInfo(int, char const*, char const*, int) 3 0x166215017 WebCore::AudioOutputUnitAdaptor::configure(float, unsigned int) 4 0x12bf84ed3 WebKit::RemoteAudioDestination::RemoteAudioDestination(WebKit::GPUConnectionToWebProcess&, WTF::ObjectIdentifier<WebKit::RemoteAudioDestinationIdentifierType>, WTF::String const&, unsigned int, unsigned int, float, float, IPC::Semaphore&&) 5 0x12bf84d7d WebKit::RemoteAudioDestination::RemoteAudioDestination(WebKit::GPUConnectionToWebProcess&, WTF::ObjectIdentifier<WebKit::RemoteAudioDestinationIdentifierType>, WTF::String const&, unsigned int, unsigned int, float, float, IPC::Semaphore&&) 6 0x12bf84cb6 WTF::UniqueRef<WebKit::RemoteAudioDestination> WTF::makeUniqueRefWithoutFastMallocCheck<WebKit::RemoteAudioDestination, WebKit::GPUConnectionToWebProcess&, WTF::ObjectIdentifier<WebKit::RemoteAudioDestinationIdentifierType>&, WTF::String const&, unsigned int&, unsigned int&, float&, float&, IPC::Semaphore>(WebKit::GPUConnectionToWebProcess&, WTF::ObjectIdentifier<WebKit::RemoteAudioDestinationIdentifierType>&, WTF::String const&, unsigned int&, unsigned int&, float&, float&, IPC::Semaphore&&) 7 0x12bf82661 WTF::UniqueRef<WebKit::RemoteAudioDestination> WTF::makeUniqueRef<WebKit::RemoteAudioDestination, WebKit::GPUConnectionToWebProcess&, WTF::ObjectIdentifier<WebKit::RemoteAudioDestinationIdentifierType>&, WTF::String const&, unsigned int&, unsigned int&, float&, float&, IPC::Semaphore>(WebKit::GPUConnectionToWebProcess&, WTF::ObjectIdentifier<WebKit::RemoteAudioDestinationIdentifierType>&, WTF::String const&, unsigned int&, unsigned int&, float&, float&, IPC::Semaphore&&) 8 0x12bf823f9 WebKit::RemoteAudioDestinationManager::createAudioDestination(WTF::String const&, unsigned int, unsigned int, float, float, IPC::Semaphore&&, WTF::CompletionHandler<void (WTF::ObjectIdentifier<WebKit::RemoteAudioDestinationIdentifierType>)>&&) 9 0x12c5ef748 void IPC::callMemberFunctionImpl<WebKit::RemoteAudioDestinationManager, void (WebKit::RemoteAudioDestinationManager::*)(WTF::String const&, unsigned int, unsigned int, float, float, IPC::Semaphore&&, WTF::CompletionHandler<void (WTF::ObjectIdentifier<WebKit::RemoteAudioDestinationIdentifierType>)>&&), void (WTF::ObjectIdentifier<WebKit::RemoteAudioDestinationIdentifierType>), std::__1::tuple<WTF::String, unsigned int, unsigned int, float, float, IPC::Semaphore>, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(WebKit::RemoteAudioDestinationManager*, void (WebKit::RemoteAudioDestinationManager::*)(WTF::String const&, unsigned int, unsigned int, float, float, IPC::Semaphore&&, WTF::CompletionHandler<void (WTF::ObjectIdentifier<WebKit::RemoteAudioDestinationIdentifierType>)>&&), WTF::CompletionHandler<void (WTF::ObjectIdentifier<WebKit::RemoteAudioDestinationIdentifierType>)>&&, std::__1::tuple<WTF::String, unsigned int, unsigned int, float, float, IPC::Semaphore>&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) 10 0x12c5eb262 void IPC::callMemberFunction<WebKit::RemoteAudioDestinationManager, void (WebKit::RemoteAudioDestinationManager::*)(WTF::String const&, unsigned int, unsigned int, float, float, IPC::Semaphore&&, WTF::CompletionHandler<void (WTF::ObjectIdentifier<WebKit::RemoteAudioDestinationIdentifierType>)>&&), void (WTF::ObjectIdentifier<WebKit::RemoteAudioDestinationIdentifierType>), std::__1::tuple<WTF::String, unsigned int, unsigned int, float, float, IPC::Semaphore>, std::__1::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul> >(std::__1::tuple<WTF::String, unsigned int, unsigned int, float, float, IPC::Semaphore>&&, WTF::CompletionHandler<void (WTF::ObjectIdentifier<WebKit::RemoteAudioDestinationIdentifierType>)>&&, WebKit::RemoteAudioDestinationManager*, void (WebKit::RemoteAudioDestinationManager::*)(WTF::String const&, unsigned int, unsigned int, float, float, IPC::Semaphore&&, WTF::CompletionHandler<void (WTF::ObjectIdentifier<WebKit::RemoteAudioDestinationIdentifierType>)>&&)) 11 0x12c5a3181 bool IPC::handleMessageSynchronous<Messages::RemoteAudioDestinationManager::CreateAudioDestination, WebKit::RemoteAudioDestinationManager, void (WebKit::RemoteAudioDestinationManager::*)(WTF::String const&, unsigned int, unsigned int, float, float, IPC::Semaphore&&, WTF::CompletionHandler<void (WTF::ObjectIdentifier<WebKit::RemoteAudioDestinationIdentifierType>)>&&)>(IPC::Connection&, IPC::Decoder&, WTF::UniqueRef<IPC::Encoder>&, WebKit::RemoteAudioDestinationManager*, void (WebKit::RemoteAudioDestinationManager::*)(WTF::String const&, unsigned int, unsigned int, float, float, IPC::Semaphore&&, WTF::CompletionHandler<void (WTF::ObjectIdentifier<WebKit::RemoteAudioDestinationIdentifierType>)>&&)) 12 0x12c5a2f42 WebKit::RemoteAudioDestinationManager::didReceiveSyncMessage(IPC::Connection&, IPC::Decoder&, WTF::UniqueRef<IPC::Encoder>&) 13 0x12c6b879e WebKit::RemoteAudioDestinationManager::didReceiveSyncMessageFromWebProcess(IPC::Connection&, IPC::Decoder&, WTF::UniqueRef<IPC::Encoder>&) 14 0x12c6b83db WebKit::GPUConnectionToWebProcess::dispatchSyncMessage(IPC::Connection&, IPC::Decoder&, WTF::UniqueRef<IPC::Encoder>&) 15 0x12c4fccd1 WebKit::GPUConnectionToWebProcess::didReceiveSyncMessage(IPC::Connection&, IPC::Decoder&, WTF::UniqueRef<IPC::Encoder>&) 16 0x12cec735a IPC::Connection::dispatchSyncMessage(IPC::Decoder&) 17 0x12cec7f5b IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >) 18 0x12cec13f3 IPC::Connection::SyncMessageState::ConnectionAndIncomingMessage::dispatch() 19 0x12cec1688 IPC::Connection::SyncMessageState::dispatchMessagesAndResetDidScheduleDispatchMessagesForConnection(IPC::Connection&) 20 0x12ced97ac IPC::Connection::SyncMessageState::processIncomingMessage(IPC::Connection&, std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >&)::$_5::operator()() 21 0x12ced96d9 WTF::Detail::CallableWrapper<IPC::Connection::SyncMessageState::processIncomingMessage(IPC::Connection&, std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >&)::$_5, void>::call() 22 0x140c3e0d2 WTF::Function<void ()>::operator()() const 23 0x140ccd5e2 WTF::RunLoop::performWork() 24 0x140cd0f0e WTF::RunLoop::performWork(void*) 25 0x110530833 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ 26 0x11053072b __CFRunLoopDoSource0 27 0x11052fbf8 __CFRunLoopDoSources0 28 0x11052a2f4 __CFRunLoopRun 29 0x110529a90 CFRunLoopRunSpecific 30 0x110e79e31 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] 31 0x110e7a04f -[NSRunLoop(NSRunLoop) run]
Attachments
Radar WebKit Bug Importer
Comment 1 2022-06-08 21:39:21 PDT
Simon Fraser (smfr)
Comment 2 2022-06-08 21:53:08 PDT
I tried a second time and saw no assertions. Maybe it depends on some other state on the system?
Simon Fraser (smfr)
Comment 3 2022-06-08 21:54:28 PDT
Given the line numbers in bug 240692, it looks like `AudioUnitSetProperty` is the call that returns an error.
Note You need to log in before you can comment on or make changes to this bug.