puppeteer-sharp
puppeteer-sharp copied to clipboard
BrowserFetcher.DefaultChromiumRevision Exhibits Hang Bug When Page Has Odd Number column-count
Description
From what we can tell Chromium has a bug where if the column-count is odd for this page (and possibly others), it'll thread spin hard and take hours to complete a screenshot in some cases. Updating to 1115057 fixes it.
There is a block of code that allows us to replace column-count: 3 with column-count: 4, this works, replacing it with 5 does not, 6 does, 7 does not, 8 does.
Ideally moving up to a newer stable release may be ideal, I haven't been able to find a logged Chroium bug regarding this, it may have been silently fixed at some point.
Complete minimal example reproducing the issue
See application here:
https://github.com/StrangeWill/PuppeteerSharpStall/blob/master/Program.cs
Expected behavior:
A screenshot to be taken
Actual behavior:
A stall and CPU spin for possibly hours before screenshot is taken
Versions
PuppeteerSharp 10.1.2
Edit:
We're just running with this version for now -- but I wanted visibility on this and a discussion around updating the default to prevent column-count related issues for anyone else.
Do you know if 1108766 will help? It seems we need to refactor our Download fetcher to use newer versions
1108766 fails to acquire the screenshot for me, so it was fixed sometime between 1108766 and 1115057
If I can get a list of revisions I can just brute-force my way to victory with a for loop, I just can't manually iterate because I'm assuming the available revision counts aren't linear (I could binary search to find where it got fixed)
Closest issue I've found so far is this one: https://bugs.chromium.org/p/chromium/issues/detail?id=1400279&q=column-count%20cpu&can=1 but is marked as "wontfix".
Upon further inspection: Chromium had a lot of column-count related bugs late 2022/early 2023 that are marked are regressions, may be related. https://bugs.chromium.org/p/chromium/issues/list?q=column-count&can=1