WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED MOVED
239979
[iOS 15] Chrome frequently hangs in VideoFullscreenInterfaceAVKit::doExitFullscreen()
https://bugs.webkit.org/show_bug.cgi?id=239979
Summary
[iOS 15] Chrome frequently hangs in VideoFullscreenInterfaceAVKit::doExitFull...
Ali Juma
Reported
2022-05-02 13:04:35 PDT
Chrome for iOS is getting a large number of hang reports (hangs over 10 seconds) in VideoFullscreenInterfaceAVKit::doExitFullscreen(). We don't have steps to reproduce, but the hang URLs are mostly sports streaming sites. These are all on iOS 15, including iOS 15.5 beta. Here's the stack: Thread 0 0x00000001928f8d48(QuartzCore + 0x000add48)-[CALayer animationForKey:] 0x00000001928f8d0c(QuartzCore + 0x000add0c)-[CALayer animationForKey:] 0x00000001911d9af0(UIKitCore + 0x0024faf0)UniqueAnimationKeyForLayer 0x0000000192226088(UIKitCore + 0x000000000129c088)__67-[_UIViewAdditiveAnimationAction runActionForKey:object:arguments:]_block_invoke.224 0x000000019120fb94(UIKitCore + 0x00285b94)-[_UIViewAdditiveAnimationAction runActionForKey:object:arguments:] 0x000000019286f5f8(QuartzCore + 0x000245f8)CA::Layer::set_bounds(CA::Rect const&, bool) 0x0000000192913dc4(QuartzCore + 0x000c8dc4)-[CALayer setBounds:] 0x00000001910f5b94(UIKitCore + 0x0016bb94)-[UIView(Geometry) setBounds:] 0x00000001911fc798(UIKitCore + 0x00272798)-[UIImageView _setViewGeometry:forMetric:] 0x000000019139a150(UIKitCore + 0x00410150)-[UIView(Geometry) _applyISEngineLayoutValuesToBoundsOnly:] 0x00000001912ccbf4(UIKitCore + 0x00342bf4)-[UIView(Geometry) _resizeWithOldSuperviewSize:] 0x0000000191112bc8(UIKitCore + 0x00188bc8)__46-[UIView(Geometry) resizeSubviewsWithOldSize:]_block_invoke 0x000000018eb21760(CoreFoundation + 0x0000d760)__NSARRAY_IS_CALLING_OUT_TO_A_BLOCK__ 0x000000018eb60130(CoreFoundation + 0x0004c130)-[__NSArrayM enumerateObjectsWithOptions:usingBlock:] 0x000000019114cd68(UIKitCore + 0x001c2d68)-[UIView(Geometry) resizeSubviewsWithOldSize:] 0x0000000191233e1c(UIKitCore + 0x002a9e1c)-[UIView(AdditionalLayoutSupport) _is_layout] 0x000000019111d5d0(UIKitCore + 0x001935d0)-[UIView _updateConstraintsAsNecessaryAndApplyLayoutFromEngine] 0x0000000191115b74(UIKitCore + 0x0018bb74)-[UIView(CALayerDelegate) layoutSublayersOfLayer:] 0x000000019288bcb0(QuartzCore + 0x00040cb0)CA::Layer::layout_if_needed(CA::Transaction*) 0x00000001911798e4(UIKitCore + 0x001ef8e4)-[UIView(Hierarchy) layoutBelowIfNeeded] 0x00000001910f5ca0(UIKitCore + 0x0016bca0)-[UIView(Geometry) setBounds:] 0x000000019139a150(UIKitCore + 0x00410150)-[UIView(Geometry) _applyISEngineLayoutValuesToBoundsOnly:] 0x00000001912ccbf4(UIKitCore + 0x00342bf4)-[UIView(Geometry) _resizeWithOldSuperviewSize:] 0x0000000191112bc8(UIKitCore + 0x00188bc8)__46-[UIView(Geometry) resizeSubviewsWithOldSize:]_block_invoke 0x000000018eb21760(CoreFoundation + 0x0000d760)__NSARRAY_IS_CALLING_OUT_TO_A_BLOCK__ 0x000000018eb60130(CoreFoundation + 0x0004c130)-[__NSArrayM enumerateObjectsWithOptions:usingBlock:] 0x000000019114cd68(UIKitCore + 0x001c2d68)-[UIView(Geometry) resizeSubviewsWithOldSize:] 0x0000000191233e1c(UIKitCore + 0x002a9e1c)-[UIView(AdditionalLayoutSupport) _is_layout] 0x000000019111d5d0(UIKitCore + 0x001935d0)-[UIView _updateConstraintsAsNecessaryAndApplyLayoutFromEngine] 0x00000001a97d74c4(AVKit + 0x0008b4c4)-[AVExternalPlaybackIndicatorView layoutSubviews] 0x0000000191115b08(UIKitCore + 0x0018bb08)-[UIView(CALayerDelegate) layoutSublayersOfLayer:] 0x000000019288bcb0(QuartzCore + 0x00040cb0)CA::Layer::layout_if_needed(CA::Transaction*) 0x00000001911798e4(UIKitCore + 0x001ef8e4)-[UIView(Hierarchy) layoutBelowIfNeeded] 0x000000019111173c(UIKitCore + 0x0018773c)-[UIView(Geometry) setFrame:] 0x00000001a9780dc8(AVKit + 0x00034dc8)-[AVPlayerViewControllerContentView layoutSubviews] 0x0000000191115b08(UIKitCore + 0x0018bb08)-[UIView(CALayerDelegate) layoutSublayersOfLayer:] 0x000000019288bcb0(QuartzCore + 0x00040cb0)CA::Layer::layout_if_needed(CA::Transaction*) 0x00000001911798e4(UIKitCore + 0x001ef8e4)-[UIView(Hierarchy) layoutBelowIfNeeded] 0x000000019111173c(UIKitCore + 0x0018773c)-[UIView(Geometry) setFrame:] 0x00000001912ccea0(UIKitCore + 0x00342ea0)-[UIView(Geometry) _resizeWithOldSuperviewSize:] 0x0000000191112bc8(UIKitCore + 0x00188bc8)__46-[UIView(Geometry) resizeSubviewsWithOldSize:]_block_invoke 0x000000018eb21760(CoreFoundation + 0x0000d760)__NSARRAY_IS_CALLING_OUT_TO_A_BLOCK__ 0x000000018eb60130(CoreFoundation + 0x0004c130)-[__NSArrayM enumerateObjectsWithOptions:usingBlock:] 0x000000019114cd68(UIKitCore + 0x001c2d68)-[UIView(Geometry) resizeSubviewsWithOldSize:] 0x00000001911116b8(UIKitCore + 0x001876b8)-[UIView(Geometry) setFrame:] 0x00000001a9803850(AVKit + 0x000b7850)-[AVTransition _animateFinishInteractiveTransition] 0x000000019145a2b4(UIKitCore + 0x004d02b4)-[UIViewPropertyAnimator _runAnimations] 0x000000019158f308(UIKitCore + 0x00605308)+[UIView(Animation) _performWithState:trackingIdentifier:duration:delay:animations:] 0x000000019107f054(UIKitCore + 0x000f5054)-[UIViewPropertyAnimator _continueWithTimingParameters:duration:] 0x000000019107ea4c(UIKitCore + 0x000f4a4c)-[UIViewPropertyAnimator continueAnimationWithTimingParameters:durationFactor:] 0x00000001a9801f70(AVKit + 0x000b5f70)-[AVTransition _startOrContinueAnimatorsReversed:] 0x00000001a9804c64(AVKit + 0x000b8c64)-[AVTransition finishInteractiveTransition] 0x00000001a9820d74(AVKit + 0x000d4d74)__43-[AVTransitionController _finishTransition]_block_invoke 0x00000001a977612c(AVKit + 0x0002a12c)-[AVPlayerViewController(AVPlayerViewController_WebKitOnly) exitFullScreenAnimated:completionHandler:] 0x00000001a0ae4e54(WebCore + 0x0000000002435e54)WebCore::VideoFullscreenInterfaceAVKit::doExitFullscreen() 0x00000001a0ae4d30(WebCore + 0x0000000002435d30)WebCore::VideoFullscreenInterfaceAVKit::exitFullscreen(WebCore::FloatRect const&) 0x000000019e0022a0(WebKit + 0x003932a0)WebKit::VideoFullscreenManagerProxy::exitFullscreen(WTF::ObjectIdentifier<WebKit::PlaybackSessionContextIdentifierType>, WebCore::FloatRect, WTF::CompletionHandler<void (bool)>&&) 0x000000019e424460(WebKit + 0x007b5460)WebKit::VideoFullscreenManagerProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) 0x000000019dfaf8fc(WebKit + 0x003408fc)IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&) 0x000000019e1d581c(WebKit + 0x0056681c)WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) 0x000000019dfa4048(WebKit + 0x00335048)IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >) 0x000000019dfa36fc(WebKit + 0x003346fc)IPC::Connection::dispatchIncomingMessages() 0x000000019b4aea0c(JavaScriptCore + 0x00000000011b7a0c)WTF::RunLoop::performWork() 0x000000019b4af7a8(JavaScriptCore + 0x00000000011b87a8)WTF::RunLoop::performWork(void*) 0x000000018ebcf610(CoreFoundation + 0x000bb610)__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ 0x000000018ebe039c(CoreFoundation + 0x000cc39c)__CFRunLoopDoSource0 0x000000018eb19890(CoreFoundation + 0x00005890)__CFRunLoopDoSources0 0x000000018eb1f258(CoreFoundation + 0x0000b258)__CFRunLoopRun 0x000000018eb32dc4(CoreFoundation + 0x0001edc4)CFRunLoopRunSpecific 0x00000001ab293370(GraphicsServices + 0x00001370)GSEventRunModal 0x000000019149e180(UIKitCore + 0x00514180)-[UIApplication _run] 0x000000019121f8e4(UIKitCore + 0x002958e4)UIApplicationMain 0x00000001041b426c(Chrome -chrome_exe_main.mm:65)main 0x0000000106265ce0( + 0x00019ce0)
Attachments
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2022-05-03 18:37:26 PDT
<
rdar://problem/92705711
>
Sam Sneddon [:gsnedders]
Comment 2
2022-05-19 08:59:29 PDT
This is an issue in a component below WebKit.
Alexey Proskuryakov
Comment 3
2024-05-15 15:24:51 PDT
The underlying system issue was fixed in iOS 16, please file a new bug if you are still observing this.
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