Closed
Description
What happened?
TLDR: When running selenium-manager, I get a segmentation fault.
Long version: When running my ruby rspec capybara tests, I get errors like this:
7) email subscriptions sign up for lists
Failure/Error: visit '/'
NoMethodError:
undefined method `positive?' for nil:NilClass
if status.exitstatus.positive?
^^^^^^^^^^
# /home/ben/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/selenium-webdriver-4.8.1/lib/selenium/webdriver/common/selenium_manager.rb:80:in `run'
# /home/ben/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/selenium-webdriver-4.8.1/lib/selenium/webdriver/common/selenium_manager.rb:41:in `driver_path'
# /home/ben/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/selenium-webdriver-4.8.1/lib/selenium/webdriver/common/service.rb:107:in `binary_path'
# /home/ben/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/selenium-webdriver-4.8.1/lib/selenium/webdriver/common/service.rb:74:in `initialize'
# /home/ben/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/selenium-webdriver-4.8.1/lib/selenium/webdriver/common/service.rb:32:in `new'
# /home/ben/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/selenium-webdriver-4.8.1/lib/selenium/webdriver/common/service.rb:32:in `chrome'
# /home/ben/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/selenium-webdriver-4.8.1/lib/selenium/webdriver/chrome/driver.rb:35:in `initialize'
# /home/ben/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/selenium-webdriver-4.8.1/lib/selenium/webdriver/common/driver.rb:47:in `new'
# /home/ben/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/selenium-webdriver-4.8.1/lib/selenium/webdriver/common/driver.rb:47:in `for'
# /home/ben/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/selenium-webdriver-4.8.1/lib/selenium/webdriver.rb:88:in `for'
# /home/ben/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/capybara-3.38.0/lib/capybara/selenium/driver.rb:83:in `browser'
# /home/ben/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/capybara-3.38.0/lib/capybara/selenium/driver.rb:104:in `visit'
# /home/ben/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/capybara-3.38.0/lib/capybara/session.rb:280:in `visit'
# /home/ben/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/capybara-3.38.0/lib/capybara/dsl.rb:52:in `call'
# /home/ben/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/capybara-3.38.0/lib/capybara/dsl.rb:52:in `visit'
# /home/ben/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/rspec-rails-6.0.1/lib/rspec/rails/example/feature_example_group.rb:29:in `visit'
# ./spec/features/homepage/email_subscriptions_spec.rb:88:in `block (2 levels) in <top (required)>'
That got me playing around with https://github.com/SeleniumHQ/selenium/blob/trunk/rb/lib/selenium/webdriver/common/selenium_manager.rb#L41. When I run selenium-manager
directly (see "Relevant log output" section), I get a segfault, which is probably messing with Open3 and causing the error that I'm seeing.
How can we reproduce the issue?
See the relevant log output. I am running the selenium-manager executable out of my ruby gem's bin directory. I see the same issue for both chromedriver and geckodriver.
Relevant log output
$ /home/ben/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/selenium-webdriver-4.8.1/bin/linux/selenium-manager --driver chromedriver --trace
TRACE Reading metadata from /home/ben/.cache/selenium/selenium-manager.json
DEBUG Using shell command to find out chrome version
DEBUG Running command: "google-chrome --version"
DEBUG Output: "Google Chrome 110.0.5481.177 "
DEBUG The version of chrome is 110.0.5481.177
TRACE Writing metadata to /home/ben/.cache/selenium/selenium-manager.json
DEBUG Detected browser: chrome 110
TRACE Reading metadata from /home/ben/.cache/selenium/selenium-manager.json
DEBUG Reading chromedriver version from https://chromedriver.storage.googleapis.com/LATEST_RELEASE_110
[1] 296300 segmentation fault (core dumped) --driver chromedriver --trace
$ /home/ben/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/selenium-webdriver-4.8.1/bin/linux/selenium-manager --driver geckodriver --trace
TRACE Reading metadata from /home/ben/.cache/selenium/selenium-manager.json
DEBUG Using shell command to find out firefox version
DEBUG Running command: "firefox -v"
DEBUG Output: "Mozilla Firefox 110.0"
DEBUG The version of firefox is 110.0
TRACE Writing metadata to /home/ben/.cache/selenium/selenium-manager.json
DEBUG Detected browser: firefox 110
TRACE Reading metadata from /home/ben/.cache/selenium/selenium-manager.json
[1] 297570 segmentation fault (core dumped) --driver geckodriver --trace
Operating System
Ubuntu 22.10
Selenium version
Ruby 4.8.1
What are the browser(s) and version(s) where you see this issue?
Google Chrome 110.0.5481.177 and Mozilla Firefox 110.0
What are the browser driver(s) and version(s) where you see this issue?
I'm not sure selenium-manager gets far enough
Are you using Selenium Grid?
I don't think so
Metadata
Metadata
Assignees
Type
Projects
Status
Done