actions / runner-images

GitHub Actions runner images
MIT License
10.12k stars 3.04k forks source link

Failed to open TCP connection to 127.0.0.1:9515 on ubunut-latest.20200825.1 #1516

Closed anark closed 4 years ago

anark commented 4 years ago

Description
When trying to run rspec tests that use selenium webdriver on ubuntu-latest.20200825.1 I get the following error.

##[error]Failure/Error:
  raise e, "Failed to open TCP connection to " +
    "#{conn_address}:#{conn_port} (#{e.message})"

Errno::ECONNREFUSED:
  Failed to open TCP connection to 127.0.0.1:9515 (Connection refused - connect(2) for "127.0.0.1" port 9515)

This worked fine on ubunu-latest.20200817.1 Area for Triage:

Question, Bug, or Feature?:
Bug

Virtual environments affected

Expected behavior
I expect the to be able to use chromedriver the same way I was in version 20200817.1

Actual behavior
When attempting to use chromedriver on ubuntu-latest 20200825.1 I get an error, connection refused

andy-mishechkin commented 4 years ago

Hello, @anark May you provide link to workflow, where you've got this error ? Thank you.

anark commented 4 years ago

I'm experiencing this with the following workflow

jobs:
  rspec:
    runs-on: ubuntu-latest
    services:
      postgres:
        image: postgres:12
        env:
          POSTGRES_USER: ${{ env.PGUSER }}
          POSTGRES_PASSWORD: ${{ env.PGPASSWORD }}
          POSTGRES_DB: test_sky_pilot
        ports:
        - 5432:5432
        # options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
    steps:
    - uses: styfle/cancel-workflow-action@0.4.0
      with:
        access_token: ${{ github.token }}
    - uses: actions/checkout@v2
    - uses: ruby/setup-ruby@v1
      with:
        bundler-cache: true
    - run: bin/rails db:schema:load
    - run: bin/rspec --format RSpec::Github::Formatter

This is on a fairly standard rails app with capybara setup in the following way

Capybara.register_driver :selenium do |app|
  options = Selenium::WebDriver::Chrome::Options.new(
    args: %w[headless disable-gpu no-sandbox]
  )
  Capybara::Selenium::Driver.new(app, browser: :chrome, options: options)
end
Capybara.javascript_driver = :selenium

This worked fine up until about a week ago when it started failing with no code changes.

This is on a private repo, however I will see if I can spin up a public minimal version to replicate the error and post a link here.

andy-mishechkin commented 4 years ago

Hello @anark Thank you for your response. It will be good if you'll post link to public minimal version here. Also I've checked /etc/services and listening ports on ubuntu runner - it has no open TCP/UDP 9515 port. Did you really have it worked about a week ago ?

anark commented 4 years ago

It did work very consistently up until about a week ago, however it may not have been using that port. I don't specifically request that port as that is all done through the chromedriver and chrome installed on the image.

I'll post a minimal version when I get one setup

anark commented 4 years ago

I was unable to reproduce in a basic project.

I investigated further and found that one (pending) test had a different error message. Deleting that test made all the others pass.

No idea why this started with the infrastructure upgrade but it is working now.