Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[🐛 Bug]: Dynamic Grid Node-Docker throws exceptions #1719

Closed
NiiWiiCamo opened this issue Nov 9, 2022 · 5 comments
Closed

[🐛 Bug]: Dynamic Grid Node-Docker throws exceptions #1719

NiiWiiCamo opened this issue Nov 9, 2022 · 5 comments

Comments

@NiiWiiCamo
Copy link

NiiWiiCamo commented Nov 9, 2022

What happened?

When starting node-docker for dynamic grid I cannot get it to pull the images, or if I have the images already pulled manually it throws a NullPointerException.
Node-Chrome and hub work fine.

Edit: ENVs
`REPLICAS=5

SE_VERSION=4.6.0-20221104
`

config.toml is default.

Command used to start Selenium Grid with Docker

version: "3.9"
services:

  node-docker:
    depends_on:
      - selenium-hub
    environment:
      - SE_EVENT_BUS_HOST=selenium-hub
      - SE_EVENT_BUS_PUBLISH_PORT=4442
      - SE_EVENT_BUS_SUBSCRIBE_PORT=4443
    image: selenium/node-docker:4.6.0-20221104
    networks:
      - net_selenium
    volumes:
      - assets:/opt/selenium/assets
      - /var/lib/docker/volumes/binds/selenium-config/config.toml:/opt/bin/config.toml
#      - chrome-profile:/home/seluser/profile
      - /var/run/docker.sock:/var/run/docker.sock
      - /dev/shm:/dev/shm

  selenium-hub:
    container_name: selenium-hub
    image: selenium/hub:${SE_VERSION}
    networks:
      net_external:
        ipv4_address: 172.25.0.128
      net_selenium:
    ports:
#      - "127.0.0.1:4442:4442"
#      - "127.0.0.1:4443:4443"
      - "127.0.0.1:4444:4444"
      - "10.10.60.250:4444:4444"

#  selenium-chrome:
#    image: selenium/node-chrome:${SE_VERSION}
#    depends_on:
#      - selenium-hub
#    deploy:
#      mode: replicated
#      replicas: ${REPLICAS}
#    environment:
#      - SE_EVENT_BUS_HOST=selenium-hub
#      - SE_EVENT_BUS_PUBLISH_PORT=4442
#      - SE_EVENT_BUS_SUBSCRIBE_PORT=4443
#    networks:
#      net_selenium:
#    volumes:
##      - chrome-profile:/home/seluser/profile
#      - /dev/shm:/dev/shm
    

networks:
  net_external:
    name: net_external
    external: true
  net_selenium:
    name: net_selenium

volumes:
  assets:
  chrome-profile:

Relevant log output

2022-11-09 06:01:30,794 INFO Included extra file "/etc/supervisor/conf.d/selenium-grid-docker.conf" during parsing
2022-11-09 06:01:30,797 INFO RPC interface 'supervisor' initialized
2022-11-09 06:01:30,797 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2022-11-09 06:01:30,797 INFO supervisord started with pid 8
2022-11-09 06:01:31,800 INFO spawned: 'socat' with pid 10
2022-11-09 06:01:31,801 INFO spawned: 'selenium-grid-docker' with pid 11
2022-11-09 06:01:31,804 INFO success: socat entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2022-11-09 06:01:31,804 INFO success: selenium-grid-docker entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
Starting Selenium Grid Node Docker...
Tracing is disabled
06:01:32.120 INFO [LoggingOptions.configureLogEncoding] - Using the system default encoding
06:01:32.123 INFO [OpenTelemetryTracer.createTracer] - Using OpenTelemetry for tracing
06:01:32.208 INFO [UnboundZmqEventBus.<init>] - Connecting to tcp://selenium-hub:4442 and tcp://selenium-hub:4443
06:01:32.245 INFO [UnboundZmqEventBus.<init>] - Sockets created
06:01:33.246 INFO [UnboundZmqEventBus.<init>] - Event bus ready
06:01:33.336 INFO [NodeServer.createHandlers] - Reporting self as: http://172.18.0.3:5555
06:01:33.351 INFO [NodeOptions.getSessionFactories] - Detected 12 available processors
06:01:33.590 INFO [V141Docker.isContainerPresent] - Checking if container is present: 12fe231b51e9
06:01:33.604 INFO [Docker.getImage] - Obtaining image: selenium/standalone-chrome:4.6.0-20221104
06:01:33.604 INFO [Docker.getImage] - Obtaining image: selenium/standalone-edge:4.6.0-20221104
06:01:33.604 INFO [Docker.getImage] - Obtaining image: selenium/standalone-firefox:4.6.0-20221104
06:01:33.606 INFO [V141Docker.getImage] - Listing local images: Reference{domain='docker.io', name='selenium/standalone-chrome', tag='4.6.0-20221104', digest='null'}
06:01:33.606 INFO [V141Docker.getImage] - Listing local images: Reference{domain='docker.io', name='selenium/standalone-firefox', tag='4.6.0-20221104', digest='null'}
06:01:33.606 INFO [V141Docker.getImage] - Listing local images: Reference{domain='docker.io', name='selenium/standalone-edge', tag='4.6.0-20221104', digest='null'}
06:01:33.627 INFO [V141Docker.getImage] - Pulling Reference{domain='docker.io', name='selenium/standalone-chrome', tag='4.6.0-20221104', digest='null'}
06:01:33.627 INFO [V141Docker.getImage] - Pulling Reference{domain='docker.io', name='selenium/standalone-edge', tag='4.6.0-20221104', digest='null'}
06:01:33.627 INFO [PullImage.apply] - Pulling Reference{domain='docker.io', name='selenium/standalone-chrome', tag='4.6.0-20221104', digest='null'}
06:01:33.627 INFO [PullImage.apply] - Pulling Reference{domain='docker.io', name='selenium/standalone-edge', tag='4.6.0-20221104', digest='null'}
06:01:33.629 INFO [V141Docker.getImage] - Pulling Reference{domain='docker.io', name='selenium/standalone-firefox', tag='4.6.0-20221104', digest='null'}
06:01:33.630 INFO [PullImage.apply] - Pulling Reference{domain='docker.io', name='selenium/standalone-firefox', tag='4.6.0-20221104', digest='null'}
java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.openqa.selenium.grid.Bootstrap.runMain(Bootstrap.java:77)
	at org.openqa.selenium.grid.Bootstrap.main(Bootstrap.java:70)
Caused by: org.openqa.selenium.grid.config.ConfigException: java.lang.reflect.InvocationTargetException
	at org.openqa.selenium.grid.config.MemoizedConfig.getClass(MemoizedConfig.java:115)
	at org.openqa.selenium.grid.node.config.NodeOptions.getNode(NodeOptions.java:152)
	at org.openqa.selenium.grid.node.httpd.NodeServer.createHandlers(NodeServer.java:128)
	at org.openqa.selenium.grid.node.httpd.NodeServer.asServer(NodeServer.java:184)
	at org.openqa.selenium.grid.node.httpd.NodeServer.execute(NodeServer.java:239)
	at org.openqa.selenium.grid.TemplateGridCommand.lambda$configure$4(TemplateGridCommand.java:129)
	at org.openqa.selenium.grid.Main.launch(Main.java:83)
	at org.openqa.selenium.grid.Main.go(Main.java:57)
	at org.openqa.selenium.grid.Main.main(Main.java:42)
	... 6 more
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.openqa.selenium.grid.config.ClassCreation.callCreateMethod(ClassCreation.java:50)
	at org.openqa.selenium.grid.config.MemoizedConfig.lambda$getClass$4(MemoizedConfig.java:100)
	at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1737)
	at org.openqa.selenium.grid.config.MemoizedConfig.getClass(MemoizedConfig.java:95)
�
	... 14 more
Caused by: java.lang.IllegalArgumentException: non-positive contentLength: 0
	at java.net.http/java.net.http.HttpRequest$BodyPublishers.fromPublisher(HttpRequest.java:539)
	at org.openqa.selenium.remote.http.jdk.JdkHttpMessages.notChunkingBodyPublisher(JdkHttpMessages.java:124)
	at org.openqa.selenium.remote.http.jdk.JdkHttpMessages.createRequest(JdkHttpMessages.java:76)
	at org.openqa.selenium.remote.http.jdk.JdkHttpClient.execute(JdkHttpClient.java:280)
	at org.openqa.selenium.remote.tracing.TracedHttpClient.execute(TracedHttpClient.java:55)
	at org.openqa.selenium.docker.v1_41.PullImage.apply(PullImage.java:63)
	at org.openqa.selenium.docker.v1_41.V141Docker.getImage(V141Docker.java:80)
	at org.openqa.selenium.docker.Docker.lambda$getImage$0(Docker.java:51)
	at java.base/java.util.Optional.map(Optional.java:265)
	at org.openqa.selenium.docker.Docker.getImage(Docker.java:51)
	at org.openqa.selenium.grid.node.docker.DockerOptions.lambda$loadImages$4(DockerOptions.java:260)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1692)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
Exception in thread "Thread-0" java.lang.NullPointerException
	at org.openqa.selenium.grid.node.httpd.NodeServer.lambda$new$0(NodeServer.java:80)
	at java.base/java.lang.Thread.run(Thread.java:829)
2022-11-09 06:01:33,955 INFO exited: selenium-grid-docker (exit status 1; not expected)

Operating System

Proxmox Linux proxbox 5.15.64-1-pve #1 SMP PVE 5.15.64-1 (Thu, 13 Oct 2022 10:30:34 +0200) x86_64 GNU/Linux

Docker Selenium version (tag)

4.6.0-20221104

@DerekJLeggett
Copy link

I'm having the exact same issue, I had to revert back to 4.5.3-20221024 in order to get it working.

@DanMcNamee
Copy link

Same here as well. 4.5.3-20221024 is working for me as well, but latest is not.

@sebzur
Copy link

sebzur commented Nov 25, 2022

I also confirm that. When images are pulled before the grid is started I can have it running. My config:

version: "3"
services:
  node-docker:
    image: selenium/node-docker:4.6.0-20221104
    volumes:
      - ./assets:/opt/selenium/assets
      - ./config.toml:/opt/bin/config.toml
      - /var/run/docker.sock:/var/run/docker.sock
    depends_on:
      - selenium-hub
    environment:
      - SE_EVENT_BUS_HOST=selenium-hub
      - SE_EVENT_BUS_PUBLISH_PORT=4442
      - SE_EVENT_BUS_SUBSCRIBE_PORT=4443

  selenium-hub:
    image: selenium/hub:4.6.0-20221104
    container_name: selenium-hub
    ports:
      - "4442:4442"
      - "4443:4443"
      - "4444:4444"

And the output:

node-docker_1   | 13:18:13.148 INFO [V141Docker.getImage] - Pulling Reference{domain='docker.io', name='selenium/video', tag='latest', digest='null'}
node-docker_1   | 13:18:13.148 INFO [PullImage.apply] - Pulling Reference{domain='docker.io', name='selenium/video', tag='latest', digest='null'}
node-docker_1   | java.lang.reflect.InvocationTargetException
node-docker_1   |       at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
node-docker_1   |       at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
node-docker_1   |       at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
node-docker_1   |       at java.base/java.lang.reflect.Method.invoke(Method.java:566)
node-docker_1   |       at org.openqa.selenium.grid.Bootstrap.runMain(Bootstrap.java:77)
node-docker_1   |       at org.openqa.selenium.grid.Bootstrap.main(Bootstrap.java:70)
node-docker_1   | Caused by: org.openqa.selenium.grid.config.ConfigException: java.lang.reflect.InvocationTargetException
node-docker_1   |       at org.openqa.selenium.grid.config.MemoizedConfig.getClass(MemoizedConfig.java:115)
node-docker_1   |       at org.openqa.selenium.grid.node.config.NodeOptions.getNode(NodeOptions.java:152)
node-docker_1   |       at org.openqa.selenium.grid.node.httpd.NodeServer.createHandlers(NodeServer.java:128)
node-docker_1   |       at org.openqa.selenium.grid.node.httpd.NodeServer.asServer(NodeServer.java:184)
node-docker_1   |       at org.openqa.selenium.grid.node.httpd.NodeServer.execute(NodeServer.java:239)
node-docker_1   |       at org.openqa.selenium.grid.TemplateGridCommand.lambda$configure$4(TemplateGridCommand.java:129)
node-docker_1   |       at org.openqa.selenium.grid.Main.launch(Main.java:83)
node-docker_1   |       at org.openqa.selenium.grid.Main.go(Main.java:57)
node-docker_1   |       at org.openqa.selenium.grid.Main.main(Main.java:42)
node-docker_1   |       ... 6 more
node-docker_1   | Caused by: java.lang.reflect.InvocationTargetException
node-docker_1   |       at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
node-docker_1   |       at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
node-docker_1   |       at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
node-docker_1   |       at java.base/java.lang.reflect.Method.invoke(Method.java:566)
node-docker_1   |       at org.openqa.selenium.grid.config.ClassCreation.callCreateMethod(ClassCreation.java:50)
node-docker_1   |       at org.openqa.selenium.grid.config.MemoizedConfig.lambda$getClass$4(MemoizedConfig.java:100)
node-docker_1   |       at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1737)
node-docker_1   |       at org.openqa.selenium.grid.config.MemoizedConfig.getClass(MemoizedConfig.java:95)
node-docker_1   |       ... 14 more
node-docker_1   | Caused by: java.lang.IllegalArgumentException: non-positive contentLength: 0
node-docker_1   |       at java.net.http/java.net.http.HttpRequest$BodyPublishers.fromPublisher(HttpRequest.java:539)
node-docker_1   |       at org.openqa.selenium.remote.http.jdk.JdkHttpMessages.notChunkingBodyPublisher(JdkHttpMessages.java:124)
node-docker_1   |       at org.openqa.selenium.remote.http.jdk.JdkHttpMessages.createRequest(JdkHttpMessages.java:76)
node-docker_1   |       at org.openqa.selenium.remote.http.jdk.JdkHttpClient.execute(JdkHttpClient.java:280)
node-docker_1   |       at org.openqa.selenium.remote.tracing.TracedHttpClient.execute(TracedHttpClient.java:55)
node-docker_1   |       at org.openqa.selenium.docker.v1_41.PullImage.apply(PullImage.java:63)
node-docker_1   |       at org.openqa.selenium.docker.v1_41.V141Docker.getImage(V141Docker.java:80)
node-docker_1   |       at org.openqa.selenium.docker.Docker.lambda$getImage$0(Docker.java:51)
node-docker_1   |       at java.base/java.util.Optional.map(Optional.java:265)
node-docker_1   |       at org.openqa.selenium.docker.Docker.getImage(Docker.java:51)
node-docker_1   |       at org.openqa.selenium.grid.node.docker.DockerOptions.getVideoImage(DockerOptions.java:223)
node-docker_1   |       at org.openqa.selenium.grid.node.docker.DockerOptions.getDockerSessionFactories(DockerOptions.java:164)
node-docker_1   |       at org.openqa.selenium.grid.node.local.LocalNodeFactory.create(LocalNodeFactory.java:85)
node-docker_1   |       ... 22 more
node-docker_1   | Exception in thread "Thread-0" java.lang.NullPointerException
node-docker_1   |       at org.openqa.selenium.grid.node.httpd.NodeServer.lambda$new$0(NodeServer.java:80)
node-docker_1   |       at java.base/java.lang.Thread.run(Thread.java:829)
node-docker_1   | 2022-11-25 13:18:13,482 INFO exited: selenium-grid-docker (exit status 1; not expected)

After manual download, everything works as expected:

ttaching to selenium-hub, selenium-grid_node-docker_1
selenium-hub    | 2022-11-25 13:27:13,796 INFO Included extra file "/etc/supervisor/conf.d/selenium-grid-hub.conf" during parsing
selenium-hub    | 2022-11-25 13:27:13,799 INFO RPC interface 'supervisor' initialized
selenium-hub    | 2022-11-25 13:27:13,799 CRIT Server 'unix_http_server' running without any HTTP authentication checking
selenium-hub    | 2022-11-25 13:27:13,800 INFO supervisord started with pid 8
node-docker_1   | 2022-11-25 13:27:14,586 INFO Included extra file "/etc/supervisor/conf.d/selenium-grid-docker.conf" during parsing
node-docker_1   | 2022-11-25 13:27:14,589 INFO RPC interface 'supervisor' initialized
node-docker_1   | 2022-11-25 13:27:14,589 CRIT Server 'unix_http_server' running without any HTTP authentication checking
node-docker_1   | 2022-11-25 13:27:14,589 INFO supervisord started with pid 8
selenium-hub    | 2022-11-25 13:27:14,802 INFO spawned: 'selenium-grid-hub' with pid 10
selenium-hub    | Tracing is disabled
selenium-hub    | 2022-11-25 13:27:14,807 INFO success: selenium-grid-hub entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
selenium-hub    | 13:27:15.153 INFO [LoggingOptions.configureLogEncoding] - Using the system default encoding
selenium-hub    | 13:27:15.157 INFO [OpenTelemetryTracer.createTracer] - Using OpenTelemetry for tracing
selenium-hub    | 13:27:15.276 INFO [BoundZmqEventBus.<init>] - XPUB binding to [binding to tcp://*:4442, advertising as tcp://172.19.0.2:4442], XSUB binding to [binding to tcp://*:4443, advertising as tcp://172.19.0.2:4443]
selenium-hub    | 13:27:15.323 INFO [UnboundZmqEventBus.<init>] - Connecting to tcp://172.19.0.2:4442 and tcp://172.19.0.2:4443
selenium-hub    | 13:27:15.341 INFO [UnboundZmqEventBus.<init>] - Sockets created
node-docker_1   | 2022-11-25 13:27:15,592 INFO spawned: 'socat' with pid 10
node-docker_1   | 2022-11-25 13:27:15,594 INFO spawned: 'selenium-grid-docker' with pid 11
node-docker_1   | 2022-11-25 13:27:15,598 INFO success: socat entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
node-docker_1   | 2022-11-25 13:27:15,598 INFO success: selenium-grid-docker entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
node-docker_1   | Starting Selenium Grid Node Docker...
node-docker_1   | Tracing is disabled
node-docker_1   | 13:27:15.954 INFO [LoggingOptions.configureLogEncoding] - Using the system default encoding
node-docker_1   | 13:27:15.958 INFO [OpenTelemetryTracer.createTracer] - Using OpenTelemetry for tracing
node-docker_1   | 13:27:16.071 INFO [UnboundZmqEventBus.<init>] - Connecting to tcp://selenium-hub:4442 and tcp://selenium-hub:4443
node-docker_1   | 13:27:16.116 INFO [UnboundZmqEventBus.<init>] - Sockets created
selenium-hub    | 13:27:16.342 INFO [UnboundZmqEventBus.<init>] - Event bus ready
selenium-hub    | 13:27:16.965 INFO [Hub.execute] - Started Selenium Hub 4.6.0 (revision 79f1c02ae20): http://172.19.0.2:4444
node-docker_1   | 13:27:17.118 INFO [UnboundZmqEventBus.<init>] - Event bus ready
node-docker_1   | 13:27:17.224 INFO [NodeServer.createHandlers] - Reporting self as: http://172.19.0.3:5555
node-docker_1   | 13:27:17.242 INFO [NodeOptions.getSessionFactories] - Detected 16 available processors
node-docker_1   | 13:27:17.577 INFO [V141Docker.isContainerPresent] - Checking if container is present: b5a96dcf1ded
node-docker_1   | 13:27:17.593 INFO [Docker.getImage] - Obtaining image: selenium/standalone-chrome:4.6.0-20221104
node-docker_1   | 13:27:17.594 INFO [V141Docker.getImage] - Listing local images: Reference{domain='docker.io', name='selenium/standalone-chrome', tag='4.6.0-20221104', digest='null'}
node-docker_1   | 13:27:17.608 INFO [Docker.getImage] - Obtaining image: selenium/video:latest
node-docker_1   | 13:27:17.608 INFO [V141Docker.getImage] - Listing local images: Reference{domain='docker.io', name='selenium/video', tag='latest', digest='null'}
node-docker_1   | 13:27:17.614 INFO [Docker.getImage] - Obtaining image: selenium/video:latest
node-docker_1   | 13:27:17.615 INFO [V141Docker.getImage] - Listing local images: Reference{domain='docker.io', name='selenium/video', tag='latest', digest='null'}
node-docker_1   | 13:27:17.622 INFO [Docker.getImage] - Obtaining image: selenium/standalone-chrome:4.6.0-20221104
node-docker_1   | 13:27:17.622 INFO [V141Docker.getImage] - Listing local images: Reference{domain='docker.io', name='selenium/standalone-chrome', tag='4.6.0-20221104', digest='null'}
node-docker_1   | 13:27:17.634 INFO [DockerOptions.lambda$getDockerSessionFactories$1] - Mapping Capabilities {browserName: chrome} to docker image selenium/standalone-chrome:4.6.0-20221104 16 times
node-docker_1   | 13:27:17.677 INFO [Node.<init>] - Binding additional locator mechanisms: id, name, relative
node-docker_1   | 13:27:17.869 INFO [NodeServer$1.start] - Starting registration process for Node http://172.19.0.3:5555
node-docker_1   | 13:27:17.870 INFO [NodeServer.execute] - Started Selenium node 4.6.0 (revision 79f1c02ae20): http://172.19.0.3:5555
node-docker_1   | 13:27:17.887 INFO [NodeServer$1.lambda$start$1] - Sending registration event...
selenium-hub    | 13:27:17.932 INFO [Node.<init>] - Binding additional locator mechanisms: name, relative, id
selenium-hub    | 13:27:18.286 INFO [GridModel.setAvailability] - Switching Node c5252f27-ad32-43d1-84f5-502e1ea78888 (uri: http://172.19.0.3:5555) from DOWN to UP
selenium-hub    | 13:27:18.287 INFO [LocalDistributor.add] - Added node c5252f27-ad32-43d1-84f5-502e1ea78888 at http://172.19.0.3:5555. Health check every 120s
node-docker_1   | 13:27:18.293 INFO [NodeServer.lambda$createHandlers$2] - Node has been added

As one can see from the logs and compose config, I'm on 4.6.0-20221104.

@sebzur
Copy link

sebzur commented Nov 25, 2022

However... When I try to run a test, the hub crashes. 😢

selenium-hub    | 13:34:12.228 INFO [LocalDistributor.newSession] - Session request received by the Distributor:
selenium-hub    |  [Capabilities {browserName: chrome}, Capabilities {browserName: chrome, platform: ANY, version: }, Capabilities {browserName: chrome, platformName: ANY}]
node-docker_1   | 13:34:12.249 INFO [DockerSessionFactory.apply] - Starting session for Capabilities {browserName: chrome}
node-docker_1   | 13:34:12.250 INFO [DockerSessionFactory.apply] - Creating container...
node-docker_1   | 13:34:12.319 INFO [Container.<init>] - Created container 89c69c3836f0521529657a663efe3b9c5ff56ffb452f51aede711f8472a00230
node-docker_1   | 13:34:12.319 INFO [Container.start] - Starting container 89c69c3836f0521529657a663efe3b9c5ff56ffb452f51aede711f8472a00230
node-docker_1   | 13:34:12.322 WARN [SessionSlot.apply] - Unable to create session
node-docker_1   | java.lang.IllegalArgumentException: non-positive contentLength: 0
node-docker_1   |       at java.net.http/java.net.http.HttpRequest$BodyPublishers.fromPublisher(HttpRequest.java:539)
node-docker_1   |       at org.openqa.selenium.remote.http.jdk.JdkHttpMessages.notChunkingBodyPublisher(JdkHttpMessages.java:124)
node-docker_1   |       at org.openqa.selenium.remote.http.jdk.JdkHttpMessages.createRequest(JdkHttpMessages.java:76)
node-docker_1   |       at org.openqa.selenium.remote.http.jdk.JdkHttpClient.execute(JdkHttpClient.java:280)
node-docker_1   |       at org.openqa.selenium.remote.tracing.TracedHttpClient.execute(TracedHttpClient.java:55)
node-docker_1   |       at org.openqa.selenium.docker.v1_41.StartContainer.apply(StartContainer.java:40)
node-docker_1   |       at org.openqa.selenium.docker.v1_41.V141Docker.startContainer(V141Docker.java:115)
node-docker_1   |       at org.openqa.selenium.docker.Container.start(Container.java:47)
node-docker_1   |       at org.openqa.selenium.grid.node.docker.DockerSessionFactory.apply(DockerSessionFactory.java:155)
node-docker_1   |       at org.openqa.selenium.grid.node.docker.DockerSessionFactory.apply(DockerSessionFactory.java:90)
node-docker_1   |       at org.openqa.selenium.grid.node.local.SessionSlot.apply(SessionSlot.java:147)
node-docker_1   |       at org.openqa.selenium.grid.node.local.LocalNode.newSession(LocalNode.java:372)
node-docker_1   |       at org.openqa.selenium.grid.node.NewNodeSession.execute(NewNodeSession.java:52)
node-docker_1   |       at org.openqa.selenium.remote.http.Route$TemplatizedRoute.handle(Route.java:192)
node-docker_1   |       at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
node-docker_1   |       at org.openqa.selenium.grid.security.RequiresSecretFilter.lambda$apply$0(RequiresSecretFilter.java:64)
node-docker_1   |       at org.openqa.selenium.remote.tracing.SpanWrappedHttpHandler.execute(SpanWrappedHttpHandler.java:86)
node-docker_1   |       at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
node-docker_1   |       at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336)
node-docker_1   |       at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
node-docker_1   |       at org.openqa.selenium.grid.node.Node.execute(Node.java:240)
node-docker_1   |       at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336)
node-docker_1   |       at org.openqa.selenium.remote.http.Route.execute(Route.java:68)
node-docker_1   |       at org.openqa.selenium.remote.AddWebDriverSpecHeaders.lambda$apply$0(AddWebDriverSpecHeaders.java:35)
node-docker_1   |       at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44)
node-docker_1   |       at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
node-docker_1   |       at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44)
node-docker_1   |       at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)
node-docker_1   |       at org.openqa.selenium.netty.server.SeleniumHandler.lambda$channelRead0$0(SeleniumHandler.java:44)
node-docker_1   |       at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
node-docker_1   |       at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
node-docker_1   |       at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
node-docker_1   |       at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
node-docker_1   |       at java.base/java.lang.Thread.run(Thread.java:829)
node-docker_1   | 13:34:12.324 WARN [SeleniumSpanExporter$1.lambda$export$3] - {"traceId": "e02703f503413a59822575d6fc685549","eventTime": 1669383252322987553,"eventName": "Unable to create session with the driver","attributes": {"current.session.count": 0,"logger": "org.openqa.selenium.grid.node.local.LocalNode","session.request.capabilities": "Capabilities {browserName: chrome}","session.request.downstreamdialect": "[W3C, OSS]"}}
node-docker_1   |
selenium-hub    | 13:34:12.337 WARN [SeleniumSpanExporter$1.lambda$export$3] - {"traceId": "e02703f503413a59822575d6fc685549","eventTime": 1669383252227281576,"eventName": "Session request received by the Distributor","attributes": {"logger": "org.openqa.selenium.grid.distributor.local.LocalDistributor","request.payload": "[Capabilities {browserName: chrome}, Capabilities {browserName: chrome, platform: ANY, version: }, Capabilities {browserName: chrome, platformName: ANY
}]"}}
selenium-hub    |
selenium-hub    | 13:34:12.337 WARN [SeleniumSpanExporter$1.lambda$export$1] - Unable to create session: Could not start a new session. Could not start a new session. non-positive contentLength: 0
selenium-hub    | Host info: host: 'b5a96dcf1ded', ip: '172.19.0.3'
selenium-hub    | Build info: version: '4.6.0', revision: '79f1c02ae20'
selenium-hub    | System info: os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-194-generic', java.version: '11.0.16'
selenium-hub    | Driver info: driver.version: unknown
selenium-hub    | Build info: version: '4.6.0', revision: '79f1c02ae20'
selenium-hub    | System info: os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-194-generic', java.version: '11.0.16'
selenium-hub    | Driver info: driver.version: unknown
selenium-hub    | 13:34:12.337 WARN [SeleniumSpanExporter$1.lambda$export$1] - org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Could not start a new session. non-positive contentLength: 0
selenium-hub    | Host info: host: 'b5a96dcf1ded', ip: '172.19.0.3'
selenium-hub    | Build info: version: '4.6.0', revision: '79f1c02ae20'
selenium-hub    | System info: os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-194-generic', java.version: '11.0.16'
selenium-hub    | Driver info: driver.version: unknown
selenium-hub    | Build info: version: '4.6.0', revision: '79f1c02ae20'
selenium-hub    | System info: os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-194-generic', java.version: '11.0.16'
selenium-hub    | Driver info: driver.version: unknown
selenium-hub    |       at org.openqa.selenium.grid.node.remote.RemoteNode.newSession(RemoteNode.java:150)
selenium-hub    |       at org.openqa.selenium.grid.distributor.local.LocalDistributor.startSession(LocalDistributor.java:645)
selenium-hub    |       at org.openqa.selenium.grid.distributor.local.LocalDistributor.newSession(LocalDistributor.java:564)
selenium-hub    |       at org.openqa.selenium.grid.distributor.local.LocalDistributor$NewSessionRunnable.handleNewSessionRequest(LocalDistributor.java:818)
selenium-hub    |       at org.openqa.selenium.grid.distributor.local.LocalDistributor$NewSessionRunnable.lambda$run$1(LocalDistributor.java:779)
selenium-hub    |       at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
selenium-hub    |       at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
selenium-hub    |       at java.base/java.lang.Thread.run(Thread.java:829)
selenium-hub    |
selenium-hub    | 13:34:12.338 WARN [SeleniumSpanExporter$1.lambda$export$3] - {"traceId": "e02703f503413a59822575d6fc685549","eventTime": 1669383252334377503,"eventName": "exception","attributes": {"exception.message": "Unable to create session: Could not start a new session. Could not start a new session. non-positive contentLength: 0 \nHost info: host: 'b5a96dcf1ded', ip: '172.19.0.3'\nBuild info: version: '4.6.0', revision: '79f1c02ae20'\nSystem info: os.name: 'Linux'
, os.arch: 'amd64', os.version: '4.15.0-194-generic', java.version: '11.0.16'\nDriver info: driver.version: unknown\nBuild info: version: '4.6.0', revision: '79f1c02ae20'\nSystem info: os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-194-generic', java.version: '11.0.16'\nDriver info: driver.version: unknown","exception.stacktrace": "org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Could not start a new session. non-positive contentLen
gth: 0 \nHost info: host: 'b5a96dcf1ded', ip: '172.19.0.3'\nBuild info: version: '4.6.0', revision: '79f1c02ae20'\nSystem info: os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-194-generic', java.version: '11.0.16'\nDriver info: driver.version: unknown\nBuild info: version: '4.6.0', revision: '79f1c02ae20'\nSystem info: os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-194-generic', java.version: '11.0.16'\nDriver info: driver.version: unknown\n\tat org.openq
a.selenium.grid.node.remote.RemoteNode.newSession(RemoteNode.java:150)\n\tat org.openqa.selenium.grid.distributor.local.LocalDistributor.startSession(LocalDistributor.java:645)\n\tat org.openqa.selenium.grid.distributor.local.LocalDistributor.newSession(LocalDistributor.java:564)\n\tat org.openqa.selenium.grid.distributor.local.LocalDistributor$NewSessionRunnable.handleNewSessionRequest(LocalDistributor.java:818)\n\tat org.openqa.selenium.grid.distributor.local.LocalDistr
ibutor$NewSessionRunnable.lambda$run$1(LocalDistributor.java:779)\n\tat java.base\u002fjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)\n\tat java.base\u002fjava.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)\n\tat java.base\u002fjava.lang.Thread.run(Thread.java:829)\n","exception.type": "org.openqa.selenium.SessionNotCreatedException","logger": "org.openqa.selenium.grid.distributor.local.LocalDistributor","reques
t.payload": "[Capabilities {browserName: chrome}, Capabilities {browserName: chrome, platform: ANY, version: }, Capabilities {browserName: chrome, platformName: ANY}]"}}
selenium-hub    |
selenium-hub    | 13:34:12.342 WARN [SeleniumSpanExporter$1.lambda$export$3] - {"traceId": "e02703f503413a59822575d6fc685549","eventTime": 1669383252341373667,"eventName": "HTTP request execution complete","attributes": {"http.flavor": 1,"http.handler_class": "org.openqa.selenium.grid.sessionqueue.local.LocalNewSessionQueue","http.host": "127.0.0.1:4444","http.method": "POST","http.request_content_length": "187","http.scheme": "HTTP","http.status_code": 500,"http.target":
 "\u002fsession","http.user_agent": "selenium\u002f3.141.0 (python linux)"}}
selenium-hub    |

@diemol
Copy link
Member

diemol commented Dec 3, 2022

Duplicate of SeleniumHQ/selenium#11342

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants