SeleniumHQ / SeleniumHQ/docker-selenium

[🐛 Bug]: UnreachableBrowserException: Error communicating with the remote browser. It may have died.

Open
#2,840 27 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

needs-triaging
Dominant language
Go
Stars
8.7k
Forks
2.5k
Avg merge
10h 16m
Merged PRs (30d)
20

Description

What happened?

We are facing issue while executing serenity tests in selenium grid. Serenity version is v4.2.16 .
Tests are failing with below error intermittently.

UnreachableBrowserException: Error communicating with the remote browser. It may have died.

Experiencing issue with selenium version v4.28 onwards for both platforms Linux and Windows.

Command used to start Selenium Grid with Docker (or Kubernetes)
version: "3.0"
services:

 selenium-sec-chrome_Container1:
    environment:
      - SE_EVENT_BUS_HOST=<Hub_Server>
      - SE_EVENT_BUS_PUBLISH_PORT=<Pubilsh_Port>
      - SE_EVENT_BUS_SUBSCRIBE_PORT=<Subscribe_Port>
      - SE_NODE_HOST=<Node_Host>
      - SE_NODE_PORT=<Node_Port>
      - SE_NODE_MAX_SESSIONS=8
      - SE_NODE_OVERRIDE_MAX_SESSIONS=true
      - REMOTE_HOST=https://${HOSTNAME}:<Host>
      - SE_OPTS=--https-certificate /home/seluser/g4httpsgsg.pem --https-private-key /home/seluser/g4httpsgsg.key 
      - SE_NODE_SESSION_TIMEOUT=900
      - SE_DRAIN_AFTER_SESSION_COUNT=100
      - SE_NODE_GRID_URL=<Pubilsh_Port>
#   image: /node-chrome:4.28.1-20250202
#   image: /node-chrome:4.32.0-20250505
    image: /node-chrome:4.30.0-20250323
    privileged: true
#    logging:
#     driver: "none"
    shm_size: 8gb
    ports:
      - <Port>:<Port>
    restart: always
    volumes:
      - /dev/shm:/dev/shm
      - /opt/grid/cert:/home/seluser
Relevant log output
1. Node error log : Selnium v4.30

Driver info: driver.version: unknown
org.openqa.selenium.WebDriverException: Build info: version: '4.30.0', revision: '509c7f1'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '4.18.0-553.47.1.el8_10.x86_64', 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:718)
        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:286)
        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)
        ... 26 more

2. Test Error Log :

org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the remote browser. It may have died.
Build info: version: '4.28.1', revision: '73f5ad48a2'
System info: os.name: 'Mac OS X', os.arch: 'aarch64', os.version: '14.7.5', java.version: '17.0.11'
Driver info: org.openqa.selenium.remote.RemoteWebDriver
Command: [5206e5c379c7e2969c8257bd24bf086d, findElements [using, value]]
Operating System

Linux Redhat

Docker Selenium version (image tag)

4.30.0-20250323

Selenium Grid chart version (chart version)

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the provided Docker Compose configuration and compare the Selenium image tags 4.28.1, 4.30.0, and 4.32.0 alongside the node and test logs. Reproduce the intermittent UnreachableBrowserException and identify a reliable fix or regression result showing that remote browser commands no longer fail.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, java, kubernetes
Domain
devops, distributed-systems, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.