Skip to content
This repository has been archived by the owner on Nov 3, 2022. It is now read-only.

Download one copy of Chrome per parallel worker #431

Merged
merged 1 commit into from
Sep 29, 2021

Conversation

barrucadu
Copy link
Contributor

We've started seeing the error

ChildProcess::LaunchError:
  Text file busy - /root/.webdrivers/chromedriver

Which sounds a lot like
titusfortner/webdrivers#77, but that fix was
applied in 2019 and it solved the issues we had then. This is a new
occurrence, possibly related to a new version of Chrome (as one came
out recently).

Downloading one copy of chrome for each test runner isn't great, but
it's acceptable if it fixes the issue.


The failure is nondeterministic, but 10 builds of this branch in a row have passed, so I think it's a solution.

We've started seeing the error

    ChildProcess::LaunchError:
      Text file busy - /root/.webdrivers/chromedriver

Which sounds a lot like
titusfortner/webdrivers#77, but that fix was
applied in 2019 and it solved the issues we had then.  This is a new
occurrence, possibly related to a new version of Chrome (as one came
out recently).

Downloading one copy of chrome for each test runner isn't great, but
it's acceptable if it fixes the issue.
@barrucadu barrucadu merged commit 629927b into master Sep 29, 2021
@barrucadu barrucadu deleted the msw/separate-install-dirs branch September 29, 2021 10:30
@kevindew
Copy link
Member

Great stuff @barrucadu

Do we think webdrivers is trying to write a new chromedriver file at the start of the tests then? I had a memory that we'd disabled that action but may be mis-remembering.

@barrucadu
Copy link
Contributor Author

I think it's running multiple instances of chrome in parallel which are fighting over a socket(?) file. I don't think the issue is to do with downloading as such, as there's no error about an empty or corrupted zip file, which the previous issue had.

Using a different copy of chrome for each worker has the benefit of making each one use a different socket file, at the cost of downloading chrome multiple times; but it fixes the problem.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants