Bug 249452
| Summary: | REGRESSION(257681@main) [WebDriver] Invalid WebPageProxy references after RefPtr moved into callbacks | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Lauro Moura <lmoura> |
| Component: | WebDriver | Assignee: | Lauro Moura <lmoura> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | bburg, cgarcia, ddkilzer, ggaren, webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| See Also: | https://bugs.webkit.org/show_bug.cgi?id=248912 | ||
Lauro Moura
257681@main replaced plain WebPageProxy pointers with RefPtr, but IIUC, it also WTFMove'd some of these RefPtr into lambda captures while they were still used outside leading to invalid references. For example, being passed into a WebProcessProxy& parameter in the exitFullscreenWindowForPage() call inside setWindowFrameOfBrowsingContext() in [1]. When exit... executed, the page parameter received was (nil) after being moved.
As this happened in some WebAutomationSession methods used during the setup of many tests, the failures in the webdriver suite increased from ~23 to ~2008.
First build with failure: https://build.webkit.org/#/builders/37/builds/13372
Patch incoming.
[1] https://github.com/WebKit/WebKit/blob/main/Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp#L417
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Lauro Moura
Pull request: https://github.com/WebKit/WebKit/pull/7737
EWS
Committed 257988@main (7301504e0c22): <https://commits.webkit.org/257988@main>
Reviewed commits have been landed. Closing PR #7737 and removing active labels.
Radar WebKit Bug Importer
<rdar://problem/103447051>