What happened?
After updating selenium from 4.9.1 to 4.10.0 augmenting geckodriver as RemoteWebDriver brings to org.openqa.selenium.remote.http.ConnectionFailedException: Unable to establish websocket connection if NOT System.setProperty("webdriver.http.factory", "jdk-http-client"); defined and to java.io.IOException: HTTP/1.1 header parser received no bytes if defined.
The Exception throws on driver = new Augmenter().augment(driver);
Anyone met this? Maybe someone know workaround?
How can we reproduce the issue?
WebDriverManager.firefoxdriver().setup();
FirefoxOptions ffOptions = new FirefoxOptions();
System.setProperty("webdriver.http.factory", "jdk-http-client");
System.setProperty(GECKO_DRIVER_LOG_PROPERTY, "null");
ffOptions.setAcceptInsecureCerts(true);
ffOptions.addArguments("-headless");
LOGGER.info("== Starting Firefox browser via Selenium Grid ==");
driver = new RemoteWebDriver(new URL(ENV_SELENIUM_GRID), ffOptions);
driver = new Augmenter().augment(driver);
driver.manage().window().setSize(new Dimension(Integer.parseInt(ENV_WIDTH), Integer.parseInt(ENV_HEIGHT)));
Relevant log output
Caused by: java.io.IOException: HTTP/1.1 header parser received no bytes
at java.net.http/jdk.internal.net.http.common.Utils.wrapWithExtraDetail(Utils.java:348)
at java.net.http/jdk.internal.net.http.Http1Response$HeadersReader.onReadError(Http1Response.java:565)
at java.net.http/jdk.internal.net.http.Http1AsyncReceiver.checkForErrors(Http1AsyncReceiver.java:302)
at java.net.http/jdk.internal.net.http.Http1AsyncReceiver.flush(Http1AsyncReceiver.java:268)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$LockingRestartableTask.run(SequentialScheduler.java:205)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(SequentialScheduler.java:149)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:230)
at java.net.http/jdk.internal.net.http.HttpClientImpl$DelegatingExecutor.execute(HttpClientImpl.java:172)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:305)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:274)
at java.net.http/jdk.internal.net.http.Http1AsyncReceiver.onReadError(Http1AsyncReceiver.java:512)
at java.net.http/jdk.internal.net.http.Http1AsyncReceiver$Http1TubeSubscriber.onComplete(Http1AsyncReceiver.java:597)
at java.net.http/jdk.internal.net.http.common.SSLTube$DelegateWrapper.onComplete(SSLTube.java:276)
at java.net.http/jdk.internal.net.http.common.SSLTube$SSLSubscriberWrapper.complete(SSLTube.java:440)
at java.net.http/jdk.internal.net.http.common.SSLTube$SSLSubscriberWrapper.onComplete(SSLTube.java:541)
at java.net.http/jdk.internal.net.http.common.SubscriberWrapper.checkCompletion(SubscriberWrapper.java:474)
at java.net.http/jdk.internal.net.http.common.SubscriberWrapper$DownstreamPusher.run1(SubscriberWrapper.java:334)
at java.net.http/jdk.internal.net.http.common.SubscriberWrapper$DownstreamPusher.run(SubscriberWrapper.java:259)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$LockingRestartableTask.run(SequentialScheduler.java:205)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(SequentialScheduler.java:149)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:230)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:303)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:256)
at java.net.http/jdk.internal.net.http.common.SubscriberWrapper.outgoing(SubscriberWrapper.java:232)
at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate$Reader.processData(SSLFlowDelegate.java:513)
at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate$Reader$ReaderDownstreamPusher.run(SSLFlowDelegate.java:268)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$LockingRestartableTask.run(SequentialScheduler.java:205)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(SequentialScheduler.java:149)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:230)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1589)
Caused by: java.io.EOFException: EOF reached while reading
... 21 more
Operating System
MacOS Ventura
Selenium version
4.10.0
What are the browser(s) and version(s) where you see this issue?
Firefox
What are the browser driver(s) and version(s) where you see this issue?
GeckoDriver 0.33.0
Are you using Selenium Grid?
4.10.0
What happened?
After updating selenium from 4.9.1 to 4.10.0 augmenting geckodriver as RemoteWebDriver brings to
org.openqa.selenium.remote.http.ConnectionFailedException: Unable to establish websocket connectionif NOTSystem.setProperty("webdriver.http.factory", "jdk-http-client");defined and tojava.io.IOException: HTTP/1.1 header parser received no bytesif defined.The Exception throws
on driver = new Augmenter().augment(driver);Anyone met this? Maybe someone know workaround?
How can we reproduce the issue?
Relevant log output
Operating System
MacOS Ventura
Selenium version
4.10.0
What are the browser(s) and version(s) where you see this issue?
Firefox
What are the browser driver(s) and version(s) where you see this issue?
GeckoDriver 0.33.0
Are you using Selenium Grid?
4.10.0