Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

31955525: Dead lock in WebCore/WebThreadLock #17355

Open
openradar-mirror opened this issue May 3, 2017 · 0 comments
Open

31955525: Dead lock in WebCore/WebThreadLock #17355

openradar-mirror opened this issue May 3, 2017 · 0 comments

Comments

@openradar-mirror
Copy link

Description

Area:
WebKit

Summary:
When UIWebView is executing some JavaScript it can run in a dead lock on the main thread, causing the whole application to hang. In the real world this is caused by some CPU intensive JavaScript. In the attached example project a simple while (true) { ... } loop in JavaScript is used to demonstrate the issue.

Steps to Reproduce:

  1. Open attached project in Xcode 8.3.2
  2. Run it on iPhone 7 10.3 Simulator
  3. Tap on the "Open WebView" button
  4. Wait 10 seconds
  5. Tap on the back button
  6. Wait 10 seconds
  7. Tap again on the "Open WebView" button

Expected Results:
Open the WebView a second time.

Actual Results:
It does not open the WebView a second time. Instead the application hangs and is unresponsive.

You can pause the application at this point and get a stack trace of the main thread:

Version:
Xcode 8.3.2, Mac OS 10.12.4

Notes:

Configuration:
iPhone 7 Simulator, iOS 10.3

Attachments:
'WebThreadDeadLock-master.zip' was successfully uploaded.
(see here: https://github.com/technology-ebay-de/WebThreadDeadLock)

Product Version: iOS 10.3
Created: 2017-05-03T03:07:09.957930
Originated: 2017-05-03T00:00:00
Open Radar Link: http://www.openradar.me/31955525

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

1 participant