SeleniumHQ / SeleniumHQ/docker-selenium

[🐛 Bug]: Grid becomes unusable after security scan

Open
#3,242 1 comment 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?

Our security department regularly runs Nessus security scans on our servers. Since the last update to this scanner, the Selenium Grid has been crashing after the scan.
This manifests itself in the fact that, despite a “browser quit” command in the tests, the browser is no longer released, and the grid slowly fills up. The only way to fix this is to restart the system.
After the scan is complete, the nodes constantly alternate between the “up” and “down” status in the logs.

Command used to start Selenium Grid with Docker (or Kubernetes)
podman run -d -p 4442-4444:4442-4444 \
-e "TZ=Europe/Berlin" -e SE_REJECT_UNSUPPORTED_CAPS=true -e SE_HEALTHCHECK_INTERVAL=60 \
-e SE_OPTS="--log-level FINEST" \
--name selenium-hub [secret]/selenium/hub:latest

podman run -d -p 5555:5555 \
--shm-size 2g -e "TZ=Europe/Berlin" \
-e SE_EVENT_BUS_HOST=[secret] \
-e SE_EVENT_BUS_PUBLISH_PORT=4442 -e SE_EVENT_BUS_SUBSCRIBE_PORT=4443 \
-e SE_NODE_HOST="[secret]" -e SE_NODE_PORT="5555" \
-e SE_NODE_SESSION_TIMEOUT="300" -e SE_NODE_MAX_SESSIONS=1 \
--name selenium-node1 [secret]/selenium/node-chromium:latest
Relevant log output
09:26:00.555 DEBUG [LoggingHandler.channelRead] - [id: 0x47bfb932, L:/[0:0:0:0:0:0:0:0]:4444] READ: [id: 0x526ba0a8, L:/10.88.0.107:4444 - R:/10.131.72.14:43474]
09:26:00.555 DEBUG [LoggingHandler.channelReadComplete] - [id: 0x47bfb932, L:/[0:0:0:0:0:0:0:0]:4444] READ COMPLETE
09:26:00.556 DEBUG [WebSocketUpgradeHandler.exceptionCaught] - exception caught, close the context
java.net.SocketException: Connection reset
        at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:401)
        at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:434)
        at io.netty.buffer.AdaptivePoolingAllocator$AdaptiveByteBuf.setBytes(AdaptivePoolingAllocator.java:2549)
        at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1139)
        at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350)
        at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:161)
        at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.handle(AbstractNioChannel.java:445)
        at io.netty.channel.nio.NioIoHandler$DefaultNioRegistration.handle(NioIoHandler.java:388)
        at io.netty.channel.nio.NioIoHandler.processSelectedKey(NioIoHandler.java:596)
        at io.netty.channel.nio.NioIoHandler.processSelectedKeysOptimized(NioIoHandler.java:571)
        at io.netty.channel.nio.NioIoHandler.processSelectedKeys(NioIoHandler.java:512)
        at io.netty.channel.nio.NioIoHandler.run(NioIoHandler.java:484)
        at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225)
        at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196)
        at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1204)
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.base/java.lang.Thread.run(Thread.java:1583)
09:26:00.556 DEBUG [RequestConverter.channelInactive] - Channel became inactive.
09:26:14.444 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5568
09:26:14.444 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5563
09:26:14.444 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@3f03845e at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:26:14.445 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5563
09:26:14.445 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@5bc1f6e9 at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:26:14.445 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5564
09:26:14.445 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:26:14.444 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5566
09:26:14.445 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@66a3033a at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:26:14.444 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5570
09:26:14.445 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@a8e2952 at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:26:14.444 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5567
09:26:14.444 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5568
09:26:14.445 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@2431e8b0 at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:26:14.444 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5561
09:26:14.445 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@30e39fe1 at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:26:14.445 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:26:14.444 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5566
09:26:14.446 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@408b13f3 at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:26:14.444 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5562
09:26:14.444 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5569
09:26:14.446 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@58696625 at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:26:14.446 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:26:14.446 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:26:14.446 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:26:14.446 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:26:14.444 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5565
09:26:14.447 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@6df1969c at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:26:14.444 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5565
09:26:14.447 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@4b1df743 at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:26:14.447 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:26:14.446 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@4456bfea at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:26:14.448 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:26:14.445 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:26:14.445 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@6e4e6541 at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:26:14.445 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:26:14.448 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:26:14.445 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@5eacf5f1 at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:26:14.445 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5564
09:26:14.449 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@575a03e0 at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:26:14.449 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:26:14.449 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:26:14.445 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5567
09:26:14.450 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@42d5e2d6 at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:26:14.444 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@1e332631 at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:26:14.449 INFO [LocalGridModel.purgeDeadNodes] - Switching Node 16c5493b-09d2-4bae-8cf4-47f0873a5061 (uri: http://[secret]:5569) from UP to DOWN
09:26:14.450 INFO [LocalGridModel.purgeDeadNodes] - Switching Node 299749b3-eeb4-4e70-9107-3f1b82e9750b (uri: http://[secret]:5562) from UP to DOWN
09:26:14.450 INFO [LocalGridModel.purgeDeadNodes] - Switching Node 74b15254-ddf9-444c-a18f-0ff7cd64ca08 (uri: http://[secret]:5561) from UP to DOWN
09:26:14.450 INFO [LocalGridModel.purgeDeadNodes] - Switching Node dc7d31e2-ae33-4ff0-8fcd-ca3e34c73690 (uri: http://[secret]:5563) from UP to DOWN
09:26:14.450 INFO [LocalGridModel.purgeDeadNodes] - Switching Node 6e7ae751-b09d-4c94-9c00-bad73c5f668a (uri: http://[secret]:5567) from UP to DOWN
09:26:14.451 INFO [LocalGridModel.purgeDeadNodes] - Switching Node 13c57545-6cde-4630-9f99-21b2f03d3c78 (uri: http://[secret]:5568) from UP to DOWN
09:26:14.448 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:26:14.451 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:26:14.452 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:26:14.453 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 7ms
09:26:14.456 DEBUG [LocalNodeRegistry.updateNodeAvailability] - Health check result for http://[secret]:5561 was UP
09:26:14.456 INFO [LocalGridModel.setAvailability] - Switching Node 74b15254-ddf9-444c-a18f-0ff7cd64ca08 (uri: http://[secret]:5561) from DOWN to UP
09:26:14.456 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 8ms
09:26:14.457 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 10ms
09:26:14.457 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 5ms
09:26:14.457 DEBUG [LocalNodeRegistry.updateNodeAvailability] - Health check result for http://[secret]:5568 was UP
09:26:14.457 DEBUG [LocalNodeRegistry.updateNodeAvailability] - Health check result for http://[secret]:5563 was UP
09:26:14.457 INFO [LocalGridModel.setAvailability] - Switching Node dc7d31e2-ae33-4ff0-8fcd-ca3e34c73690 (uri: http://[secret]:5563) from DOWN to UP
09:26:14.457 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 6ms
09:26:14.457 DEBUG [LocalNodeRegistry.updateNodeAvailability] - Health check result for http://[secret]:5565 was UP
09:26:14.457 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 12ms
09:26:14.457 DEBUG [LocalNodeRegistry.updateNodeAvailability] - Health check result for http://[secret]:5567 was UP
09:26:14.458 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 9ms
09:26:14.458 DEBUG [LocalNodeRegistry.updateNodeAvailability] - Health check result for http://[secret]:5564 was UP
09:26:14.460 DEBUG [LocalNodeRegistry.updateNodeAvailability] - Health check result for http://[secret]:5568 was UP
09:26:14.460 INFO [LocalGridModel.setAvailability] - Switching Node 13c57545-6cde-4630-9f99-21b2f03d3c78 (uri: http://[secret]:5568) from DOWN to UP
09:26:14.460 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 12ms
09:26:14.460 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 14ms
09:26:14.460 DEBUG [LocalNodeRegistry.updateNodeAvailability] - Health check result for http://[secret]:5562 was UP
09:26:14.460 INFO [LocalGridModel.setAvailability] - Switching Node 299749b3-eeb4-4e70-9107-3f1b82e9750b (uri: http://[secret]:5562) from DOWN to UP
09:26:14.460 DEBUG [LocalNodeRegistry.updateNodeAvailability] - Health check result for http://[secret]:5566 was UP
09:26:14.461 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 15ms
09:26:14.461 DEBUG [LocalNodeRegistry.updateNodeAvailability] - Health check result for http://[secret]:5566 was UP
09:26:14.462 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 17ms
09:26:14.462 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 13ms
09:26:14.462 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 14ms
09:26:14.463 DEBUG [LocalNodeRegistry.updateNodeAvailability] - Health check result for http://[secret]:5563 was UP
09:26:14.463 DEBUG [LocalNodeRegistry.updateNodeAvailability] - Health check result for http://[secret]:5567 was UP
09:26:14.463 INFO [LocalGridModel.setAvailability] - Switching Node 6e7ae751-b09d-4c94-9c00-bad73c5f668a (uri: http://[secret]:5567) from DOWN to UP
09:26:14.463 DEBUG [LocalNodeRegistry.updateNodeAvailability] - Health check result for http://[secret]:5564 was UP
09:26:14.468 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 22ms
09:26:14.469 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 21ms
09:26:14.469 DEBUG [LocalNodeRegistry.updateNodeAvailability] - Health check result for http://[secret]:5569 was UP
09:26:14.469 INFO [LocalGridModel.setAvailability] - Switching Node 16c5493b-09d2-4bae-8cf4-47f0873a5061 (uri: http://[secret]:5569) from DOWN to UP
09:26:14.470 DEBUG [LocalNodeRegistry.updateNodeAvailability] - Health check result for http://[secret]:5570 was UP
09:26:14.480 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 29ms
09:26:14.481 DEBUG [LocalNodeRegistry.updateNodeAvailability] - Health check result for http://[secret]:5565 was UP
09:27:14.450 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5562
09:27:14.450 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@7f10cd62 at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:27:14.451 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5568
09:27:14.451 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@55668bac at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:27:14.451 INFO [LocalGridModel.purgeDeadNodes] - Switching Node ede62360-e33f-4184-8ba1-7d493a49c1b6 (uri: http://[secret]:5566) from UP to DOWN
09:27:14.451 INFO [LocalGridModel.purgeDeadNodes] - Switching Node 75a71b5b-119a-42ad-8434-23bc6765d36a (uri: http://[secret]:5567) from UP to DOWN
09:27:14.451 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:27:14.451 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5561
09:27:14.451 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@34aebec9 at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:27:14.452 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5566
09:27:14.452 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@5b5f296c at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:27:14.452 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5565
09:27:14.452 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@498e087f at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:27:14.452 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5564
09:27:14.452 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@5ba4f996 at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:27:14.452 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5567
09:27:14.452 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@a0d953f at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:27:14.452 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5566
09:27:14.452 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@6797ea5a at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:27:14.452 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5563
09:27:14.452 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@4644f24b at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:27:14.452 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:27:14.452 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5569
09:27:14.452 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@15908407 at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:27:14.452 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:27:14.452 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:27:14.452 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:27:14.453 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5564
09:27:14.453 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@1aacb2b7 at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:27:14.453 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:27:14.453 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5563
09:27:14.453 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@e9dbe8d at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:27:14.453 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:27:14.453 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:27:14.453 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:27:14.453 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:27:14.451 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:27:14.451 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5568
09:27:14.454 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@3a3a1fcb at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:27:14.451 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5565
09:27:14.455 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:27:14.453 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:27:14.453 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5570
09:27:14.457 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@5fc0620c at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:27:14.457 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:27:14.452 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5567
09:27:14.458 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@27b2e715 at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:27:14.451 INFO [LocalGridModel.purgeDeadNodes] - Switching Node fd38ff45-8fb3-4c42-b849-84e77f865495 (uri: http://[secret]:5564) from UP to DOWN
09:27:14.460 INFO [LocalGridModel.purgeDeadNodes] - Switching Node 7cd80789-9267-4c55-a7b0-008a78805799 (uri: http://[secret]:5565) from UP to DOWN
09:27:14.460 INFO [LocalGridModel.purgeDeadNodes] - Switching Node 0a95662d-a252-4580-847f-7e44d7592dd2 (uri: http://[secret]:5564) from UP to DOWN
09:27:14.460 INFO [LocalGridModel.purgeDeadNodes] - Switching Node f60eaf48-452e-4744-ae22-07eb4d0c721b (uri: http://[secret]:5570) from UP to DOWN
09:27:14.460 INFO [LocalGridModel.purgeDeadNodes] - Switching Node 16c5493b-09d2-4bae-8cf4-47f0873a5061 (uri: http://[secret]:5569) from UP to DOWN
09:27:14.460 INFO [LocalGridModel.purgeDeadNodes] - Switching Node 299749b3-eeb4-4e70-9107-3f1b82e9750b (uri: http://[secret]:5562) from UP to DOWN
09:27:14.460 INFO [LocalGridModel.purgeDeadNodes] - Switching Node f6d40330-417d-44aa-b6f6-c8cd0bf0dcf5 (uri: http://[secret]:5563) from UP to DOWN
09:27:14.460 INFO [LocalGridModel.purgeDeadNodes] - Switching Node 74b15254-ddf9-444c-a18f-0ff7cd64ca08 (uri: http://[secret]:5561) from UP to DOWN
09:27:14.460 INFO [LocalGridModel.purgeDeadNodes] - Switching Node ff99c87e-b208-41dc-9853-810890b9267f (uri: http://[secret]:5565) from UP to DOWN
09:27:14.460 INFO [LocalGridModel.purgeDeadNodes] - Switching Node dc7d31e2-ae33-4ff0-8fcd-ca3e34c73690 (uri: http://[secret]:5563) from UP to DOWN
09:27:14.460 INFO [LocalGridModel.purgeDeadNodes] - Switching Node 6e7ae751-b09d-4c94-9c00-bad73c5f668a (uri: http://[secret]:5567) from UP to DOWN
09:27:14.460 INFO [LocalGridModel.purgeDeadNodes] - Switching Node a471d5cb-7f07-4aef-8d83-e0544a6fd904 (uri: http://[secret]:5566) from UP to DOWN
09:27:14.460 INFO [LocalGridModel.purgeDeadNodes] - Switching Node 7e5dca7e-9d27-4650-b32a-d8dfc29d5260 (uri: http://[secret]:5568) from UP to DOWN
09:27:14.460 INFO [LocalGridModel.purgeDeadNodes] - Switching Node 13c57545-6cde-4630-9f99-21b2f03d3c78 (uri: http://[secret]:5568) from UP to DOWN
09:27:14.455 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@166313f0 at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:27:14.460 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:27:14.463 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:27:14.466 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 13ms
09:27:14.474 DEBUG [LocalNodeRegistry.updateNodeAvailability] - Health check result for http://[secret]:5564 was UP
09:27:14.474 INFO [LocalGridModel.setAvailability] - Switching Node 0a95662d-a252-4580-847f-7e44d7592dd2 (uri: http://[secret]:5564) from DOWN to UP
09:27:14.484 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 21ms
09:27:14.485 DEBUG [LocalNodeRegistry.updateNodeAvailability] - Health check result for http://[secret]:5565 was UP
09:27:14.485 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 32ms
09:27:14.485 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 34ms
09:27:14.485 INFO [LocalGridModel.setAvailability] - Switching Node 7cd80789-9267-4c55-a7b0-008a78805799 (uri: http://[secret]:5565) from DOWN to UP
09:27:14.485 DEBUG [LocalNodeRegistry.updateNodeAvailability] - Health check result for http://[secret]:5563 was UP
09:27:14.485 INFO [LocalGridModel.setAvailability] - Switching Node dc7d31e2-ae33-4ff0-8fcd-ca3e34c73690 (uri: http://[secret]:5563) from DOWN to UP
09:27:14.485 DEBUG [LocalNodeRegistry.updateNodeAvailability] - Health check result for http://[secret]:5562 was UP
09:27:14.485 INFO [LocalGridModel.setAvailability] - Switching Node 299749b3-eeb4-4e70-9107-3f1b82e9750b (uri: http://[secret]:5562) from DOWN to UP
09:27:14.504 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 49ms
09:27:14.504 DEBUG [LocalNodeRegistry.updateNodeAvailability] - Health check result for http://[secret]:5569 was UP
09:27:14.505 INFO [LocalGridModel.setAvailability] - Switching Node 16c5493b-09d2-4bae-8cf4-47f0873a5061 (uri: http://[secret]:5569) from DOWN to UP
09:27:14.506 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 52ms
09:27:14.508 DEBUG [LocalNodeRegistry.updateNodeAvailability] - Health check result for http://[secret]:5563 was UP
09:27:14.508 INFO [LocalGridModel.setAvailability] - Switching Node f6d40330-417d-44aa-b6f6-c8cd0bf0dcf5 (uri: http://[secret]:5563) from DOWN to UP
09:27:14.510 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 58ms
09:27:14.512 DEBUG [LocalNodeRegistry.updateNodeAvailability] - Health check result for http://[secret]:5564 was UP
09:27:14.512 INFO [LocalGridModel.setAvailability] - Switching Node fd38ff45-8fb3-4c42-b849-84e77f865495 (uri: http://[secret]:5564) from DOWN to UP
09:27:14.514 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 61ms
09:27:14.515 DEBUG [LocalNodeRegistry.updateNodeAvailability] - Health check result for http://[secret]:5565 was UP
09:27:14.515 INFO [LocalGridModel.setAvailability] - Switching Node ff99c87e-b208-41dc-9853-810890b9267f (uri: http://[secret]:5565) from DOWN to UP
09:27:14.518 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 60ms
09:27:14.523 DEBUG [LocalNodeRegistry.updateNodeAvailability] - Health check result for http://[secret]:5570 was UP
09:27:14.523 INFO [LocalGridModel.setAvailability] - Switching Node f60eaf48-452e-4744-ae22-07eb4d0c721b (uri: http://[secret]:5570) from DOWN to UP
09:27:14.524 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 70ms
09:27:14.525 DEBUG [LocalNodeRegistry.updateNodeAvailability] - Health check result for http://[secret]:5568 was UP
09:27:14.525 INFO [LocalGridModel.setAvailability] - Switching Node 13c57545-6cde-4630-9f99-21b2f03d3c78 (uri: http://[secret]:5568) from DOWN to UP
09:27:14.544 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 91ms
09:27:14.545 DEBUG [LocalNodeRegistry.updateNodeAvailability] - Health check result for http://[secret]:5566 was UP
09:27:14.545 INFO [LocalGridModel.setAvailability] - Switching Node ede62360-e33f-4184-8ba1-7d493a49c1b6 (uri: http://[secret]:5566) from DOWN to UP
09:27:14.546 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 93ms
09:27:14.547 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 95ms
09:27:14.551 DEBUG [LocalNodeRegistry.updateNodeAvailability] - Health check result for http://[secret]:5566 was UP
09:27:14.551 INFO [LocalGridModel.setAvailability] - Switching Node a471d5cb-7f07-4aef-8d83-e0544a6fd904 (uri: http://[secret]:5566) from DOWN to UP
09:27:14.551 DEBUG [LocalNodeRegistry.updateNodeAvailability] - Health check result for http://[secret]:5567 was UP
09:27:14.551 INFO [LocalGridModel.setAvailability] - Switching Node 6e7ae751-b09d-4c94-9c00-bad73c5f668a (uri: http://[secret]:5567) from DOWN to UP
09:27:14.555 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 103ms
09:27:14.556 DEBUG [LocalNodeRegistry.updateNodeAvailability] - Health check result for http://[secret]:5561 was UP
09:27:14.556 INFO [LocalGridModel.setAvailability] - Switching Node 74b15254-ddf9-444c-a18f-0ff7cd64ca08 (uri: http://[secret]:5561) from DOWN to UP
09:27:14.572 DEBUG [JdkHttpClient.execute0] - Ending request (GET) /status in 112ms





And this is what happens after quitting a browser:

09:34:58.553 DEBUG [RequestConverter.channelRead0] - Incoming message: DefaultHttpRequest(decodeResult: success, version: HTTP/1.1)
DELETE /session/6063ec6b0179c096d1b45b13d0985a7d HTTP/1.1
Connection: Upgrade, HTTP2-Settings
Host: [secret]:4444
HTTP2-Settings: AAEAAEAAAAIAAAAAAAMAAAAAAAQBAAAAAAUAAEAAAAYABgAA
Upgrade: h2c
content-type: application/json; charset=utf-8
traceparent: 00-8ffec027e19767e2dea2d6757c393b7f-ea6f8a87842ddbe5-03
user-agent: selenium/4.49.0 (java windows)
09:34:58.553 DEBUG [RequestConverter.channelRead0] - Start of http request: DefaultHttpRequest(decodeResult: success, version: HTTP/1.1)
DELETE /session/6063ec6b0179c096d1b45b13d0985a7d HTTP/1.1
Connection: Upgrade, HTTP2-Settings
Host: [secret]:4444
HTTP2-Settings: AAEAAEAAAAIAAAAAAAMAAAAAAAQBAAAAAAUAAEAAAAYABgAA
Upgrade: h2c
content-type: application/json; charset=utf-8
traceparent: 00-8ffec027e19767e2dea2d6757c393b7f-ea6f8a87842ddbe5-03
user-agent: selenium/4.49.0 (java windows)
09:34:58.553 DEBUG [RequestConverter.channelRead0] - Incoming message: EmptyLastHttpContent
09:34:58.553 DEBUG [RequestConverter.channelRead0] - End of http request: EmptyLastHttpContent
09:34:58.553 DEBUG [HttpTracing.inject] - Injecting (DELETE) /session/6063ec6b0179c096d1b45b13d0985a7d into org.openqa.selenium.remote.tracing.empty.NullSpan@36db7095 at org.openqa.selenium.grid.router.HandleSession:228
09:34:58.553 DEBUG [HandleSession.lambda$loadSessionId$0] - Session 6063ec6b0179c096d1b45b13d0985a7d: pageLoad=300s, node=300s → read timeout=330s
09:34:58.553 DEBUG [JdkHttpClient.execute0] - Executing request: (DELETE) /session/6063ec6b0179c096d1b45b13d0985a7d
09:34:58.631 DEBUG [JdkHttpClient.execute0] - Ending request (DELETE) /session/6063ec6b0179c096d1b45b13d0985a7d in 78ms
09:34:58.635 DEBUG [RequestConverter.channelInactive] - Channel became inactive.
09:35:14.444 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5565
09:35:14.444 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5569
09:35:14.444 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5568
09:35:14.444 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5565
09:35:14.444 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5566
09:35:14.444 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5563
09:35:14.444 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5563
09:35:14.444 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5567
09:35:14.444 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5567
09:35:14.444 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5562
09:35:14.444 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5568
09:35:14.444 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5564
09:35:14.444 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5564
09:35:14.444 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5570
09:35:14.444 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5561
09:35:14.444 DEBUG [LocalNodeRegistry.lambda$asRunnableHealthCheck$0] - Running healthcheck for Node http://[secret]:5566
09:35:14.445 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@6d9fa0f5 at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:35:14.445 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@21b230d4 at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:35:14.445 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@1a4167c5 at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:35:14.445 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@34a0f218 at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:35:14.445 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@7ad07b52 at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:35:14.445 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@5d0a7cfa at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:35:14.445 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@5916de6d at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:35:14.445 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@11fe174e at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:35:14.445 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@1c649d8a at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:35:14.445 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@196501d1 at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:35:14.446 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:35:14.445 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@2044b9f4 at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:35:14.445 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@61e4c189 at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:35:14.446 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:35:14.445 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@7e99eacd at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:35:14.445 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@38873dd9 at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:35:14.446 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:35:14.445 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@2fe3d23f at org.openqa.selenium.grid.node.remote.RemoteNode:287
09:35:14.447 DEBUG [JdkHttpClient.execute0] - Executing request: (GET) /status
09:35:14.445 DEBUG [HttpTracing.inject] - Injecting (GET) /status into org.openqa.selenium.remote.tracing.empty.NullContext@5cdfbb7b at org.openqa.selenium.grid.node.remote.RemoteNode:287
Operating System

RHEL 8

Docker Selenium version (image tag)

4.48.0

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 by reproducing the failure with the provided Podman container commands and compare the logs before and after a Nessus scan. Trace the health-check flow through LocalNodeRegistry and LocalGridModel, alongside the WebSocketUpgradeHandler connection-reset messages. Done means scanned nodes remain usable, sessions are released after browser quit, and nodes do not continually alternate between UP and DOWN.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.