puppeteer-sharp icon indicating copy to clipboard operation
puppeteer-sharp copied to clipboard

BrowserFetcher.DefaultChromiumRevision Exhibits Hang Bug When Page Has Odd Number column-count

Open StrangeWill opened this issue 2 years ago • 4 comments

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.

StrangeWill avatar Jul 21 '23 01:07 StrangeWill

Do you know if 1108766 will help? It seems we need to refactor our Download fetcher to use newer versions

kblok avatar Jul 21 '23 15:07 kblok

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)

StrangeWill avatar Jul 21 '23 16:07 StrangeWill

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".

StrangeWill avatar Jul 21 '23 16:07 StrangeWill

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

StrangeWill avatar Jul 21 '23 16:07 StrangeWill