SeleniumHQ / selenium

A browser automation framework and ecosystem.
https://selenium.dev
Apache License 2.0
30.29k stars 8.15k forks source link

[🐛 Bug]: selenium-manager segmentation fault #11717

Closed benhutton closed 1 year ago

benhutton commented 1 year ago

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

github-actions[bot] commented 1 year ago

@benhutton, thank you for creating this issue. We will troubleshoot it as soon as we can.


Info for maintainers

Triage this issue by using labels.

If information is missing, add a helpful comment and then I-issue-template label.

If the issue is a question, add the I-question label.

If the issue is valid but there is no time to troubleshoot it, consider adding the help wanted label.

If the issue requires changes or fixes from an external project (e.g., ChromeDriver, GeckoDriver, MSEdgeDriver, W3C), add the applicable G-* label, and it will provide the correct link and auto-close the issue.

After troubleshooting the issue, please add the R-awaiting answer label.

Thank you!

diemol commented 1 year ago

Selenium Manager is not meant to be run directly for now, it should be transparent to users. However we can have a look.

@bonigarcia could you please check?

benhutton commented 1 year ago

thanks!

Just to be clear, I am only running it directly to demonstrate the error. I am mainly just letting it run transparently, and that's where it's failing

bonigarcia commented 1 year ago

@benhutton What is the architecture of your computer? You can check it running the command uname -m

This is my output in Linux:

boni@slimbook:/var/lib/gems/3.0.0/gems/selenium-webdriver-4.8.1/bin/linux$ uname -m
x86_64

boni@slimbook:/var/lib/gems/3.0.0/gems/selenium-webdriver-4.8.1/bin/linux$ ./selenium-manager --browser chrome --debug
DEBUG   Using shell command to find out chrome version
DEBUG   Running command: "google-chrome --version"
DEBUG   Output: "Google Chrome 110.0.5481.100 "
DEBUG   The version of chrome is 110.0.5481.100
DEBUG   Detected browser: chrome 110
DEBUG   Reading chromedriver version from https://chromedriver.storage.googleapis.com/LATEST_RELEASE_110
DEBUG   Required driver: chromedriver 110.0.5481.77
DEBUG   Running command: "chromedriver --version"
DEBUG   Output: ""
DEBUG   Driver URL: https://chromedriver.storage.googleapis.com/110.0.5481.77/chromedriver_linux64.zip
DEBUG   File extracted to /home/boni/.cache/selenium/chromedriver/linux64/110.0.5481.77/chromedriver (14452880 bytes)
INFO    /home/boni/.cache/selenium/chromedriver/linux64/110.0.5481.77/chromedriver

boni@slimbook:/var/lib/gems/3.0.0/gems/selenium-webdriver-4.8.1/bin/linux$ ./selenium-manager --driver geckodriver --debug
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
DEBUG   Detected browser: firefox 110
DEBUG   Required driver: geckodriver 0.32.2
DEBUG   Running command: "geckodriver --version"
DEBUG   Output: ""
DEBUG   Driver URL: https://github.com/mozilla/geckodriver/releases/download/v0.32.2/geckodriver-v0.32.2-linux64.tar.gz
INFO    /home/boni/.cache/selenium/geckodriver/linux64/0.32.2/geckodriver
benhutton commented 1 year ago

Same.

$ uname -m
x86_64
bonigarcia commented 1 year ago

It seems the problem happens when connecting to the driver repository, but it is difficult to know the cause of the problem. To try debugging it, I have built a selenium-manager binary that logs the traces of the dependencies as well. Moreover, this binary uses the latest dependencies versions (just in case the problem is due to a bug in these crates).

@benhutton Can you please have a try with this binary?

Please download it from here: selenium-manager_linux-x64

And execute it, for instance, as follows:

selenium-manager --driver chromedriver --trace

Thanks a lot in advance.

benhutton commented 1 year ago

Here you go @bonigarcia

$ ./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
DEBUG   starting new connection: https://chromedriver.storage.googleapis.com/
[1]    750214 segmentation fault (core dumped)  ./selenium-manager --driver chromedriver --trace
bonigarcia commented 1 year ago

Thanks a lot for your help debugging this issue, @benhutton. Thanks to these traces, I can see that the problem happens inside one of the selenium-manager dependencies, concretely in reqwest (used for handling HTTP connections). The last logged trace is this one.

To try to narrow the cause of the problem, I changed how the HTTP client is configured by default in selenium-manager. @benhutton Do you mind repeating the test (i.e., executing selenium-manager --driver chromedriver --trace) using the following binaries:

a) [without accepting invalid certs] : selenium-manager_linux-x64 b) [without rustls-tls] : selenium-manager_linux-x64 c) [without accepting invalid certs nor rustls-tls] : selenium-manager_linux-x64

Many thanks again.

benhutton commented 1 year ago

a)

 ./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
DEBUG   starting new connection: https://chromedriver.storage.googleapis.com/
[1]    6761 segmentation fault (core dumped)  ./selenium-manager --driver chromedriver --trace

b)

./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]    7131 segmentation fault (core dumped)  ./selenium-manager --driver chromedriver --trace

c)

./selenium-manager --driver chromedriver --trace
[1]    7342 segmentation fault (core dumped)  ./selenium-manager --driver chromedriver --trace
bonigarcia commented 1 year ago

Thanks a lot for the help, @benhutton. I don't know the cause of the problem yet, but I continue debugging it. I'll let you know my findings.

bonigarcia commented 1 year ago

I'm trying to compile a selenium-manger binary with debugging symbols to debug it through gdb. But still no luck in generating it.

@benhutton In the meantime, Can you please have a try with the following binary?

selenium-manager_linux-x64

The internal source code is the same as the original release, but this time, without the optimization parameters we used to make the selenium-manager binary lighter. Please let me know the result of ./selenium-manager --driver chromedriver --trace

benhutton commented 1 year ago
./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
DEBUG   starting new connection: https://chromedriver.storage.googleapis.com/
[1]    53289 segmentation fault (core dumped)  ./selenium-manager --driver chromedriver --trace
bonigarcia commented 1 year ago

I managed to build a selenium-manager binary with debugging symbols. You can download it from here:

selenium-manager_linux-x64

@benhutton Please use that binary to run the usual command:

./selenium-manager --driver chromedriver --trace

If it is still failing, now, at least, we should be able debug it through gdb, using the following command:

gdb -args ./selenium-manager --driver chromedriver --trace

Then, inside the gdb shell, you can execute selenium-manager by typing:

run

And finally, to get the stack trace by running:

backtrace
benhutton commented 1 year ago

looks like that should get us somewhere! https://gist.github.com/benhutton/0d0833f4a9e5436f3d42808500f99a42

bonigarcia commented 1 year ago

Thanks a lot, @benhutton! Yes, that info is very interesting to debug the problem. It seems related to tokio, which is the crate that selenium-manager uses to handle asynchronous requests. I am going to report it in the tokio issue tracker. To do that, can you please tell me the output of the command uname -a in your machine? Thanks again.

bonigarcia commented 1 year ago

I looked into this issue and made a couple of new binaries with some changes in how the HTTP client and tokio are used. Can you please have a try with them, @benhutton?

d) selenium-manager_linux-x64

e) selenium-manager_linux-x64

bonigarcia commented 1 year ago

Also, please try the following binaries as well:

f) selenium-manager_linux-x64

g) selenium-manager_linux-x64

benhutton commented 1 year ago
uname -a
Linux ben-XPS-15-9510 5.19.0-35-generic #36-Ubuntu SMP PREEMPT_DYNAMIC Fri Feb 3 18:36:56 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

d

./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 111.0.5563.64 "
DEBUG   The version of chrome is 111.0.5563.64
TRACE   Writing metadata to /home/ben/.cache/selenium/selenium-manager.json
DEBUG   Detected browser: chrome 111
TRACE   Reading metadata from /home/ben/.cache/selenium/selenium-manager.json
DEBUG   Reading chromedriver version from https://chromedriver.storage.googleapis.com/LATEST_RELEASE_111
DEBUG   starting new connection: https://chromedriver.storage.googleapis.com/
[1]    156627 segmentation fault (core dumped)  ./selenium-manager --driver chromedriver --trace

e

./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 111.0.5563.64 "
DEBUG   The version of chrome is 111.0.5563.64
TRACE   Writing metadata to /home/ben/.cache/selenium/selenium-manager.json
DEBUG   Detected browser: chrome 111
TRACE   Reading metadata from /home/ben/.cache/selenium/selenium-manager.json
DEBUG   Reading chromedriver version from https://chromedriver.storage.googleapis.com/LATEST_RELEASE_111
DEBUG   starting new connection: https://chromedriver.storage.googleapis.com/
[1]    156973 segmentation fault (core dumped)  ./selenium-manager --driver chromedriver --trace

f

./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 111.0.5563.64 "
DEBUG   The version of chrome is 111.0.5563.64
TRACE   Writing metadata to /home/ben/.cache/selenium/selenium-manager.json
DEBUG   Detected browser: chrome 111
TRACE   Reading metadata from /home/ben/.cache/selenium/selenium-manager.json
DEBUG   Reading chromedriver version from https://chromedriver.storage.googleapis.com/LATEST_RELEASE_111
TRACE   Writing metadata to /home/ben/.cache/selenium/selenium-manager.json
DEBUG   Required driver: chromedriver 111.0.5563.64
DEBUG   Running command: "chromedriver --version"
DEBUG   Output: ""
DEBUG   Driver URL: https://chromedriver.storage.googleapis.com/111.0.5563.64/chromedriver_linux64.zip
TRACE   Downloading https://chromedriver.storage.googleapis.com/111.0.5563.64/chromedriver_linux64.zip to temporal folder "/tmp/ben/selenium-managergYxhsS"
TRACE   File to be downloaded: chromedriver_linux64.zip
TRACE   Temporal folder for driver package: /tmp/ben/selenium-managergYxhsS/chromedriver_linux64.zip
TRACE   The detected extension of the compressed file is zip
TRACE   Unzipping file to /home/ben/.cache/selenium/chromedriver/linux64/111.0.5563.64/chromedriver
DEBUG   File extracted to /home/ben/.cache/selenium/chromedriver/linux64/111.0.5563.64/chromedriver (13977040 bytes)
INFO    /home/ben/.cache/selenium/chromedriver/linux64/111.0.5563.64/chromedriver

g

./selenium-manager --driver chromedriver --trace --clear-cache
TRACE   Reading metadata from /home/ben/.cache/selenium/selenium-manager.json
TRACE   Metadata file does not exist. Creating a new one
DEBUG   Using shell command to find out chrome version
DEBUG   Running command: "google-chrome --version"
DEBUG   Output: "Google Chrome 111.0.5563.64 "
DEBUG   The version of chrome is 111.0.5563.64
TRACE   Writing metadata to /home/ben/.cache/selenium/selenium-manager.json
DEBUG   Detected browser: chrome 111
TRACE   Reading metadata from /home/ben/.cache/selenium/selenium-manager.json
DEBUG   Reading chromedriver version from https://chromedriver.storage.googleapis.com/LATEST_RELEASE_111
DEBUG   starting new connection: https://chromedriver.storage.googleapis.com/
TRACE   registering event source with poller: token=Token(0), interests=READABLE | WRITABLE
DEBUG   No cached session for DnsName(DnsName(DnsName("chromedriver.storage.googleapis.com")))
DEBUG   Not resuming any session
TRACE   Sending ClientHello Message {
    version: TLSv1_0,
    payload: Handshake {
        parsed: HandshakeMessagePayload {
            typ: ClientHello,
            payload: ClientHello(
                ClientHelloPayload {
                    client_version: TLSv1_2,
                    random: 6e009fb0d2b1d593d6470f6636c54af7cafe69cbee8e816edfb9812bff9eaaeb,
                    session_id: a2566bda6312c8981b30e66393948deba77f25d5f295f76e9aca8ce623279e5f,
                    cipher_suites: [
                        TLS13_AES_256_GCM_SHA384,
                        TLS13_AES_128_GCM_SHA256,
                        TLS13_CHACHA20_POLY1305_SHA256,
                        TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
                        TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
                        TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
                        TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
                        TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
                        TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
                        TLS_EMPTY_RENEGOTIATION_INFO_SCSV,
                    ],
                    compression_methods: [
                        Null,
                    ],
                    extensions: [
                        SupportedVersions(
                            [
                                TLSv1_3,
                                TLSv1_2,
                            ],
                        ),
                        ECPointFormats(
                            [
                                Uncompressed,
                            ],
                        ),
                        NamedGroups(
                            [
                                X25519,
                                secp256r1,
                                secp384r1,
                            ],
                        ),
                        SignatureAlgorithms(
                            [
                                ECDSA_NISTP384_SHA384,
                                ECDSA_NISTP256_SHA256,
                                ED25519,
                                RSA_PSS_SHA512,
                                RSA_PSS_SHA384,
                                RSA_PSS_SHA256,
                                RSA_PKCS1_SHA512,
                                RSA_PKCS1_SHA384,
                                RSA_PKCS1_SHA256,
                            ],
                        ),
                        ExtendedMasterSecretRequest,
                        CertificateStatusRequest(
                            OCSP(
                                OCSPCertificateStatusRequest {
                                    responder_ids: [],
                                    extensions: ,
                                },
                            ),
                        ),
                        ServerName(
                            [
                                ServerName {
                                    typ: HostName,
                                    payload: HostName(
                                        (
                                            6368726f6d656472697665722e73746f726167652e676f6f676c65617069732e636f6d,
                                            DnsName(
                                                "chromedriver.storage.googleapis.com",
                                            ),
                                        ),
                                    ),
                                },
                            ],
                        ),
                        SignedCertificateTimestampRequest,
                        KeyShare(
                            [
                                KeyShareEntry {
                                    group: X25519,
                                    payload: 6e0e43eccc7c5270ce33d3174020503234226da99bc00aa805481fdbc6c0802d,
                                },
                            ],
                        ),
                        PresharedKeyModes(
                            [
                                PSK_DHE_KE,
                            ],
                        ),
                        Protocols(
                            [
                                6832,
                                687474702f312e31,
                            ],
                        ),
                        SessionTicket(
                            Request,
                        ),
                    ],
                },
            ),
        },
        encoded: 0100011303036e009fb0d2b1d593d6470f6636c54af7cafe69cbee8e816edfb9812bff9eaaeb20a2566bda6312c8981b30e66393948deba77f25d5f295f76e9aca8ce623279e5f0014130213011303c02cc02bcca9c030c02fcca800ff010000b6002b00050403040303000b00020100000a00080006001d00170018000d00140012050304030807080608050804060105010401001700000005000501000000000000002800260000236368726f6d656472697665722e73746f726167652e676f6f676c65617069732e636f6d00120000003300260024001d00206e0e43eccc7c5270ce33d3174020503234226da99bc00aa805481fdbc6c0802d002d000201010010000e000c02683208687474702f312e3100230000,
    },
}
TRACE   We got ServerHello ServerHelloPayload {
    legacy_version: TLSv1_2,
    random: 6f98fdf73563d4dcf338a2f487d607dc4918b46960905db567b5a7dcdcad5498,
    session_id: a2566bda6312c8981b30e66393948deba77f25d5f295f76e9aca8ce623279e5f,
    cipher_suite: TLS13_AES_256_GCM_SHA384,
    compression_method: Null,
    extensions: [
        KeyShare(
            KeyShareEntry {
                group: X25519,
                payload: 07e3944f04f50c6aaa0027447fef05bd17f3d795c96bb4bb5fb0c8670696c146,
            },
        ),
        SupportedVersions(
            TLSv1_3,
        ),
    ],
}
DEBUG   Using ciphersuite TLS13_AES_256_GCM_SHA384
DEBUG   Not resuming
TRACE   EarlyData rejected
TRACE   Dropping CCS
DEBUG   TLS1.3 encrypted extensions: [Protocols([6832])]
DEBUG   ALPN protocol is Some(b"h2")
TRACE   Server cert is [Certificate(b"0\x82\x06j0\x82\x05R\xa0\x03\x02\x01\x02\x02\x102Y~\x88\x04\xd6\xf8\xad\t\xa9,\xe6\x11)\x8bV0\r\x06\t*\x86H\x86\xf7\r\x01\x01\x0b\x05\00F1\x0b0\t\x06\x03U\x04\x06\x13\x02US1\"0 \x06\x03U\x04\n\x13\x19Google Trust Services LLC1\x130\x11\x06\x03U\x04\x03\x13\nGTS CA 1C30\x1e\x17\r230208043527Z\x17\r230503043526Z0#1!0\x1f\x06\x03U\x04\x03\x0c\x18*.storage.googleapis.com0Y0\x13\x06\x07*\x86H\xce=\x02\x01\x06\x08*\x86H\xce=\x03\x01\x07\x03B\0\x04\x95\x07\x8ch\xf8\x0f!\xcbV\x02\x8fM\x81j\x9b~X\x8fFK\rfx\x90\xd0DU\x91\xb9\xfb\x8a<\x7f\x99\x1e\xcc\xcdW\xce\xe7=\xf1\x11\xc8\x92X\xba\xfa]\xa5\x1a\xc3BN\xc9\tb\xe0\x87\x9fK\xd1w\xa2\xa3\x82\x04@0\x82\x04<0\x0e\x06\x03U\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x07\x800\x13\x06\x03U\x1d%\x04\x0c0\n\x06\x08+\x06\x01\x05\x05\x07\x03\x010\x0c\x06\x03U\x1d\x13\x01\x01\xff\x04\x020\00\x1d\x06\x03U\x1d\x0e\x04\x16\x04\x14~I\xc8\x13\xd0\xb5\x98\xaag\x1a|\x1c\xd4r\xd0n\x96\xcf\x85\xb80\x1f\x06\x03U\x1d#\x04\x180\x16\x80\x14\x8at\x7f\xaf\x85\xcd\xee\x95\xcd=\x9c\xd0\xe2F\x14\xf3q5\x1d'0j\x06\x08+\x06\x01\x05\x05\x07\x01\x01\x04^0\\0'\x06\x08+\x06\x01\x05\x05\x070\x01\x86\x1bhttp://ocsp.pki.goog/gts1c301\x06\x08+\x06\x01\x05\x05\x070\x02\x86%http://pki.goog/repo/certs/gts1c3.der0\x82\x01\xf1\x06\x03U\x1d\x11\x04\x82\x01\xe80\x82\x01\xe4\x82\x18*.storage.googleapis.com\x82\x10*.googleapis.com\x82 commondatastorage.googleapis.com\x82\"*.commondatastorage.googleapis.com\x82\x16storage.googleapis.com\x82\x19storage-p2.googleapis.com\x82\x1b*.storage-p2.googleapis.com\x82\x1bstorage.mtls.googleapis.com\x82$*.appspot.com.storage.googleapis.com\x82 *.content-storage.googleapis.com\x82#*.content-storage-p2.googleapis.com\x82'*.content-storage-upload.googleapis.com\x82)*.content-storage-download.googleapis.com\x82\x1f*.storage-upload.googleapis.com\x82!*.storage-download.googleapis.com0!\x06\x03U\x1d \x04\x1a0\x180\x08\x06\x06g\x81\x0c\x01\x02\x010\x0c\x06\n+\x06\x01\x04\x01\xd6y\x02\x05\x030<\x06\x03U\x1d\x1f\x0450301\xa0/\xa0-\x86+http://crls.pki.goog/gts1c3/QOvJ0N1sT2A.crl0\x82\x01\x03\x06\n+\x06\x01\x04\x01\xd6y\x02\x04\x02\x04\x81\xf4\x04\x81\xf1\0\xef\0u\0\xe8>\xd0\xda>\xf5\x0652\xe7W(\xbc\x89k\xc9\x03\xd3\xcb\xd1\x11k\xec\xebi\xe1w}m\x06\xbdn\0\0\x01\x86/\x85\x96\x81\0\0\x04\x03\0F0D\x02 f\xde\x9f][\x97Z*{\x11\xfa\xc70\x86\x8ad\x1f\x1cOIs\xb9^\xde\x97\xaa!l3\xb2\x08G\x02 \x06\xcfLM\xa9\xbei8Q9E\xa5\xd2\xc4\x1c\xb5d\x88\xc2&lW\xeb\xc9\xdbz\x1e\xb1\xcc\xf54\xe7\0v\0\xb3sw\x07\xe1\x84P\xf8c\x86\xd6\x05\xa9\xdc\x11\tJy-\xb1g\x0c\x0b\x87\xdc\xf0\x03\x0ey6\xa5\x9a\0\0\x01\x86/\x85\x96\x96\0\0\x04\x03\0G0E\x02!\0\xc8\xe1\xd0\x8fX\xf4E&:h\x19\xc2)\x13jr\xe5t\xd9\xb9\xea\xc2\x89\xa0Di\x1d\x0f\xf9\x8b\xdb\xd3\x02 k\xbd\xcf\x96\x81X\0L\x17\xfa\xa2/E\xb9\x9a\xf8\x87\xb2\xe0\xca:>\x0fX\n\xde]\x1e\xd3\x810\xbb0\r\x06\t*\x86H\x86\xf7\r\x01\x01\x0b\x05\0\x03\x82\x01\x01\0\xe1\x08\x87\x8eE\x81M\x08l\xbc\x8b\x8e\xc4\xa2\xfa\xca\0'H\"\n\xd7%\x84v\x84\x19\xfd\xf5ga?\x16\x1d\x92&\x07\xdb-+M\x1dr\xaa\x08z\xc0\xdf\x92\xb6G\xa2(\x01\x84\xbe \xf0\x8c\x82x\x1e\xb6\x91hY\x06\xfcj\xaf3Nn\xba\",\x88\xf8}\x91\xfa!\xcf>)\x0e_\x80\x8fE3\0]\xff}\x9a\xb1\xca3\x07@C\x92\x99\x9d\xc9\xa5r\x03\x8e\xd0\xe3\x10\xbah\xbe\xddn\xdbu{\xf50?\xa8\xa6\x11\xdf\x92\x02\xe8]\xf4\xc3\xc1<\xfb\x9d\xc0y\xab\xe3\xdb.\x80\xf3>|\xc2L\x96\xc3b\xd3\xf6fYq)\xcd\xe4\x01\x82x\x9f\x95fX\x83w\x85\x7fDF\xfc\xee\x90\xd9\xc1\xc6Kw]\xa9\x1b\x04\x07\x1a\x08\x1enF\xde\x93\xb0L\x19\xb9\xfc\x1f\xa5P\xc3\xf9m\xd7\xfe\x06\x05_P\x81\xe2Z-\xf9\xea\x1e\xad\xd2l=\x95\xa4\r\x8ens\xbe\x95\xbd\xdb#e\x9e\xcexD]>\xf9\xca\xad\xfc\x8eR\xe6\xe6V\xde\xf2\x0f\xfe7\xf2\x19"), Certificate(b"0\x82\x05\x960\x82\x03~\xa0\x03\x02\x01\x02\x02\r\x02\x03\xbcSYk4\xc7\x18\xf5\x01Pf0\r\x06\t*\x86H\x86\xf7\r\x01\x01\x0b\x05\00G1\x0b0\t\x06\x03U\x04\x06\x13\x02US1\"0 \x06\x03U\x04\n\x13\x19Google Trust Services LLC1\x140\x12\x06\x03U\x04\x03\x13\x0bGTS Root R10\x1e\x17\r200813000042Z\x17\r270930000042Z0F1\x0b0\t\x06\x03U\x04\x06\x13\x02US1\"0 \x06\x03U\x04\n\x13\x19Google Trust Services LLC1\x130\x11\x06\x03U\x04\x03\x13\nGTS CA 1C30\x82\x01\"0\r\x06\t*\x86H\x86\xf7\r\x01\x01\x01\x05\0\x03\x82\x01\x0f\00\x82\x01\n\x02\x82\x01\x01\0\xf5\x88\xdf\xe7b\x8c\x1e7\xf87B\x90\x7fl\x87\xd0\xfbe\x82%\xfd\xe8\xcbk\xa4\xffm\xe9Z#\xe2\x99\xf6\x1c\xe9\x92\x03\x99\x13|\t\n\x8a\xfaB\xd6^V$\xaaz3\x84\x1f\xd1\xe9i\xbb\xb9t\xecWLfh\x93w7US\xfe9\x10M\xb74\xbb_%w7;\x17\x94\xea<\xe5\x9d\xd5\xbc\xc3\xb4C\xeb.\xa7G\xef\xb0D\x11c\xd8\xb4A\x85\xddA0H\x93\x1b\xbf\xb7\xf6\xe0E\x02!\xe0\x96B\x17\xcf\xd9+eV4\x07&\x04\r\xa8\xfd}\xca.\xef\xeaH|7M?\0\x9f\x83\xdf\xefu\x84.yW\\\xfcWn\x1a\x96\xff\xfc\x8c\x9a\xa6\x99\xbe%\xd9\x7f\x96,\x06\xf7\x11*\x02\x80\x80\xebc\x18<PI\x87\xe5\x8a\xca_\x19+Y\x96\x81\0\xa0\xfbQ\xdb\xcaw\x0b\x0b\xc9\x96O\xefpI\xc7\\m \xfd\x99\xb4\xb4\xe2\xca.w\xfd-\xdc\x0b\xb6k\x13\x0c\x8c\x19+\x17\x96\x98\xb9\xf0\x8b\xf6\xa0'\xbb\xb6\xe3\x8dQ\x8f\xbd\xae\xc7\x9b\xb1\x89\x9d\x02\x03\x01\0\x01\xa3\x82\x01\x800\x82\x01|0\x0e\x06\x03U\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x860\x1d\x06\x03U\x1d%\x04\x160\x14\x06\x08+\x06\x01\x05\x05\x07\x03\x01\x06\x08+\x06\x01\x05\x05\x07\x03\x020\x12\x06\x03U\x1d\x13\x01\x01\xff\x04\x080\x06\x01\x01\xff\x02\x01\00\x1d\x06\x03U\x1d\x0e\x04\x16\x04\x14\x8at\x7f\xaf\x85\xcd\xee\x95\xcd=\x9c\xd0\xe2F\x14\xf3q5\x1d'0\x1f\x06\x03U\x1d#\x04\x180\x16\x80\x14\xe4\xaf+&q\x1a+H'\x85/Rf,\xef\xf0\x89\x13q>0h\x06\x08+\x06\x01\x05\x05\x07\x01\x01\x04\\0Z0&\x06\x08+\x06\x01\x05\x05\x070\x01\x86\x1ahttp://ocsp.pki.goog/gtsr100\x06\x08+\x06\x01\x05\x05\x070\x02\x86$http://pki.goog/repo/certs/gtsr1.der04\x06\x03U\x1d\x1f\x04-0+0)\xa0'\xa0%\x86#http://crl.pki.goog/gtsr1/gtsr1.crl0W\x06\x03U\x1d \x04P0N08\x06\n+\x06\x01\x04\x01\xd6y\x02\x05\x030*0(\x06\x08+\x06\x01\x05\x05\x07\x02\x01\x16\x1chttps://pki.goog/repository/0\x08\x06\x06g\x81\x0c\x01\x02\x010\x08\x06\x06g\x81\x0c\x01\x02\x020\r\x06\t*\x86H\x86\xf7\r\x01\x01\x0b\x05\0\x03\x82\x02\x01\0\x89}\xac \\\x0c<\xbe\x9a\xa8W\x95\x1b\xb4\xae\xfa\xab\xa5rq\xb46\x95\xfd\xdf@\x11\x03L\xc2F\x14\xbb\x14$\xab\xf0Pq\"\xdb\xad\xc4n\x7f\xcf\xf1jo\xc8\x83\x1b\xd8\xce\x89_\x87l\x87\xb8\xa9\x0c\xa3\x9b\xa1b\x94\x93\x95\xdf[\xaef\x19\x0b\x02\x96\x9e\xfc\xb5\xe7\x10i>z\xcbFI_F\xe1A\xb1\xd7\x98Me4\0\x80\x1a?O\x9fl\x7fI\0\x81SA\xa4\x92!\x82\x82\x1a\xf1\xa3D[*P\x12\x13M\xc1S6\xf3B\x08\xafT\xfa\x8ewS\x1bd8'\x17\t\xbdX\xc9\x1b|9-[\xf3\xce\xd4\xed\x97\xdb\x14\x03\xbf\tS$\x1f\xc2\x0c\x04y\x98&\xf2a\xf1SR\xfdB\x8c\x1bf+?\x15\xa1\xbb\xff\xf6\x9b\xe3\x81\x9a\x01\x06q\x895($\xdd\xe1\xbd\xeb\x19-\xe1H\xcb=Y\x83Q\xb4t\xc6\x9d|\xc6\xb1\x86[\xaf\xcc4\xc4\xd3\xcc\xd4\x81\x11\x95\0\xa1\xf4\x12\"\x01\xfa\xb4\x83q\xaf\x8c\xb7\x8cs$\xac7S\xc2\0\x90?\x11\xfe\\\xed6\x94\x10;\xbd)\xae\xe2\xc7:b;lc\xd9\x80\xbfYq\xacc'\xb9L\x17\xa0\xda\xf6s\x15\xbf*\xde\x8f\xf3\xa5l2\x813\x03\xd0\x86Qq\x994\xba\x93\x8d]\xb5QX\xf7\xb2\x93\xe8\x01\xf6Y\xbeq\x9b\xfdM(\xce\xcfm\xc7\x16\xdc\xf7\xd1\xd6F\x9b\xa7\xcak\xe9w\x0f\xfd\xa0\xb6\x1b#\x83\x1d\x10\x1a\xd9\t\0\x84\xe0D\xd3\xa2u#\xb34\x86\xf6 \xb0\xa4^\x10\x1d\xe0RF\0\x9d\xb1\x0f\x1f!pQ\xf5\x9a\xdd\x06\xfcU\xf4+\x0e3w\xc3KB\xc2\xf1w\x13\xfcs\x80\x94\xeb\x1f\xbb7?\xce\x02*f\xb0s\x1d2\xa52l2\xb0\x8e\xe0\xc4#\xff[}Mep\xac+\x9b=\xce\xdb\xe0m\x8e2\x80\xbe\x96\x9f\x92c\xbc\x97\xbb]\xb9\xf4\xe1q^*\xe4\xef\x03\"\xb1\x8ae:\x8f\xc0\x93e\xd4\x85\xcd\x0f\x0f[\x83Y\x16G\x16-\x9c$:\xc8\x80\xa6&\x14\x85\x9b\xf67\x9b\xaco\xf9\xc5\xc3\x06Q\xf3\xe2\x7f\xc5\xb1\x10\xbaQ\xf4\xdd"), Certificate(b"0\x82\x05b0\x82\x04J\xa0\x03\x02\x01\x02\x02\x10w\xbd\rl\xdb6\xf9\x1a\xea!\x0f\xc4\xf0X\xd3\r0\r\x06\t*\x86H\x86\xf7\r\x01\x01\x0b\x05\00W1\x0b0\t\x06\x03U\x04\x06\x13\x02BE1\x190\x17\x06\x03U\x04\n\x13\x10GlobalSign nv-sa1\x100\x0e\x06\x03U\x04\x0b\x13\x07Root CA1\x1b0\x19\x06\x03U\x04\x03\x13\x12GlobalSign Root CA0\x1e\x17\r200619000042Z\x17\r280128000042Z0G1\x0b0\t\x06\x03U\x04\x06\x13\x02US1\"0 \x06\x03U\x04\n\x13\x19Google Trust Services LLC1\x140\x12\x06\x03U\x04\x03\x13\x0bGTS Root R10\x82\x02\"0\r\x06\t*\x86H\x86\xf7\r\x01\x01\x01\x05\0\x03\x82\x02\x0f\00\x82\x02\n\x02\x82\x02\x01\0\xb6\x11\x02\x8b\x1e\xe3\xa1w\x9b;\xdc\xbf\x94>\xb7\x95\xa7@<\xa1\xfd\x82\xf9}2\x06\x82q\xf6\xf6\x8c\x7f\xfb\xe8\xdb\xbcj.\x97\x97\xa3\x8cK\xf9+\xf6\xb1\xf9\xce\x84\x1d\xb1\xf9\xc5\x97\xde\xef\xb9\xf2\xa3\xe9\xbc\x12\x89^\xa7\xaaR\xab\xf8#'\xcb\xa4\xb1\x9cc\xdb\xd7\x99~\xf0\n^\xebh\xa6\xf4\xc6ZG\rM\x103\xe3N\xb1\x13\xa3\xc8\x18lK\xec\xfc\t\x90\xdf\x9dd)%#\x07\xa1\xb4\xd2=.`\xe0\xcf\xd2\t\x87\xbb\xcdH\xf0M\xc2\xc2z\x88\x8a\xbb\xba\xcfY\x19\xd6\xaf\x8f\xb0\x07\xb0\x9e1\xf1\x82\xc1\xc0\xdf.\xa6ml\x19\x0e\xb5\xd8~&\x1aE\x03=\xb0y\xa4\x94(\xad\x0f\x7f&\xe5\xa8\x08\xfe\x96\xe8<h\x94S\xee\x83:\x88+\x15\x96\t\xb2\xe0z\x8c.u\xd6\x9c\xeb\xa7Vd\x8f\x96Oh\xae=\x97\xc2\x84\x8f\xc0\xbc@\xc0\x0b\\\xbd\xf6\x87\xb35l\xac\x18P\x7f\x84\xe0L\xcd\x92\xd3 \xe93\xbcR\x99\xaf2\xb5)\xb3%*\xb4H\xf9r\xe1\xcad\xf7\xe6\x82\x10\x8d\xe8\x9d\xc2\x8a\x88\xfa8f\x8a\xfcc\xf9\x01\xf9x\xfd{\\w\xfav\x87\xfa\xec\xdf\xb1\x0ey\x95W\xb4\xbd&\xef\xd6\x01\xd1\xeb\x16\n\xbb\x8e\x0b\xb5\xc5\xc5\x8aU\xab\xd3\xac\xea\x91K)\xcc\x19\xa42%N*\xf1eD\xd0\x02\xce\xaa\xceI\xb4\xea\x9f|\x83\xb0@{\xe7C\xab\xa7l\xa3\x8f}\x89\x81\xfaL\xa5\xff\xd5\x8e\xc3\xceK\xe0\xb5\xd8\xb3\x8eE\xcfv\xc0\xed@+\xfdS\x0f\xb0\xa7\xd5;\r\xb1\x8a\xa2\x03\xde1\xad\xccw\xeao{>\xd6\xdf\x91\"\x12\xe6\xbe\xfa\xd82\xfc\x10c\x14Qr\xde]\xd6\x16\x93\xbd)h3\xef:f\xec\x07\x8a&\xdf\x13\xd7Wex'\xde^I\x14\0\xa2\0\x7f\x9a\xa8!\xb6\xa9\xb1\x95\xb0\xa5\xb9\r\x16\x11\xda\xc7lH<@\xe0~\rZ\xcdV<\xd1\x97\x05\xb9\xcbK\xed9K\x9c\xc4?\xd2U\x13n$\xb0\xd6q\xfa\xf4\xc1\xba\xcc\xed\x1b\xf5\xfe\x81A\xd8\0\x98=:\xc8\xaez\x987\x18\x05\x95\x02\x03\x01\0\x01\xa3\x82\x0180\x82\x0140\x0e\x06\x03U\x1d\x0f\x01\x01\xff\x04\x04\x03\x02\x01\x860\x0f\x06\x03U\x1d\x13\x01\x01\xff\x04\x050\x03\x01\x01\xff0\x1d\x06\x03U\x1d\x0e\x04\x16\x04\x14\xe4\xaf+&q\x1a+H'\x85/Rf,\xef\xf0\x89\x13q>0\x1f\x06\x03U\x1d#\x04\x180\x16\x80\x14`{f\x1aE\r\x97\xca\x89P/}\x04\xcd4\xa8\xff\xfc\xfdK0`\x06\x08+\x06\x01\x05\x05\x07\x01\x01\x04T0R0%\x06\x08+\x06\x01\x05\x05\x070\x01\x86\x19http://ocsp.pki.goog/gsr10)\x06\x08+\x06\x01\x05\x05\x070\x02\x86\x1dhttp://pki.goog/gsr1/gsr1.crt02\x06\x03U\x1d\x1f\x04+0)0'\xa0%\xa0#\x86!http://crl.pki.goog/gsr1/gsr1.crl0;\x06\x03U\x1d \x044020\x08\x06\x06g\x81\x0c\x01\x02\x010\x08\x06\x06g\x81\x0c\x01\x02\x020\r\x06\x0b+\x06\x01\x04\x01\xd6y\x02\x05\x03\x020\r\x06\x0b+\x06\x01\x04\x01\xd6y\x02\x05\x03\x030\r\x06\t*\x86H\x86\xf7\r\x01\x01\x0b\x05\0\x03\x82\x01\x01\04\xa4\x1e\xb1(\xa3\xd0\xb4v\x17\xa61z!\xe9\xd1R>\xc8\xdbt\x16A\x88\xb8=5\x1d\xed\xe4\xff\x93\xe1\\_\xab\xbb\xea|\xcf\xdb\xe4\r\xd1\x8bW\xf2&o[\xbe\x17Fh\x947okz\xc8\xc0\x187\xfa%Q\xac\xech\xbf\xb2\xc8I\xfdZ\x9a\xca\x01#\xac\x84\x80+\x02\x8c\x99\x97\xebIj\x8cu\xd7\xc7\xde\xb2\xc9\x97\x9fXHW\x0e5\xa1\xe4\x1a\xd6\xfdo\x83\x81o\xef\x8c\xcf\x97\xaf\xc0\x85*\xf0\xf5Ni\t\x91-\xe1h\xb8\xc1+s\xe9\xd4\xd9\xfc\"\xc07\x1f\x0bf\x1dI\xed\x02U\x8fg\xe12\xd7\xd3&\xbfp\xe3=\xf4gm=|\xe54\x88\xe32\xfa\xa7n\x06jo\xbd\x8b\x91\xee\x16K\xe8;\xa9\xb37\xe7\xc3D\xa4~\xd8l\xd7\xc7F\xf5\x92\x9b\xe7\xd5!\xbef\x92\x19\x94Ul\xd4)\xb2\r\xc1f[\xe2wIH(\xed\x9d\xd7\x1a3rS\xb3\x825\xcfb\x8b\xc9$\x8b\xa5\xb79\x0c\xbb~*A\xbfR\xcf\xfc\xa2\x96\xb6\xc2\x82?")]
TRACE   signal: Want
TRACE   signal found waiting giver, notifying
TRACE   poll_want: taker wants!
TRACE   signal: Want
DEBUG   Ticket saved
DEBUG   Ticket saved
TRACE   deregistering event source from poller
TRACE   signal: Closed
TRACE   Writing metadata to /home/ben/.cache/selenium/selenium-manager.json
DEBUG   Required driver: chromedriver 111.0.5563.64
DEBUG   Running command: "chromedriver --version"
DEBUG   Output: ""
DEBUG   Driver URL: https://chromedriver.storage.googleapis.com/111.0.5563.64/chromedriver_linux64.zip
TRACE   Downloading https://chromedriver.storage.googleapis.com/111.0.5563.64/chromedriver_linux64.zip to temporal folder "/tmp/ben/selenium-managerKfsCY6"
DEBUG   starting new connection: https://chromedriver.storage.googleapis.com/
TRACE   registering event source with poller: token=Token(0), interests=READABLE | WRITABLE
DEBUG   Resuming session
TRACE   Sending ClientHello Message {
    version: TLSv1_0,
    payload: Handshake {
        parsed: HandshakeMessagePayload {
            typ: ClientHello,
            payload: ClientHello(
                ClientHelloPayload {
                    client_version: TLSv1_2,
                    random: cbfcd0d12025a3d8d4305f662b522804ba22c5b4aa7f2299472bdf39e5e9786f,
                    session_id: 05c727d9c1bec7e2228a61c73932ef9c9b2fa1fb8874164cb56cb6f7ddf4dc81,
                    cipher_suites: [
                        TLS13_AES_256_GCM_SHA384,
                        TLS13_AES_128_GCM_SHA256,
                        TLS13_CHACHA20_POLY1305_SHA256,
                        TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
                        TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
                        TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
                        TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
                        TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
                        TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
                        TLS_EMPTY_RENEGOTIATION_INFO_SCSV,
                    ],
                    compression_methods: [
                        Null,
                    ],
                    extensions: [
                        SupportedVersions(
                            [
                                TLSv1_3,
                                TLSv1_2,
                            ],
                        ),
                        ECPointFormats(
                            [
                                Uncompressed,
                            ],
                        ),
                        NamedGroups(
                            [
                                X25519,
                                secp256r1,
                                secp384r1,
                            ],
                        ),
                        SignatureAlgorithms(
                            [
                                ECDSA_NISTP384_SHA384,
                                ECDSA_NISTP256_SHA256,
                                ED25519,
                                RSA_PSS_SHA512,
                                RSA_PSS_SHA384,
                                RSA_PSS_SHA256,
                                RSA_PKCS1_SHA512,
                                RSA_PKCS1_SHA384,
                                RSA_PKCS1_SHA256,
                            ],
                        ),
                        ExtendedMasterSecretRequest,
                        CertificateStatusRequest(
                            OCSP(
                                OCSPCertificateStatusRequest {
                                    responder_ids: [],
                                    extensions: ,
                                },
                            ),
                        ),
                        ServerName(
                            [
                                ServerName {
                                    typ: HostName,
                                    payload: HostName(
                                        (
                                            6368726f6d656472697665722e73746f726167652e676f6f676c65617069732e636f6d,
                                            DnsName(
                                                "chromedriver.storage.googleapis.com",
                                            ),
                                        ),
                                    ),
                                },
                            ],
                        ),
                        SignedCertificateTimestampRequest,
                        KeyShare(
                            [
                                KeyShareEntry {
                                    group: X25519,
                                    payload: c6f0c32e1c241874a2007d241cb3e0423e966e28a9d24e0ccb8f8b470518b805,
                                },
                            ],
                        ),
                        PresharedKeyModes(
                            [
                                PSK_DHE_KE,
                            ],
                        ),
                        Protocols(
                            [
                                6832,
                                687474702f312e31,
                            ],
                        ),
                        PresharedKey(
                            PresharedKeyOffer {
                                identities: [
                                    PresharedKeyIdentity {
                                        identity: 023ca02603d1154db1845a09a2bea723fbd55fe6342948c864dddf180d1cde011677f2a22a2703735b085ec0543f6c4561d9d86e6ee68130997f04e19889b0afaccf0221683f7b1698425f594a4ada77de5edb7f4cde83824bda3528c23adedba852df54a35f00395d2e9e76a645b6fea5fe9fabafc5cb6492c378d669ad08ff0b2468f4afe3fbe2e3a4f1ae804afb2d7d6a1f0609f4e71525dfd3a138386d7c2f07034bea65b0450a2aaaa21108fcd73466c26b75e32582b6ed60d6eef343675a4fa67c0ff7d82300dc91da96c80c5c32bcaecd93a724ad8d4c713a79780e2c3713eae45b4500e369da5a463efdc10d5144454eb4b0f4ced704d2b8,
                                        obfuscated_ticket_age: 4210364227,
                                    },
                                ],
                                binders: [
                                    ef8ecb9c60bec7281d61d84d6bb567516bb02e68af84d1248c1cc072a6a9552edad4fb9d91e075d158b10dfc9aa79fd6,
                                ],
                            },
                        ),
                    ],
                },
            ),
        },
        encoded: 0100024a0303cbfcd0d12025a3d8d4305f662b522804ba22c5b4aa7f2299472bdf39e5e9786f2005c727d9c1bec7e2228a61c73932ef9c9b2fa1fb8874164cb56cb6f7ddf4dc810014130213011303c02cc02bcca9c030c02fcca800ff010001ed002b00050403040303000b00020100000a00080006001d00170018000d00140012050304030807080608050804060105010401001700000005000501000000000000002800260000236368726f6d656472697665722e73746f726167652e676f6f676c65617069732e636f6d00120000003300260024001d0020c6f0c32e1c241874a2007d241cb3e0423e966e28a9d24e0ccb8f8b470518b805002d000201010010000e000c02683208687474702f312e3100290137010200fc023ca02603d1154db1845a09a2bea723fbd55fe6342948c864dddf180d1cde011677f2a22a2703735b085ec0543f6c4561d9d86e6ee68130997f04e19889b0afaccf0221683f7b1698425f594a4ada77de5edb7f4cde83824bda3528c23adedba852df54a35f00395d2e9e76a645b6fea5fe9fabafc5cb6492c378d669ad08ff0b2468f4afe3fbe2e3a4f1ae804afb2d7d6a1f0609f4e71525dfd3a138386d7c2f07034bea65b0450a2aaaa21108fcd73466c26b75e32582b6ed60d6eef343675a4fa67c0ff7d82300dc91da96c80c5c32bcaecd93a724ad8d4c713a79780e2c3713eae45b4500e369da5a463efdc10d5144454eb4b0f4ced704d2b8faf50f43003130ef8ecb9c60bec7281d61d84d6bb567516bb02e68af84d1248c1cc072a6a9552edad4fb9d91e075d158b10dfc9aa79fd6,
    },
}
TRACE   We got ServerHello ServerHelloPayload {
    legacy_version: TLSv1_2,
    random: d20220e1089fa9034541160cbce5cddabf8f8ee251476926c8117b2ce1ede698,
    session_id: 05c727d9c1bec7e2228a61c73932ef9c9b2fa1fb8874164cb56cb6f7ddf4dc81,
    cipher_suite: TLS13_AES_256_GCM_SHA384,
    compression_method: Null,
    extensions: [
        PresharedKey(
            0,
        ),
        KeyShare(
            KeyShareEntry {
                group: X25519,
                payload: 3b01f5be478cb9ae0c1bb1a9444a097301ee61951fbf3978df242a8b23ed655e,
            },
        ),
        SupportedVersions(
            TLSv1_3,
        ),
    ],
}
DEBUG   Using ciphersuite TLS13_AES_256_GCM_SHA384
DEBUG   Resuming using PSK
TRACE   Dropping CCS
DEBUG   TLS1.3 encrypted extensions: [Protocols([6832])]
DEBUG   ALPN protocol is Some(b"h2")
TRACE   signal: Want
TRACE   signal found waiting giver, notifying
TRACE   poll_want: taker wants!
TRACE   signal: Want
DEBUG   Ticket saved
DEBUG   Ticket saved
TRACE   File to be downloaded: chromedriver_linux64.zip
TRACE   Temporal folder for driver package: /tmp/ben/selenium-managerKfsCY6/chromedriver_linux64.zip
TRACE   deregistering event source from poller
TRACE   signal: Closed
TRACE   The detected extension of the compressed file is zip
TRACE   Unzipping file to /home/ben/.cache/selenium/chromedriver/linux64/111.0.5563.64/chromedriver
DEBUG   File extracted to /home/ben/.cache/selenium/chromedriver/linux64/111.0.5563.64/chromedriver (13977040 bytes)
INFO    /home/ben/.cache/selenium/chromedriver/linux64/111.0.5563.64/chromedriver
benhutton commented 1 year ago

f and g work!

You'll note that I had clear cache on g to really test it

bonigarcia commented 1 year ago

Great! Options f and g used static linking using cross-compiling to target x86_64-unknown-linux-musl in GH Actions. That did the trick. I think we need to use that target by default for upcoming versions of selenium-manager in Linux.

Thanks a lot for your time, @benhutton!

benhutton commented 1 year ago

thanks for tracking this down — looking forward to a new release here!

gregorbg commented 1 year ago

Just echoing that this issue is also occuring for me (same symptoms, same version, same OS+arch). Thank you for the thorough investigation, I am looking forward to the fix being published!

benhutton commented 1 year ago

hey @bonigarcia any idea when this might get released, or how I would use a pre-release version with ruby bundler?

titusfortner commented 1 year ago

@diemol is doing a full release "soon" But ruby has nightly builds hosted by github. But we need to check in the updated binaries for the gem to use them. We'll update when either is done.

benhutton commented 1 year ago

@titusfortner thanks!

diemol commented 1 year ago

This was released last Friday (4.8.2) and yesterday (4.8.3). I guess I can close this issue?

benhutton commented 1 year ago

amazing, thanks. Yes, this is working now!

diemol commented 1 year ago

Great!

github-actions[bot] commented 9 months ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.