Executing commands for certain CDP domains fail when Fission (site-isolation) is enabled
Categories
(Remote Protocol :: CDP, defect, P3)
Tracking
(Fission Milestone:Future)
Fission Milestone | Future |
People
(Reporter: cantgetright82, Unassigned)
References
Details
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36
Steps to reproduce:
- have a stackoverflow page open in firefox
- connect puppeteer to already running Firefox
- call await browser.pages()
Actual results:
(node:11380) UnhandledPromiseRejectionWarning: Error: Protocol error (Page.getFrameTree): can't access property "domWindow", bc.docShell is null _getFrameDetails@chrome://remote/content/cdp/domains/content/Page.jsm:424:7
getFrames@chrome://remote/content/cdp/domains/content/Page.jsm:158:21
getFrames@chrome://remote/content/cdp/domains/content/Page.jsm:164:23
getFrameTree@chrome://remote/content/cdp/domains/content/Page.jsm:173:18
execute@chrome://remote/content/cdp/domains/DomainCache.jsm:101:25
receiveMessage@chrome://remote/content/cdp/sessions/ContentProcessSession.jsm:84:45
Expected results:
I would expect to not get an exception.
As soon as offending tabs are closed, brower.pages() functions normally.
It seems some sites do not have this problem while others do.
Reporter | ||
Comment 1•4 years ago
|
||
I did some more testing:
Tabs that will not throw exception:
nos.nl
volkskrant.nl
cnn.com
Tabs will throw exception:
nu.nl
ad.nl
foxnews.com
Comment 2•4 years ago
|
||
From what I can see, support for Firefox is still experimental. I'm not sure how can we tell if the reported issue is a problem in Firefox or something that can be fixed upstream in Puppeteer.
Henrik, could you please advise here? Should this issue live in bugzilla - is there a specific component for this - or in github?
I assume that you are running with Firefox Nightly? Which version of Puppeteer are you using? The problem here looks like to be related to our site isolation work in Firefox, which is expected to be broken with the partial CDP implementation as long as bug 1555711 hasn't been fixed. By default we turn off the Firefox preference fission.autostart
, but maybe that's not the case for you, given that you manually started Firefox. Please check by opening about:config
and searching for that pref. Turn it off and restart Firefox. It should work then.
Reporter | ||
Comment 4•4 years ago
|
||
(In reply to Henrik Skupin (:whimboo) [⌚️UTC+1] from comment #3)
I assume that you are running with Firefox Nightly? Which version of Puppeteer are you using? The problem here looks like to be related to our site isolation work in Firefox, which is expected to be broken with the partial CDP implementation as long as bug 1555711 hasn't been fixed. By default we turn off the Firefox preference
fission.autostart
, but maybe that's not the case for you, given that you manually started Firefox. Please check by openingabout:config
and searching for that pref. Turn it off and restart Firefox. It should work then.
Very good call. Thanks for a well written response!
Reporter | ||
Updated•4 years ago
|
Sorry, I've made a mistake. The bug to reference is actually bug 1600054. Right now it's not clear if we can make the Remote Agent compatible to our site-isolation feature (Fission). That means as long as that isn't the case this preference needs to keep turned off. Puppeteer itself does it when its launcher starts Firefox.
Thanks for letting us know that this preference fixed it for you!
As such let me re-title the bug so it applies to all CDP specific commands, and make it dependent on bug 1600054.
Comment 6•4 years ago
|
||
(In reply to Henrik Skupin (:whimboo) [⌚️UTC+1] from comment #5)
Right now it's not clear if we can make the Remote Agent compatible to our site-isolation feature (Fission). That means as long as that isn't the case this preference needs to keep turned off. Puppeteer itself does it when its launcher starts Firefox.
In that case, I will move this bug to the "Fission Future" milestone for Fission's post-MVP work.
Comment 7•3 years ago
|
||
The puppeteer launcher disables fission when starting Firefox (https://github.com/puppeteer/puppeteer/blob/d70f60e0619b8659d191fa492e3db4bc221ae982/src/node/Launcher.ts#L514).
Considering that some users might still use the CDP support outside of Puppeteer, we should keep this as a defect, but given that Fission support for CDP commands is not a priority at the moment, setting P3/S3.
cantgetright82, are you still seeing issues on these sites with a recent Firefox Nightly build? If yes this might be related to bug 1706353 then. Thanks in advance for letting us know.
No reply from reporter. As such I assume that the problem still exists given that the failing sites are all requesting cross-origin
headers. Marking as dupe of bug 1706353.
Description
•