SeleniumHQ / docker-selenium

Provides a simple way to run Selenium Grid with Chrome, Firefox, and Edge using Docker, making it easier to perform browser automation
http://www.selenium.dev/docker-selenium/
Other
7.93k stars 2.51k forks source link

NettyHttpHandler request execution error: Request timeout to localhost/127.0.0.1:24527 after 60000 ms #1096

Closed francjohny closed 4 years ago

francjohny commented 4 years ago

💬 Questions and Help

What happened?

A request timeout error is thrown when running my tests with selenium-docker using the latest selenium/standalone-chrome:4.0.0-alpha-6-20200730 and the following stack trace is seen despite adding SE_OPTS=-browserTimeout 10000 -timeout 10000. Is there a way to increase the request from timing out inside the container from 60 seconds? Thanks!

chrome               | 19:46:15.230 WARN [SpanWrappedHttpHandler.execute] - Unable to execute request: NettyHttpHandler request execution error
chrome               | java.lang.RuntimeException: NettyHttpHandler request execution error
chrome               |  at org.openqa.selenium.remote.http.netty.NettyHttpHandler.makeCall(NettyHttpHandler.java:72)
chrome               |  at org.openqa.selenium.remote.http.AddSeleniumUserAgent.lambda$apply$0(AddSeleniumUserAgent.java:42)
chrome               |  at org.openqa.selenium.remote.http.Filter.lambda$andFinally$1(Filter.java:56)
chrome               |  at org.openqa.selenium.remote.http.netty.NettyHttpHandler.execute(NettyHttpHandler.java:47)
chrome               |  at org.openqa.selenium.remote.http.AddSeleniumUserAgent.lambda$apply$0(AddSeleniumUserAgent.java:42)
chrome               |  at org.openqa.selenium.remote.http.Filter.lambda$andFinally$1(Filter.java:56)
chrome               |  at org.openqa.selenium.remote.http.netty.NettyClient.execute(NettyClient.java:55)
chrome               |  at org.openqa.selenium.remote.tracing.TracedHttpClient.execute(TracedHttpClient.java:55)
chrome               |  at org.openqa.selenium.grid.web.ProtocolConverter.makeRequest(ProtocolConverter.java:146)
chrome               |  at org.openqa.selenium.grid.web.ProtocolConverter.execute(ProtocolConverter.java:122)
chrome               |  at org.openqa.selenium.grid.node.ProtocolConvertingSession.execute(ProtocolConvertingSession.java:72)
chrome               |  at org.openqa.selenium.grid.node.local.SessionSlot.execute(SessionSlot.java:91)
chrome               |  at org.openqa.selenium.grid.node.local.LocalNode.executeWebDriverCommand(LocalNode.java:254)
chrome               |  at org.openqa.selenium.grid.node.ForwardWebDriverCommand.execute(ForwardWebDriverCommand.java:35)
chrome               |  at org.openqa.selenium.remote.http.Route$PredicatedRoute.handle(Route.java:364)
chrome               |  at org.openqa.selenium.remote.http.Route.execute(Route.java:67)
chrome               |  at org.openqa.selenium.remote.tracing.SpanWrappedHttpHandler.execute(SpanWrappedHttpHandler.java:75)
chrome               |  at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
chrome               |  at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:327)
chrome               |  at org.openqa.selenium.remote.http.Route.execute(Route.java:67)
chrome               |  at org.openqa.selenium.grid.node.Node.execute(Node.java:187)
chrome               |  at org.openqa.selenium.grid.web.CombinedHandler.execute(CombinedHandler.java:59)
chrome               |  at org.openqa.selenium.grid.web.RoutableHttpClientFactory$1.execute(RoutableHttpClientFactory.java:66)
chrome               |  at org.openqa.selenium.grid.web.ReverseProxyHandler.execute(ReverseProxyHandler.java:86)
chrome               |  at org.openqa.selenium.grid.router.HandleSession.execute(HandleSession.java:78)
chrome               |  at org.openqa.selenium.remote.http.Route$PredicatedRoute.handle(Route.java:364)
chrome               |  at org.openqa.selenium.remote.http.Route.execute(Route.java:67)
chrome               |  at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:327)
chrome               |  at org.openqa.selenium.remote.http.Route.execute(Route.java:67)
chrome               |  at org.openqa.selenium.grid.router.Router.execute(Router.java:67)
chrome               |  at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:327)
chrome               |  at org.openqa.selenium.remote.http.Route.execute(Route.java:67)
chrome               |  at org.openqa.selenium.grid.server.AddWebDriverSpecHeaders.lambda$apply$0(AddWebDriverSpecHeaders.java:30)
chrome               |  at org.openqa.selenium.grid.server.WrapExceptions.lambda$apply$0(WrapExceptions.java:36)
chrome               |  at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
chrome               |  at org.openqa.selenium.netty.server.SeleniumHandler.lambda$channelRead0$0(SeleniumHandler.java:46)
chrome               |  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
chrome               |  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
chrome               |  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
chrome               |  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
chrome               |  at java.lang.Thread.run(Thread.java:748)
chrome               | Caused by: java.util.concurrent.ExecutionException: java.util.concurrent.TimeoutException: Request timeout to localhost/127.0.0.1:24527 after 60000 ms
chrome               |  at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
chrome               |  at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1908)
chrome               |  at org.asynchttpclient.netty.NettyResponseFuture.get(NettyResponseFuture.java:201)
chrome               |  at org.openqa.selenium.remote.http.netty.NettyHttpHandler.makeCall(NettyHttpHandler.java:57)
chrome               |  ... 40 more
chrome               | Caused by: java.util.concurrent.TimeoutException: Request timeout to localhost/127.0.0.1:24527 after 60000 ms
chrome               |  at org.asynchttpclient.netty.timeout.TimeoutTimerTask.expire(TimeoutTimerTask.java:43)
chrome               |  at org.asynchttpclient.netty.timeout.RequestTimeoutTimerTask.run(RequestTimeoutTimerTask.java:50)
chrome               |  at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:672)
chrome               |  at io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:747)
chrome               |  at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:472)
chrome               |  at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)

docker-compose.yaml

version: "3"
services:
  integration-tests:
    build: .
    container_name: integration-tests

  chrome:
    image: selenium/standalone-chrome:4.0.0-alpha-6-20200730
    container_name: chrome
    ports:
      - "4444:4444"
      - "49338:5900"
    volumes:
      - /dev/shm:/dev/shm
    environment:
      - SE_OPTS=-browserTimeout 10000 -timeout 10000
      - SCREEN_WIDTH=1920
      - SCREEN_HEIGHT=1080

References

Slack thread: https://seleniumhq.slack.com/archives/C0ABCS03F/p1596916922414100

ghost commented 4 years ago

👋 Hi there! Thank you for creating this issue.

I am the Selenium Assistant Bot 🤖, I triage issues in this repository. If I can't do it, I label it to help maintainers identify issues that need triaging.

I am an Open Source project 🙌, post bugs or ideas here!

ghost commented 4 years ago

💬 It looks like this is a request for support or a question

💡 A better way to address this is:

If you think this is incorrect, please feel free to open a new issue.

Thank you for your contributions.