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
[Bug]: version 12.0.0 – Error: Unexpected extraInfo events for request on page.goto
#7805
Comments
Experienced the same problem in GitHub Actions: https://github.com/DIYgod/RSSHub/runs/4343296274#step:6:76 |
I'm staring at this too, unsure where to start to fix... |
Same problem |
Same problem. driving me nuts. |
This comment has been minimized.
This comment has been minimized.
@yurique What version of Chrome does browserless/chrome:latest contain? |
@OrKoN I think it's
|
Version 12.0.0 is only compatible with the newer Chromium versions (e.g., 97.0.4692.0 or later) because of some breaking CDP changes. |
Oh! Thanks, @OrKoN! And sorry for the extra noise. (I kind of assumed |
Yeah, no problem, thanks for reporting! It took us a while to update the Chromium version bundled with Puppeteer (e.g., we do not have any releases for Chromium versions 94 - 96) due to the aforementioned CDP changes. If you encounter any other issues using v12 with Chromium 97+, let us know. |
Apologies in advanced if I've done something wrong but I'm receiving these errors on Chrome 97
Puppeteer 12.0.0 specifies 938248 in revisions.js which is prior to 97.0.4692.0 |
I have the same problem |
the problem is with the latest puppeteer version (12.0.0).
|
@rhld16 Hm, interesting... https://omahaproxy.appspot.com tells me that r938248 was released as 97.0.4692.0. In any case, it seems I can reproduce the issue on Linux. The mac build seems to be alright... Let me investigate. |
below error happening on vercel after passing payload destructure object to .hbs template file
|
Template file code:
|
I'm seeing in |
The same error, macOS 12.0.1, Node 17.1.0, puppeteer 12.0.0, Chrome 97.0.4691.0. |
Same error on |
Rolling back to |
I'm having a hard time fully understanding... is this only happening with old versions of chromium and the new version of puppeteer? If this is occurring with up to date chromium and up to date puppeteer, can someone provide a minimal puppeteer script which reproduces the problem? That way we can find out what's going wrong in chromium and fix it in chromium. |
It's happened with actual puppeteer and Chrome.
https://github.com/zloirock/core-js/blob/5b39046ee5f57186122bc00ee2ef752be07496df/scripts/usage.mjs How to reproduce:
|
Ok, I see that the issue description has the minimal repro that I want and it occurs with up to date puppeteer and up to date chromium. Thanks! |
I filed a chromium bug to fix the bad ExtraInfo event behavior: https://bugs.chromium.org/p/chromium/issues/detail?id=1274813 |
I just released v12.0.1 that removes the failing assertion. Please give it a try and thanks everyone for reporting issues! |
I can confirm that it's fixed for my case. |
Jumping in here to say another discussion is happening in #7802. I think the issue is that Puppeteer never expects a |
@OrKoN When the |
Puppeteer will work fine if a responseReceivedExtraInfo comes before or after the corresponding responseReceived. Are you seeing any strange behavior with the newest commit/release that was added today? |
@josepharhar Yes I think it is still not quite correct due to the CDP bug: puppeteer/src/common/NetworkManager.ts Line 444 in 6ee2feb
if (event.redirectHasExtraInfo) {
redirectResponseExtraInfo = this._requestIdToResponseExtraInfo(
event.requestId
).shift();
if (!redirectResponseExtraInfo) {
this._requestIdToQueuedRedirectInfo(event.requestId).push({
event,
interceptionId,
});
return;
}
} See above that it only looks up |
If we look for ExtraInfo events that happened to come before responseReceived without following the hasExtraInfo flags, then we will end up with race conditions and flaky behavior because sometimes it will pick up the ExtraInfo and sometimes it wont. I don't think we should look at ExtraInfo events when !redirectHasExtraInfo or !hasExtraInfo. |
@josepharhar I don't know much about the redirects but I recall something about them reusing request IDs, is that the race condition you have in mind? I suppose worst case we wait for CDP to fix their bug and then everything is fine :) |
Downgrading worked! |
Closing this issue because the error was suppressed in v12.0.1. The investigation and potential further fixes can be tracked via crbug.com/1274813 |
Bug description
Steps to reproduce the problem:
puppeteer-core
):Getting an exception (see the "Relevant log output"):
Added a
console.log
to print theextraInfos
(see the "Relevant log output"):With puppeteer
v11.0.0
this doesn't happen – same code, same browserless, only chaning the version inpackage.json
and runningyarn
to install – the page loads and I'm getting the screenshot in the file.Puppeteer version
12.0.0
Node.js version
v16.4.0
npm version
yarn 1.22.5
What operating system are you seeing the problem on?
macOS
Relevant log output
console.log(extraInfos)
:The text was updated successfully, but these errors were encountered: