[Webkit-unassigned] [Bug 215165] New: [iOS 14] WebKit::WebPage's constructor hangs for 25 seconds on simulator

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Aug 5 06:41:13 PDT 2020


https://bugs.webkit.org/show_bug.cgi?id=215165

            Bug ID: 215165
           Summary: [iOS 14] WebKit::WebPage's constructor hangs for 25
                    seconds on simulator
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Page Loading
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: ajuma at chromium.org
                CC: beidson at apple.com, justincohen at google.com,
                    rohitrao at google.com

Starting in iOS 14 beta 3 (and also in beta 4), each call to WebKit::WebPage's constructor hangs on the simulator for 25 seconds. This happens in any app embedding a WKWebView, including Safari.

The stack is below. The root cause seems to be the call to [AVAudioSession sharedInstance].

#0      0x00000002803376d8 in HALCADClient::ConnectToServer() ()
#1      0x0000000280304447 in HALSystem::InitializeDevices() ()
#2      0x0000000280303753 in HALSystem::CheckOutInstance() ()
#3      0x00000002803032f1 in AudioObjectGetPropertyData ()
#4      0x00000002a9af6d8b in SimulatorDeviceSettings::GetDeviceIDFromUID_Priv(__CFString const*) ()
#5      0x00000002a9af677a in SimulatorDeviceSettings::SimulatorReadHardwareSettingsFromURL_Priv(__CFURL const*) ()
#6      0x00000002a9af6fcc in SimulatorDeviceSettings::SimulatorDeviceSettings(applesauce::dispatch::v1::queue, void () block_pointer) ()
#7      0x00000002a9af7967 in invocation function for block in AudioSessionClientManager::Instance() ()
#8      0x000000027e304bb6 in _dispatch_client_callout ()
#9      0x000000027e306121 in _dispatch_once_callout ()
#10     0x00000002a9b23266 in invocation function for block in AudioSessionClientManager::CreatePrimaryClient(__CFRunLoop*, __CFString const*, void (*)(void*, unsigned int), void*) ()
#11     0x000000027e304bb6 in _dispatch_client_callout ()
#12     0x000000027e313dd9 in _dispatch_lane_barrier_sync_invoke_and_complete ()
#13     0x00000002a9b22a63 in AudioSessionCreateSession_Priv ()
#14     0x00000002b733d96e in avfaudio::SessionConnector::Connect(AVAudioSession*, applesauce::CF::ObjectRef<__CFRunLoop*>, AudioSessionType) ()
#15     0x00000002b7334c7a in -[AVAudioSession initWithSessionType:] ()
#16     0x00000002b73350de in __32+[AVAudioSession sharedInstance]_block_invoke ()
#17     0x000000027e304bb6 in _dispatch_client_callout ()
#18     0x000000027e306121 in _dispatch_once_callout ()
#19     0x00000002b733509b in +[AVAudioSession sharedInstance] ()
#20     0x000000028b9b9053 in -[WebCoreAudioCaptureSourceIOSListener initWithCallback:] at /Users/ajuma/syncWebKit/Source/WebCore/platform/mediastream/ios/CoreAudioCaptureSourceIOS.mm:57
#21     0x000000028b9b922f in WebCore::CoreAudioCaptureSourceFactoryIOS::CoreAudioCaptureSourceFactoryIOS() at /Users/ajuma/syncWebKit/Source/WebCore/platform/mediastream/ios/CoreAudioCaptureSourceIOS.mm:87
#22     0x000000028b9b9405 in WebCore::CoreAudioCaptureSourceFactoryIOS::CoreAudioCaptureSourceFactoryIOS() at /Users/ajuma/syncWebKit/Source/WebCore/platform/mediastream/ios/CoreAudioCaptureSourceIOS.mm:88
#23     0x000000028b9ba8ce in WTF::NeverDestroyed<WebCore::CoreAudioCaptureSourceFactoryIOS, WTF::AnyThreadsAccessTraits>::NeverDestroyed<>() at /Users/ajuma/syncWebKit/WebKitBuild/Debug-iphonesimulator/usr/local/include/wtf/NeverDestroyed.h:67
#24     0x000000028b9b96b5 in WTF::NeverDestroyed<WebCore::CoreAudioCaptureSourceFactoryIOS, WTF::AnyThreadsAccessTraits>::NeverDestroyed<>() at /Users/ajuma/syncWebKit/WebKitBuild/Debug-iphonesimulator/usr/local/include/wtf/NeverDestroyed.h:65
#25     0x000000028b9b967d in WebCore::CoreAudioCaptureSourceFactory::singleton() at /Users/ajuma/syncWebKit/Source/WebCore/platform/mediastream/ios/CoreAudioCaptureSourceIOS.mm:101
#26     0x000000028f5d43c1 in WebCore::MockRealtimeAudioSourceFactory::activeSource() at /Users/ajuma/syncWebKit/Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp:190
#27     0x000000028d61e2e2 in WebCore::MediaStreamTrack::updateCaptureAccordingToMutedState(WebCore::Document&) at /Users/ajuma/syncWebKit/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp:471
#28     0x000000028e06a2ce in WebCore::Document::pageMutedStateDidChange() at /Users/ajuma/syncWebKit/Source/WebCore/dom/Document.cpp:4223
#29     0x000000028efc9259 in WebCore::Page::setMuted(unsigned int)::$_42::operator()(WebCore::Document&) const at /Users/ajuma/syncWebKit/Source/WebCore/page/Page.cpp:1951
#30     0x000000028efc9213 in WTF::Detail::CallableWrapper<WebCore::Page::setMuted(unsigned int)::$_42, void, WebCore::Document&>::call(WebCore::Document&) at /Users/ajuma/syncWebKit/WebKitBuild/Debug-iphonesimulator/usr/local/include/wtf/Function.h:52
#31     0x000000028ef8164a in WTF::Function<void (WebCore::Document&)>::operator()(WebCore::Document&) const at /Users/ajuma/syncWebKit/WebKitBuild/Debug-iphonesimulator/usr/local/include/wtf/Function.h:84
#32     0x000000028ef73afc in WebCore::Page::forEachDocument(WTF::Function<void (WebCore::Document&)> const&) const at /Users/ajuma/syncWebKit/Source/WebCore/page/Page.cpp:3084
#33     0x000000028ef7c8ca in WebCore::Page::setMuted(unsigned int) at /Users/ajuma/syncWebKit/Source/WebCore/page/Page.cpp:1950
#34     0x00000002719750dc in WebKit::WebPage::setMuted(unsigned int) at /Users/ajuma/syncWebKit/Source/WebKit/WebProcess/WebPage/WebPage.cpp:5134
#35     0x0000000271970bfc in WebKit::WebPage::WebPage(WTF::ObjectIdentifier<WebCore::PageIdentifierType>, WebKit::WebPageCreationParameters&&) at /Users/ajuma/syncWebKit/Source/WebKit/WebProcess/WebPage/WebPage.cpp:687
#36     0x000000027196e975 in WebKit::WebPage::WebPage(WTF::ObjectIdentifier<WebCore::PageIdentifierType>, WebKit::WebPageCreationParameters&&) at /Users/ajuma/syncWebKit/Source/WebKit/WebProcess/WebPage/WebPage.cpp:482
#37     0x000000027196e868 in WebKit::WebPage::create(WTF::ObjectIdentifier<WebCore::PageIdentifierType>, WebKit::WebPageCreationParameters&&) at /Users/ajuma/syncWebKit/Source/WebKit/WebProcess/WebPage/WebPage.cpp:388
#38     0x0000000271492914 in WebKit::WebProcess::createWebPage(WTF::ObjectIdentifier<WebCore::PageIdentifierType>, WebKit::WebPageCreationParameters&&) at /Users/ajuma/syncWebKit/Source/WebKit/WebProcess/WebProcess.cpp:721

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20200805/ac65313c/attachment.htm>


More information about the webkit-unassigned mailing list