title: WKWebView crashes if user answers an incoming iMessage
body: <p>My apps have a significant crash -</p>
  
  <pre><code>CALayer position contains NaN: [377.833 nan] 
  </code></pre>
  
  <p>with the following stack -</p>
  
  <pre><code>Fatal Exception: CALayerInvalidGeometry
  0  CoreFoundation                 0x18283afe0 __exceptionPreprocess
  1  libobjc.A.dylib                0x18129c538 objc_exception_throw
  2  CoreFoundation                 0x18283af28 -[NSException initWithCoder:]
  3  QuartzCore                     0x185b50acc CA::Layer::set_position(CA::Vec2&lt;double&gt; const&amp;, bool)
  4  QuartzCore                     0x185b50c48 -[CALayer setPosition:]
  5  QuartzCore                     0x185b51198 -[CALayer setFrame:]
  6  UIKit                          0x1889657a8 -[UIView(Geometry) setFrame:]
  7  UIKit                          0x188979364 -[UIImageView _setViewGeometry:forMetric:]
  8  UIKit                          0x1889c6c38 -[UIScrollView _adjustScrollerIndicators:alwaysShowingThem:]
  9  UIKit                          0x188abfb34 -[UIScrollView(UIScrollViewInternal) _adjustForAutomaticKeyboardInfo:animated:lastAdjustment:]
  10 WebKit                         0x18c14af3c -[WKWebView _keyboardChangedWithInfo:adjustScrollView:]
  11 CoreFoundation                 0x1827d55f4 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__
  12 CoreFoundation                 0x1827d4d08 _CFXRegistrationPost
  13 CoreFoundation                 0x1827d4a84 ___CFXNotificationPost_block_invoke
  14 CoreFoundation                 0x1828437a8 -[_CFXNotificationRegistrar find:object:observer:enumerator:]
  15 CoreFoundation                 0x18271895c _CFXNotificationPost
  16 Foundation                     0x18322a930 -[NSNotificationCenter postNotificationName:object:userInfo:]
  17 UIKit                          0x1893500e4 -[UIInputWindowController postStartNotifications:withInfo:]
  18 UIKit                          0x189352350 __77-[UIInputWindowController moveFromPlacement:toPlacement:starting:completion:]_block_invoke.907
  19 UIKit                          0x188a383cc -[UIInputViewAnimationStyle launchAnimation:afterStarted:completion:forHost:fromCurrentPosition:]
  20 UIKit                          0x189351dc8 -[UIInputWindowController moveFromPlacement:toPlacement:starting:completion:]
  21 UIKit                          0x1893588b0 -[UIInputWindowController setInputViewSet:]
  22 UIKit                          0x189351494 -[UIInputWindowController performOperations:withAnimationStyle:]
  23 UIKit                          0x188a30d94 -[UIPeripheralHost(UIKitInternal) setInputViews:animationStyle:]
  24 UIKit                          0x1890f7160 -[_UIRemoteKeyboards keyboardChanged:shouldConsiderSnapshottingKeyboard:isLocalEvent:]
  25 UIKit                          0x1890f6e8c __37-[_UIRemoteKeyboards
  </code></pre>
  
  <p>Looking at the logs of the users I found few common things -</p>
  
  <ol>
  <li>All of the users are in a view controller that contains a WKWebView </li>
  <li>All the logs point that the app got "applicationWillResignActive" before the crash</li>
  <li>The stack shows that a keyboard was opened, but we do not have away to open the keyboard on that View Controller</li>
  <li>all users are iOS 10.3 +</li>
  </ol>
  
  <p>The only scenario that fit was that a user got an iMessage while the app was with a visible WKWebView and force touched it to a quick answer. We tested this scenario and BOOOM the app crashed.</p>
  
  <p>So we found the crash, but we do not have a clue what is going on.
  Any one faced that issue or has an idea what could it be?</p>
  
  <p>Thanks</p>