| Summary: | REGRESSION (iOS 16): The renderer process is frozen when opening a specific PDF via mozilla/pdfjs | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Seokho Song <seokho> | ||||||||||
| Component: | Layout and Rendering | Assignee: | Nobody <webkit-unassigned> | ||||||||||
| Status: | RESOLVED DUPLICATE | ||||||||||||
| Severity: | Major | CC: | bfulgham, darin, eknoor, kkinnunen, simon.fraser, webkit-bug-importer, zalan | ||||||||||
| Priority: | P2 | Keywords: | InRadar | ||||||||||
| Version: | Safari 16 | ||||||||||||
| Hardware: | iPhone / iPad | ||||||||||||
| OS: | iOS 16 | ||||||||||||
| Attachments: |
|
||||||||||||
|
Description
Seokho Song
2023-01-03 22:25:08 PST
Looks like a GPU Process hang. Hi Seokho, is there a user facing symptom we can look for when the issue reproduces? A screen recording of your steps to reproduce would be greatly appreciated. Thank you. Created attachment 464338 [details] on iPhone 12 pro, device recording 1. Open https://mozilla.github.io/pdf.js/web/viewer.html on Safari 2. Open one of the pdf files unzipped reroduction_cases.zip 3. Reproduction! Created attachment 464339 [details] Safari release mode build 1. Run ./Tools/Scripts/run-safari --ios-simulator 2. Open https://mozilla.github.io/pdf.js/web/viewer.html on safari in simulator 3. Open one of the pdf files unzipped reroduction_cases.zip 4. Reproduction! Created attachment 464340 [details] Safari debug mode build !!!No freezing case!!! 1. Run ./Tools/Scripts/run-safari --ios-simulator --debug 2. Open https://mozilla.github.io/pdf.js/web/viewer.html on safari in simulator 3. Open one of the pdf files unzipped reroduction_cases.zip 4. **No Reproduction** Sure :) The user of our company(using mozilla/pdfjs) complain to CS that the browser is frozen. (Quite a bit frequently) Here are 2 attachments to reproduce and debug mode screen recording that does not reproduce the case. (build commit hash is ef906728e98c7ea5144f72c4a5bec2a2561c1e8d) Could the resolved version of safari be a hotfix or a minor patch for iOS? If you need further information, please feel free to request it. Thanks. Hi folks, I'd like to track this issue in our company. What is the current status of this issue? Any estimated time for when to fix it? Friendly ping for this issue :) Can I ask to increase the importance level to P1/Critical? Due to the customer of our company keep claiming about iOS browser (Webkit) freezing. Also, the GitHub issue related to process freezing keeps opened like https://github.com/mozilla/pdf.js/issues/15919 Thanks for the report! This was fixed as part of bug 250318. This was related to Web process -> GPU Process communication: - PDFJS creates a lot of canvas commands -> command buffer wraps around often - Stream command buffer thinks 10 is the minimum bytes needed for the critical command - Stream command buffer thinks SetStreamDestinationID is the critical command - If the command buffer is within 10-15 bytes from wrap around during SetStreamDestinationID, this may fail because sometimes SetStreamDestinationID takes 16 bytes due to alignment within the command - If SetStreamDestinationID, the command fails. The RRB is such a client that it doesn’t check for send failures - If the failed command is a object creation command (create image buffer), the server doesn’t know about it - Sender sends a new command to the new object (that did not get created) - Down the line, the server sees a message to an object that has not been created. It doesn’t know what message it is, and as such it cannot parse the message. It must timeout the message and all subsequent messages - The sender sends a sync message, in this case prepareBuffersForDisplay. - The sender times out waiting for the message *** This bug has been marked as a duplicate of bug 250318 *** |