Our scheduled CI build started failing on the 23rd of August. We use capybara + selenium + chromedriver to run some integration tests in chromium, and these tests started breaking:
RSpec::Core::MultipleExceptionError
\e[1mFailure/Error: \e[0mUnable to find matching line from backtrace
session not created: Chrome failed to start: exited normally.
(session not created: DevToolsActivePort file doesn't exist)
(The process started from chrome location /home/deploy/.cache/selenium/chrome/linux64/128.0.6613.84/chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
session not created: Chrome failed to start: exited normally.
(session not created: DevToolsActivePort file doesn't exist)
(The process started from chrome location /home/deploy/.cache/selenium/chrome/linux64/128.0.6613.84/chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
I saw a CircleCI changelog entry on this day, for “Server release 4.6.1”.
I tried installing google-chrome instead of chromium, but we are getting the same crash. Running google-chrome manually from an SSH session gives me a “execlp failed” error:
root@c49f0749511c:/home/circleci/project# /usr/bin/google-chrome --help
[0827/022314.971585:FATAL:chrome_main_delegate.cc(436)] execlp failed: No such file or directory (2)
Trace/breakpoint trap (core dumped)
Note that the tests are all passing when I run them locally on my machine using the exact same Docker image. So the issue appears to be a Docker permission that was recently removed when running the images on CI.
I found a blog post that describes a similar error: Chrome in docker | Public Notes
Otherwise I haven’t been able to find too much on Google. Has anyone else run into this? Is there something I can change in my CircleCI config, or in capybara/selenium? Thanks!