Temporary fix for deadlock on pagehide event evaluation when page.close is called #979
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of changes
When we run the k6 browser module against a remote chrome instance, we've found that 1 or more VUs deadlock when running the test in this issue. What we have come to realise during the investigation is that the evaluate on the
pagehide
event whenpage.close
is called seems to wait indefinitely for a response from chrome, that never seems to arrive.This is a temporary fix where we use the page's
defaultTimeout
to timeout thisevaluate
request instead of waiting indefinitely. We still need to investigate the root cause of the issue. The downside of this fix is that when thisevaluate
does timeout then we may not receive all the web vital measurements for that iteration (the reason we added thepagehide
event evaluate was to force the web vital measurements to be calculated and sent to the browser module: #953).Doesn't close issue #971 but temporarily alleviates the issue.
Checklist