[Webkit-unassigned] [Bug 239979] New: [iOS 15] Hang in VideoFullscreenInterfaceAVKit::doExitFullscreen()

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon May 2 13:04:35 PDT 2022


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

            Bug ID: 239979
           Summary: [iOS 15] Hang in
                    VideoFullscreenInterfaceAVKit::doExitFullscreen()
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Media
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: ajuma at chromium.org

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)

-- 
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/20220502/40659d57/attachment-0001.htm>


More information about the webkit-unassigned mailing list