Skip to content

[πŸ› Bug]: Error after updating to Chrome 128Β #14453

@pioz

Description

@pioz

What happened?

After updating to Chrome version 128.0.6613.85, I encountered the following errors while running my tests with Selenium WebDriver:

Error:
FiscallyOkTest#test_enable_to_sell_if_missing_fiscal_info:
Selenium::WebDriver::Error::InvalidArgumentError: invalid argument: 'handle' must be a string
  (Session info: chrome=128.0.6613.85)
    test/test_helper.rb:80:in `block in <class:TestCase>'

Error:
FiscallyOkTest#test_enable_to_sell_if_missing_fiscal_info:
Selenium::WebDriver::Error::NoSuchWindowError: no such window
  (Session info: chrome=128.0.6613.85)
    0   chromedriver                        0x000000010515b9a8 cxxbridge1$str$ptr + 1887096
    1   chromedriver                        0x0000000105153e10 cxxbridge1$str$ptr + 1855456
    2   chromedriver                        0x0000000104d58a48 cxxbridge1$string$len + 89100
    3   chromedriver                        0x0000000104dc9e84 cxxbridge1$string$len + 553032
    4   chromedriver                        0x0000000104d91a08 cxxbridge1$string$len + 322508
    5   chromedriver                        0x0000000104d9266c cxxbridge1$string$len + 325680
    6   chromedriver                        0x0000000105122068 cxxbridge1$str$ptr + 1651256
    7   chromedriver                        0x000000010512699c cxxbridge1$str$ptr + 1669996
    8   chromedriver                        0x00000001051071fc cxxbridge1$str$ptr + 1541068
    9   chromedriver                        0x000000010512726c cxxbridge1$str$ptr + 1672252
    10  chromedriver                        0x00000001050f8810 cxxbridge1$str$ptr + 1481184
    11  chromedriver                        0x0000000105145108 cxxbridge1$str$ptr + 1794776
    12  chromedriver                        0x0000000105145284 cxxbridge1$str$ptr + 1795156
    13  chromedriver                        0x0000000105153aac cxxbridge1$str$ptr + 1854588
    14  libsystem_pthread.dylib             0x00000001856e5f94 _pthread_start + 136
    15  libsystem_pthread.dylib             0x00000001856e0d34 thread_start + 8
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/selenium-webdriver-4.1.0/lib/selenium/webdriver/remote/response.rb:56:in `assert_ok'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/selenium-webdriver-4.1.0/lib/selenium/webdriver/remote/response.rb:35:in `initialize'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/selenium-webdriver-4.1.0/lib/selenium/webdriver/remote/http/common.rb:83:in `new'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/selenium-webdriver-4.1.0/lib/selenium/webdriver/remote/http/common.rb:83:in `create_response'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/selenium-webdriver-4.1.0/lib/selenium/webdriver/remote/http/default.rb:109:in `request'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/selenium-webdriver-4.1.0/lib/selenium/webdriver/remote/http/common.rb:59:in `call'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/selenium-webdriver-4.1.0/lib/selenium/webdriver/remote/bridge.rb:588:in `execute'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/selenium-webdriver-4.1.0/lib/selenium/webdriver/remote/bridge.rb:169:in `switch_to_window'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/selenium-webdriver-4.1.0/lib/selenium/webdriver/common/target_locator.rb:108:in `window'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/capybara-3.36.0/lib/capybara/selenium/driver.rb:270:in `switch_to_window'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/capybara-3.36.0/lib/capybara/selenium/driver.rb:425:in `within_given_window'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/capybara-3.36.0/lib/capybara/selenium/driver.rb:247:in `close_window'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/capybara-3.36.0/lib/capybara/selenium/driver_specializations/chrome_driver.rb:41:in `block in reset!'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/capybara-3.36.0/lib/capybara/selenium/driver_specializations/chrome_driver.rb:41:in `each'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/capybara-3.36.0/lib/capybara/selenium/driver_specializations/chrome_driver.rb:41:in `reset!'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/capybara-3.36.0/lib/capybara/session.rb:130:in `reset!'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/capybara-3.36.0/lib/capybara.rb:325:in `block in reset_sessions!'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/capybara-3.36.0/lib/capybara.rb:325:in `reverse_each'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/capybara-3.36.0/lib/capybara.rb:325:in `reset_sessions!'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/actionpack-5.2.8.1/lib/action_dispatch/system_testing/test_helpers/setup_and_teardown.rb:23:in `after_teardown'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/minitest-5.20.0/lib/minitest/test.rb:99:in `block (4 levels) in run'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/minitest-5.20.0/lib/minitest/test.rb:191:in `capture_exceptions'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/minitest-5.20.0/lib/minitest/test.rb:98:in `block (3 levels) in run'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/minitest-5.20.0/lib/minitest/test.rb:97:in `each'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/minitest-5.20.0/lib/minitest/test.rb:97:in `block (2 levels) in run'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/minitest-5.20.0/lib/minitest.rb:299:in `time_it'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/minitest-5.20.0/lib/minitest/test.rb:88:in `block in run'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/minitest-5.20.0/lib/minitest.rb:408:in `on_signal'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/minitest-5.20.0/lib/minitest/test.rb:239:in `with_info_handler'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/minitest-5.20.0/lib/minitest/test.rb:87:in `run'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/minitest-5.20.0/lib/minitest.rb:1094:in `run_one_method'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/minitest-5.20.0/lib/minitest.rb:374:in `run_one_method'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/minitest-5.20.0/lib/minitest.rb:361:in `block (2 levels) in run'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/minitest-5.20.0/lib/minitest.rb:360:in `each'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/minitest-5.20.0/lib/minitest.rb:360:in `block in run'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/minitest-5.20.0/lib/minitest.rb:408:in `on_signal'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/minitest-5.20.0/lib/minitest.rb:395:in `with_info_handler'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/minitest-5.20.0/lib/minitest.rb:359:in `run'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/railties-5.2.8.1/lib/rails/test_unit/line_filtering.rb:10:in `run'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/minitest-5.20.0/lib/minitest.rb:185:in `block in __run'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/minitest-5.20.0/lib/minitest.rb:185:in `map'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/minitest-5.20.0/lib/minitest.rb:185:in `__run'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/minitest-5.20.0/lib/minitest.rb:162:in `run'
    /Users/pioz/.local/share/mise/installs/ruby/2.6.8/lib/ruby/gems/2.6.0/gems/minitest-5.20.0/lib/minitest.rb:86:in `block in autorun'

I run ruby 2.6.8 with Rails 5.2 on a legacy project and selenium-webdriver 4.1.0.

My ApplicationSystemTestCase:

class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
  driven_by :selenium, using: :headless_chrome, screen_size: [1400, 1400]

  Capybara.configure do |config|
    config.server = :puma, { Silent: true }
    config.server_port = 31_337 # same as test.yml
    config.default_max_wait_time = 10.seconds
    config.test_id = 'data-test-id'
  end
end

Any idea?

How can we reproduce the issue?

I don't know.

Relevant log output

2024-08-28 20:29:00 DEBUG Selenium Executing Process ["/opt/homebrew/bin/chromedriver", "--port=9515"]
2024-08-28 20:29:00 DEBUG Selenium polling for socket on ["127.0.0.1", 9515]
Starting ChromeDriver 128.0.6613.84 (606aa55c7d687518d34b55accc5a71ea0bd28727-refs/branch-heads/6613@{#1335}) on port 9515
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully on port 9515.
2024-08-28 20:29:00 INFO Selenium -> POST session
2024-08-28 20:29:00 INFO Selenium    >>> http://127.0.0.1:9515/session | {"capabilities":{"alwaysMatch":{"browserName":"chrome","goog:chromeOptions":{"args":["--headless"]}}}}
2024-08-28 20:29:00 DEBUG Selenium      > {"Accept"=>"application/json", "Content-Type"=>"application/json; charset=UTF-8", "User-Agent"=>"selenium/4.1.0 (ruby macosx)", "Content-Length"=>"102"}
2024-08-28 20:29:01 INFO Selenium <- {"value":{"capabilities":{"acceptInsecureCerts":false,"browserName":"chrome","browserVersion":"128.0.6613.85","chrome":{"chromedriverVersion":"128.0.6613.84 (606aa55c7d687518d34b55accc5a71ea0bd28727-refs/branch-heads/6613@{#1335})","userDataDir":"/var/folders/ym/tzf6py4518q66sqncq3nbczw0000gn/T/.org.chromium.Chromium.orsqn2"},"fedcm:accounts":true,"goog:chromeOptions":{"debuggerAddress":"localhost:52436"},"networkConnectionEnabled":false,"pageLoadStrategy":"normal","platformName":"mac","proxy":{},"setWindowRect":true,"strictFileInteractability":false,"timeouts":{"implicit":0,"pageLoad":300000,"script":30000},"unhandledPromptBehavior":"dismiss and notify","webauthn:extension:credBlob":true,"webauthn:extension:largeBlob":true,"webauthn:extension:minPinLength":true,"webauthn:extension:prf":true,"webauthn:virtualAuthenticators":true},"sessionId":"eacdeae184db1be17b0a2ef1695f3e57"}}
...
2024-08-28 20:29:39 INFO Selenium -> GET session/eacdeae184db1be17b0a2ef1695f3e57/window
2024-08-28 20:29:39 INFO Selenium <- {"value":"E262A126F03D3BFB810A21EF57CDFE81"}
2024-08-28 20:29:39 INFO Selenium -> POST session/eacdeae184db1be17b0a2ef1695f3e57/window
2024-08-28 20:29:39 INFO Selenium    >>> http://127.0.0.1:9515/session/eacdeae184db1be17b0a2ef1695f3e57/window | {"handle":"E80D5319A2E8D99632BB16F5BB4AF3E3"}
2024-08-28 20:29:39 DEBUG Selenium      > {"Accept"=>"application/json", "Content-Type"=>"application/json; charset=UTF-8", "User-Agent"=>"selenium/4.1.0 (ruby macosx)", "Content-Length"=>"45"}
2024-08-28 20:29:39 INFO Selenium <- {"value":null}
2024-08-28 20:29:39 INFO Selenium -> DELETE session/eacdeae184db1be17b0a2ef1695f3e57/window
2024-08-28 20:29:59 INFO Selenium <- {"value":{"error":"unknown error","message":"unknown error: failed to close window in 20 seconds\n  (Session info: chrome=128.0.6613.85)","stacktrace":"0   chromedriver                        0x000000010509f9a8 cxxbridge1$str$ptr + 1887096\n1   chromedriver                        0x0000000105097e10 cxxbridge1$str$ptr + 1855456\n2   chromedriver                        0x0000000104c9cbe0 cxxbridge1$string$len + 89508\n3   chromedriver                        0x0000000104c7b588 core::str::slice_error_fail::h6c488016ada29016 + 17732\n4   chromedriver                        0x0000000104c7b5e8 core::str::slice_error_fail::h6c488016ada29016 + 17828\n5   chromedriver                        0x0000000104d0d1b8 cxxbridge1$string$len + 549756\n6   chromedriver                        0x0000000104cd5a08 cxxbridge1$string$len + 322508\n7   chromedriver                        0x0000000104cd666c cxxbridge1$string$len + 325680\n8   chromedriver                        0x0000000105066068 cxxbridge1$str$ptr + 1651256\n9   chromedriver                        0x000000010506a99c cxxbridge1$str$ptr + 1669996\n10  chromedriver                        0x000000010504b1fc cxxbridge1$str$ptr + 1541068\n11  chromedriver                        0x000000010506b26c cxxbridge1$str$ptr + 1672252\n12  chromedriver                        0x000000010503c810 cxxbridge1$str$ptr + 1481184\n13  chromedriver                        0x0000000105089108 cxxbridge1$str$ptr + 1794776\n14  chromedriver                        0x0000000105089284 cxxbridge1$str$ptr + 1795156\n15  chromedriver                        0x0000000105097aac cxxbridge1$str$ptr + 1854588\n16  libsystem_pthread.dylib             0x00000001856e5f94 _pthread_start + 136\n17  libsystem_pthread.dylib             0x00000001856e0d34 thread_start + 8\n"}}

Operating System

MacOSX 14.6.1

Selenium version

4.1.0

What are the browser(s) and version(s) where you see this issue?

Chrome 128

What are the browser driver(s) and version(s) where you see this issue?

ChromeDriver 128.0.6613.85

Are you using Selenium Grid?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-needs-triagingA Selenium member will evaluate this soon!I-defectSomething is not working as intended

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions