RESOLVED FIXED 226247
[iOS] ASSERTION FAILED: !isMainThread() in WebCore::SpeechRecognitionCaptureSourceImpl::audioSamplesAvailable
https://bugs.webkit.org/show_bug.cgi?id=226247
Summary [iOS] ASSERTION FAILED: !isMainThread() in WebCore::SpeechRecognitionCaptureS...
Ryan Haddad
Reported 2021-05-25 16:06:06 PDT
Seeing the assert below on iOS simulator debug bots with a few speechrecognition layout tests fast/speechrecognition/ios/audio-capture.html fast/speechrecognition/ios/restart-recognition-after-stop.html fast/speechrecognition/ios/start-recognition-then-stop.html ASSERTION FAILED: !isMainThread() ./Modules/speech/SpeechRecognitionCaptureSourceImpl.cpp(131) : virtual void WebCore::SpeechRecognitionCaptureSourceImpl::audioSamplesAvailable(const WTF::MediaTime &, const WebCore::PlatformAudioData &, const WebCore::AudioStreamDescription &, size_t) 1 0x108496d99 WTFCrash 2 0x12af5a4eb WTFCrashWithInfo(int, char const*, char const*, int) 3 0x12d4541c2 WebCore::SpeechRecognitionCaptureSourceImpl::audioSamplesAvailable(WTF::MediaTime const&, WebCore::PlatformAudioData const&, WebCore::AudioStreamDescription const&, unsigned long) 4 0x12f563ce9 WebCore::RealtimeMediaSource::audioSamplesAvailable(WTF::MediaTime const&, WebCore::PlatformAudioData const&, WebCore::AudioStreamDescription const&, unsigned long) 5 0x111b72e8f WebKit::SpeechRecognitionRemoteRealtimeMediaSource::remoteAudioSamplesAvailable(WTF::MediaTime, unsigned long long) 6 0x111b73643 WebKit::SpeechRecognitionRemoteRealtimeMediaSourceManager::remoteAudioSamplesAvailable(WTF::ObjectIdentifier<WebCore::RealtimeMediaSourceIdentifierType>, WTF::MediaTime const&, unsigned long long) 7 0x110fb4475 void IPC::callMemberFunctionImpl<WebKit::SpeechRecognitionRemoteRealtimeMediaSourceManager, void (WebKit::SpeechRecognitionRemoteRealtimeMediaSourceManager::*)(WTF::ObjectIdentifier<WebCore::RealtimeMediaSourceIdentifierType>, WTF::MediaTime const&, unsigned long long), std::__1::tuple<WTF::ObjectIdentifier<WebCore::RealtimeMediaSourceIdentifierType>, WTF::MediaTime, unsigned long long>, 0ul, 1ul, 2ul>(WebKit::SpeechRecognitionRemoteRealtimeMediaSourceManager*, void (WebKit::SpeechRecognitionRemoteRealtimeMediaSourceManager::*)(WTF::ObjectIdentifier<WebCore::RealtimeMediaSourceIdentifierType>, WTF::MediaTime const&, unsigned long long), std::__1::tuple<WTF::ObjectIdentifier<WebCore::RealtimeMediaSourceIdentifierType>, WTF::MediaTime, unsigned long long>&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul, 2ul>) 8 0x110fb2e20 void IPC::callMemberFunction<WebKit::SpeechRecognitionRemoteRealtimeMediaSourceManager, void (WebKit::SpeechRecognitionRemoteRealtimeMediaSourceManager::*)(WTF::ObjectIdentifier<WebCore::RealtimeMediaSourceIdentifierType>, WTF::MediaTime const&, unsigned long long), std::__1::tuple<WTF::ObjectIdentifier<WebCore::RealtimeMediaSourceIdentifierType>, WTF::MediaTime, unsigned long long>, std::__1::integer_sequence<unsigned long, 0ul, 1ul, 2ul> >(std::__1::tuple<WTF::ObjectIdentifier<WebCore::RealtimeMediaSourceIdentifierType>, WTF::MediaTime, unsigned long long>&&, WebKit::SpeechRecognitionRemoteRealtimeMediaSourceManager*, void (WebKit::SpeechRecognitionRemoteRealtimeMediaSourceManager::*)(WTF::ObjectIdentifier<WebCore::RealtimeMediaSourceIdentifierType>, WTF::MediaTime const&, unsigned long long)) 9 0x110fb2268 void IPC::handleMessage<Messages::SpeechRecognitionRemoteRealtimeMediaSourceManager::RemoteAudioSamplesAvailable, WebKit::SpeechRecognitionRemoteRealtimeMediaSourceManager, void (WebKit::SpeechRecognitionRemoteRealtimeMediaSourceManager::*)(WTF::ObjectIdentifier<WebCore::RealtimeMediaSourceIdentifierType>, WTF::MediaTime const&, unsigned long long)>(IPC::Decoder&, WebKit::SpeechRecognitionRemoteRealtimeMediaSourceManager*, void (WebKit::SpeechRecognitionRemoteRealtimeMediaSourceManager::*)(WTF::ObjectIdentifier<WebCore::RealtimeMediaSourceIdentifierType>, WTF::MediaTime const&, unsigned long long)) 10 0x110fb2046 WebKit::SpeechRecognitionRemoteRealtimeMediaSourceManager::didReceiveMessage(IPC::Connection&, IPC::Decoder&) 11 0x110d10304 IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&) 12 0x111ad3bde WebKit::AuxiliaryProcessProxy::dispatchMessage(IPC::Connection&, IPC::Decoder&) 13 0x111dc839f WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) 14 0x1107f14b4 IPC::Connection::dispatchMessage(IPC::Decoder&) 15 0x1107f1c9c IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >) 16 0x1107f0410 IPC::Connection::dispatchIncomingMessages() 17 0x110813542 IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_12::operator()() 18 0x11081344e WTF::Detail::CallableWrapper<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_12, void>::call() 19 0x1084c44e2 WTF::Function<void ()>::operator()() const 20 0x1085495e5 WTF::RunLoop::performWork() 21 0x10854dea1 WTF::RunLoop::performWork(void*) 22 0x1215feede __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ 23 0x1215fedd6 __CFRunLoopDoSource0 24 0x1215fe29e __CFRunLoopDoSources0 25 0x1215f89f7 __CFRunLoopRun 26 0x1215f81a7 CFRunLoopRunSpecific 27 0x120dfe204 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] 28 0x105b9130e WTR::TestController::platformRunUntil(bool&, WTF::Seconds) 29 0x105b54baf WTR::TestController::runUntil(bool&, WTF::Seconds) 30 0x105b5ae95 WTR::TestController::statisticsResetToConsistentState() 31 0x105b59ee9 WTR::TestController::resetStateToConsistentValues(WTR::TestOptions const&, WTR::TestController::ResetStage) https://results.webkit.org/?suite=layout-tests&suite=layout-tests&suite=layout-tests&test=fast%2Fspeechrecognition%2Fios%2Faudio-capture.html&test=fast%2Fspeechrecognition%2Fios%2Frestart-recognition-after-stop.html&test=fast%2Fspeechrecognition%2Fios%2Fstart-recognition-then-stop.html
Attachments
Patch (3.00 KB, patch)
2021-05-25 16:16 PDT, Chris Dumez
no flags
Radar WebKit Bug Importer
Comment 1 2021-05-25 16:06:21 PDT
Chris Dumez
Comment 2 2021-05-25 16:06:38 PDT
Looking now.
Chris Dumez
Comment 3 2021-05-25 16:07:48 PDT
It is a new assertion I added. I guess I was wrong about this function always running on the audio thread
Chris Dumez
Comment 4 2021-05-25 16:16:07 PDT
Chris Dumez
Comment 5 2021-05-25 16:17:39 PDT
Comment on attachment 429708 [details] Patch Clearing flags on attachment: 429708 Committed r278056 (238140@main): <https://commits.webkit.org/238140@main>
Chris Dumez
Comment 6 2021-05-25 16:17:42 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.