-
- Notifications
You must be signed in to change notification settings - Fork 8.6k
Closed
Labels
C-rustRust code is mostly Selenium ManagerRust code is mostly Selenium ManagerI-defectSomething is not working as intendedSomething is not working as intended
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
Labels
C-rustRust code is mostly Selenium ManagerRust code is mostly Selenium ManagerI-defectSomething is not working as intendedSomething is not working as intended
Type
Projects
Status
Done