Skip to content

[🐛 Bug]: Selenium Grid 4.29 - GoAway Errors #15805

Closed
@tgoswami013

Description

@tgoswami013

Description

Hi, We are getting random GoAway errors while running Selenium Java Scripts on Selenium Grid Server. This behavior is random, sometimes I am getting single GoAway sometimes I am getting 10+ while running the similar set of scripts.

We are using Selenium and Grid version 4.29.0 and Java version is 19.

Here are the RemoteDriver capabilities we are using. Also I have attached below the server logs when we get GoAway.

Reproducible Code

private WebDriver initRemoteDriver() throws Exception {
        System.setProperty("webdriver.http.factory", "jdk-http-client");
        System.setProperty("jdk.httpclient.http.version", "1.1");
        System.setProperty("webdriver.http.timeout", "180000");
        System.setProperty("jdk.httpclient.http2.disabled", "true");
        System.setProperty("jdk.httpclient.debug", "true");

        DesiredCapabilities desiredCapabilities = new DesiredCapabilities();

        ChromeOptions options = new ChromeOptions();


// Disable GPU (often required for headless stability on Windows/Linux)
//        options.addArguments("--disable-gpu");

// Avoid issues with sandboxing in containerized/grid environments
        options.addArguments("--no-sandbox");

// Prevent crashes or freezes in Docker/Linux grid nodes
        options.addArguments("--disable-dev-shm-usage");

// Disable infobars ("Chrome is being controlled by automated test software")
        options.addArguments("disable-infobars");

// Disable extensions (for clean browser startup)
        options.addArguments("--disable-extensions");

        // Run in headless mode if needed (often useful for CI/CD)
//        options.addArguments("--headless=new"); // or just "--headless" for older Chrome

// Start maximized or set a fixed window size
//        options.addArguments("start-maximized");
// or
        options.addArguments("window-size=1920,1080");

// Use incognito mode (optional, for test isolation)
//        options.addArguments("--incognito");

        options.addArguments("--enable-javascript");
        options.addArguments("--ignore-certificate-errors");

        options.addArguments("--remote-allow-origins=*");

        options.addArguments("--disable-infobars");
        options.setPageLoadStrategy(PageLoadStrategy.NORMAL);  // NONE or NORMAL

        options.setAcceptInsecureCerts(false);
        System.out.println("HTTP Properties: version=" + System.getProperty("jdk.httpclient.http.version") +
                ", http2.disabled=" + System.getProperty("jdk.httpclient.http2.disabled"));

        Map<String, Object> prefs = new HashMap<>();
        prefs.put("profile.default_content_settings.popups", 0);
        prefs.put("download.default_directory", FileDownloadConstants.USER_DIR_TARGET);
        prefs.put("download.prompt_for_download", false);
        prefs.put("download.directory_upgrade", true);
        prefs.put("safebrowsing.enabled", true);
        options.setExperimentalOption("prefs", prefs);
        System.out.println("Download directory in initRemoteDriver(): " + FileDownloadConstants.USER_DIR_TARGET);

        System.out.println("This is remote WebDriver ------ Selenium Grid ");
        desiredCapabilities.setCapability(UtilConstant.SAUCELAB_BROWSERNAME, envParamBean.getBrowserName());
        desiredCapabilities.setCapability(ChromeOptions.CAPABILITY, options);
        return new RemoteWebDriver(new java.net.URL(envParamBean.getGridURL()), desiredCapabilities);

    }

Debugging Logs

06:08:59.931 INFO [LocalNode.newSession] - Session created by the Node. Id: f2eb123b8a18d96d1234567da0a6fe3d, Caps: Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 134.0.6998.35, chrome: {chromedriverVersion: 134.0.6998.35 (ea6ef4c2ac15..., userDataDir: /tmp/.org.chromium.Chromium...}, fedcm:accounts: true, goog:chromeOptions: {debuggerAddress: localhost:40607}, networkConnectionEnabled: false, pageLoadStrategy: normal, platformName: linux, proxy: Proxy(), se:bidiEnabled: false, se:cdp: ws://10.202.202.123:4444/se..., se:cdpVersion: 134.0.6998.35, se:containerName: supchainplanmerch-seleniumg..., se:noVncPort: 7900, se:vnc: ws://10.202.202.123:4444/se..., se:vncEnabled: true, se:vncLocalAddress: ws://10.202.202.123:7900, 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}
06:14:23.317 WARN [SpanWrappedHttpHandler.execute] - Unable to execute request: Build info: version: '4.29.0', revision: '18ae989'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '4.19.190-2.ph3', java.version: '21.0.6'
Driver info: driver.version: unknown
org.openqa.selenium.WebDriverException: Build info: version: '4.29.0', revision: '18ae989'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '4.19.190-2.ph3', java.version: '21.0.6'
Driver info: driver.version: unknown
        at org.openqa.selenium.remote.http.jdk.JdkHttpClient.execute(JdkHttpClient.java:419)
        at org.openqa.selenium.remote.tracing.TracedHttpClient.execute(TracedHttpClient.java:54)
        at org.openqa.selenium.grid.web.ReverseProxyHandler.execute(ReverseProxyHandler.java:91)
        at org.openqa.selenium.grid.node.DefaultActiveSession.execute(DefaultActiveSession.java:62)
        at org.openqa.selenium.grid.node.local.SessionSlot.execute(SessionSlot.java:130)
        at org.openqa.selenium.grid.node.local.LocalNode.executeWebDriverCommand(LocalNode.java:728)
        at org.openqa.selenium.grid.node.ForwardWebDriverCommand.execute(ForwardWebDriverCommand.java:48)
        at org.openqa.selenium.remote.http.Route$PredicatedRoute.handle(Route.java:397)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:69)
        at org.openqa.selenium.remote.tracing.SpanWrappedHttpHandler.execute(SpanWrappedHttpHandler.java:87)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:63)
        at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:360)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:69)
        at org.openqa.selenium.grid.node.Node.execute(Node.java:287)
        at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:360)
        at org.openqa.selenium.remote.http.Route.execute(Route.java:69)
        at org.openqa.selenium.remote.AddWebDriverSpecHeaders.lambda$apply$0(AddWebDriverSpecHeaders.java:35)
        at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:63)
        at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44)
        at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:63)
        at org.openqa.selenium.netty.server.SeleniumHandler.lambda$channelRead0$0(SeleniumHandler.java:49)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
        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:1583)
Caused by: java.lang.InterruptedException
        at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:386)
        at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073)
        at org.openqa.selenium.remote.http.jdk.JdkHttpClient.execute(JdkHttpClient.java:413)

ℹ️ Last known working version: 4.29

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-needs-triagingA Selenium member will evaluate this soon!B-gridEverything grid and server relatedC-javaJava BindingsD-chromeI-defectSomething is not working as intendedOS-linux

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions