Bug 260667 - WindowEventLoop can infinite loop trying to run idle callback in suspended pages
Summary: WindowEventLoop can infinite loop trying to run idle callback in suspended pages
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: DOM (show other bugs)
Version: Safari Technology Preview
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Ryosuke Niwa
URL:
Keywords: InRadar
Depends on:
Blocks: 164193
  Show dependency treegraph
 
Reported: 2023-08-24 11:06 PDT by Ryosuke Niwa
Modified: 2023-08-24 14:24 PDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ryosuke Niwa 2023-08-24 11:06:09 PDT
WindowEventLoop::didReachTimeToRun schedules itself again when an idle callback is scheduled but we didn't have enough time to run it.
This logic can infinite loop when the timer never fires because the document has been suspended.
Comment 1 Ryosuke Niwa 2023-08-24 11:06:40 PDT
<rdar://114384740>
Comment 2 Ryosuke Niwa 2023-08-24 11:11:19 PDT
Pull request: https://github.com/WebKit/WebKit/pull/17027
Comment 3 EWS 2023-08-24 14:24:45 PDT
Committed 267246@main (5033809fcf70): <https://commits.webkit.org/267246@main>

Reviewed commits have been landed. Closing PR #17027 and removing active labels.