SeleniumHQ / selenium

A browser automation framework and ecosystem.
https://selenium.dev
Apache License 2.0
30.48k stars 8.15k forks source link

[🐛 Bug]: Selenium grid 4 hub becomes unresponsive to new sessions when Chrome does not start #10471

Closed millerick closed 2 years ago

millerick commented 2 years ago

What happened?

This is an issue that we have seen regularly since we began using Selenium Grid 4 a few months ago, and only recently were able to conjecture as to the cause. We have noticed that when Chrome fails to start on one of the nodes, the hub becomes unresponsive to new requests coming into it. The hub continues to respond to its health checks and serves HTTP requests, but no new sessions begin across any of the nodes. We only see this behavior on our selenium grid that receives very frequent traffic and almost always has one or two sessions running on it.

We have unfortunately not been able to reproduce outside of our Kubernetes cluster. We also have not been able to detect a pattern with when the issue occurs. Sometimes it will happen within hours of the selenium grid being redeployed on the cluster, and sometimes we will go days without running into the issue.

We are also unsure of what more can be done to debug the situation.

How can we reproduce the issue?

These are the environment variables that are supplied to the Chrome node containers:

      SE_EVENT_BUS_HOST:                  se4-hub
      SE_EVENT_BUS_SUBSCRIBE_PORT:        4443
      SE_EVENT_BUS_PUBLISH_PORT:          4442
      SE_NODE_MAX_SESSIONS:               2
      NODE_HEARTBEAT_PERIOD:              30
      NODE_OVERRIDE_MAX_SESSIONS:         true
      NODE_SESSION_TIMEOUT:               180

These are the environment variables supplied to the Hub:

      SESSIONQUEUE_REQUEST_TIMEOUT:         120
      SESSIONQUEUE_SESSION_RETRY_INTERVAL:  5
      LOGGING_LOG_LEVEL:                    INFO
      SERVER_MAX_THREADS:                   64
      DISTRIBUTOR_HEALTHCHECK_INTERVAL:     30

Relevant log output

2022-03-23 01:22:34.388 Starting ChromeDriver 99.0.4844.51 (d537ec02474b5afe23684e7963d538896c63ac77-refs/branch-heads/4844@{#875}) on port 52937
2022-03-23 01:25:52.427 08:25:52.426 WARN [SpanWrappedHttpHandler.execute] - Unable to execute request: java.net.ConnectException: Connection refused: localhost/127.0.0.1:52937
2022-03-23 01:25:52.427 java.io.UncheckedIOException: java.net.ConnectException: Connection refused: localhost/127.0.0.1:52937
2022-03-23 01:25:52.427 Caused by: java.net.ConnectException: Connection refused: localhost/127.0.0.1:52937
2022-03-23 01:25:52.427 Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: localhost/127.0.0.1:52937
2022-03-23 01:25:52.428 08:25:52.427 WARN [SeleniumSpanExporter$1.lambda$export$0] - {"traceId": "30203ffeee13a6b855c708470eac460f","eventTime": 1648023952425653053,"eventName": "exception","attributes": {"exception.message": "Unable to execute request: java.net.ConnectException: Connection refused: localhost\u002f127.0.0.1:52937","exception.stacktrace": "java.io.UncheckedIOException: java.net.ConnectException: Connection refused: localhost\u002f127.0.0.1:52937\n\tat org.openqa.selenium.remote.http.netty.NettyHttpHandler.makeCall(NettyHttpHandler.java:80)\n\tat org.openqa.selenium.remote.http.RetryRequest.lambda$apply$6(RetryRequest.java:80)\n\tat net.jodah.failsafe.Functions.lambda$get$0(Functions.java:48)\n\tat net.jodah.failsafe.RetryPolicyExecutor.lambda$supply$0(RetryPolicyExecutor.java:66)\n\tat net.jodah.failsafe.RetryPolicyExecutor.lambda$supply$0(RetryPolicyExecutor.java:66)\n\tat net.jodah.failsafe.RetryPolicyExecutor.lambda$supply$0(RetryPolicyExecutor.java:66)\n\tat net.jodah.failsafe.Execution.executeSync(Execution.java:128)\n\tat net.jodah.failsafe.FailsafeExecutor.call(FailsafeExecutor.java:379)\n\tat net.jodah.failsafe.FailsafeExecutor.get(FailsafeExecutor.java:68)\n\tat org.openqa.selenium.remote.http.RetryRequest.lambda$apply$7(RetryRequest.java:80)\n\tat org.openqa.selenium.remote.http.AddSeleniumUserAgent.lambda$apply$0(AddSeleniumUserAgent.java:42)\n\tat org.openqa.selenium.remote.http.Filter.lambda$andFinally$1(Filter.java:56)\n\tat org.openqa.selenium.remote.http.netty.NettyHttpHandler.execute(NettyHttpHandler.java:51)\n\tat org.openqa.selenium.remote.http.RetryRequest.lambda$apply$6(RetryRequest.java:80)\n\tat net.jodah.failsafe.Functions.lambda$get$0(Functions.java:48)\n\tat net.jodah.failsafe.RetryPolicyExecutor.lambda$supply$0(RetryPolicyExecutor.java:66)\n\tat net.jodah.failsafe.RetryPolicyExecutor.lambda$supply$0(RetryPolicyExecutor.java:66)\n\tat net.jodah.failsafe.RetryPolicyExecutor.lambda$supply$0(RetryPolicyExecutor.java:66)\n\tat net.jodah.failsafe.Execution.executeSync(Execution.java:128)\n\tat net.jodah.failsafe.FailsafeExecutor.call(FailsafeExecutor.java:379)\n\tat net.jodah.failsafe.FailsafeExecutor.get(FailsafeExecutor.java:68)\n\tat org.openqa.selenium.remote.http.RetryRequest.lambda$apply$7(RetryRequest.java:80)\n\tat org.openqa.selenium.remote.http.AddSeleniumUserAgent.lambda$apply$0(AddSeleniumUserAgent.java:42)\n\tat org.openqa.selenium.remote.http.Filter.lambda$andFinally$1(Filter.java:56)\n\tat org.openqa.selenium.remote.http.netty.NettyClient.execute(NettyClient.java:110)\n\tat org.openqa.selenium.remote.tracing.TracedHttpClient.execute(TracedHttpClient.java:55)\n\tat org.openqa.selenium.grid.web.ReverseProxyHandler.execute(ReverseProxyHandler.java:92)\n\tat org.openqa.selenium.grid.node.ProtocolConvertingSession.execute(ProtocolConvertingSession.java:75)\n\tat org.openqa.selenium.grid.node.local.SessionSlot.execute(SessionSlot.java:123)\n\tat org.openqa.selenium.grid.node.local.LocalNode.executeWebDriverCommand(LocalNode.java:393)\n\tat org.openqa.selenium.grid.node.ForwardWebDriverCommand.execute(ForwardWebDriverCommand.java:35)\n\tat org.openqa.selenium.remote.http.Route$PredicatedRoute.handle(Route.java:373)\n\tat org.openqa.selenium.remote.http.Route.execute(Route.java:68)\n\tat org.openqa.selenium.remote.tracing.SpanWrappedHttpHandler.execute(SpanWrappedHttpHandler.java:86)\n\tat org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)\n\tat org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336)\n\tat org.openqa.selenium.remote.http.Route.execute(Route.java:68)\n\tat org.openqa.selenium.grid.node.Node.execute(Node.java:240)\n\tat org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336)\n\tat org.openqa.selenium.remote.http.Route.execute(Route.java:68)\n\tat org.openqa.selenium.remote.AddWebDriverSpecHeaders.lambda$apply$0(AddWebDriverSpecHeaders.java:35)\n\tat org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44)\n\tat org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)\n\tat org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44)\n\tat org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64)\n\tat org.openqa.selenium.netty.server.SeleniumHandler.lambda$channelRead0$0(SeleniumHandler.java:44)\n\tat java.base\u002fjava.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)\n\tat java.base\u002fjava.util.concurrent.FutureTask.run(FutureTask.java:264)\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)\nCaused by: java.net.ConnectException: Connection refused: localhost\u002f127.0.0.1:52937\n\tat org.asynchttpclient.netty.channel.NettyConnectListener.onFailure(NettyConnectListener.java:179)\n\tat org.asynchttpclient.netty.channel.NettyChannelConnector$1.onFailure(NettyChannelConnector.java:108)\n\tat org.asynchttpclient.netty.SimpleChannelFutureListener.operationComplete(SimpleChannelFutureListener.java:28)\n\tat org.asynchttpclient.netty.SimpleChannelFutureListener.operationComplete(SimpleChannelFutureListener.java:20)\n\tat io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:578)\n\tat io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:571)\n\tat io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:550)\n\tat io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:491)\n\tat io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:616)\n\tat io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:609)\n\tat io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:117)\n\tat io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.fulfillConnectPromise(AbstractNioChannel.java:321)\n\tat io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:337)\n\tat io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:710)\n\tat io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:658)\n\tat io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:584)\n\tat io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:496)\n\tat io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)\n\tat io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)\n\tat io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)\n\t... 1 more\nCaused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: localhost\u002f127.0.0.1:52937\nCaused by: java.net.ConnectException: Connection refused\n\tat java.base\u002fsun.nio.ch.SocketChannelImpl.checkConnect(Native Method)\n\tat java.base\u002fsun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:777)\n\tat io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:330)\n\tat io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334)\n\tat io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:710)\n\tat io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:658)\n\tat io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:584)\n\tat io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:496)\n\tat io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)\n\tat io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)\n\tat io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)\n\tat java.base\u002fjava.lang.Thread.run(Thread.java:829)\n","exception.type": "java.io.UncheckedIOException","http.flavor": 1,"http.handler_class": "org.openqa.selenium.remote.http.Route$PredicatedRoute","http.host": "se4-hub.k8s.tools.blend.com:4444","http.method": "POST","http.request_content_length": "120","http.scheme": "HTTP","http.target": "\u002fsession\u002f1fc868cc66914a5c0728bc6575e959e9\u002factions","http.user_agent": "webdriver\u002f7.7.4"}}

Operating System

Selenium Grid 4.1.12

Selenium version

Selenium Grid 4.1.12

What are the browser(s) and version(s) where you see this issue?

Chrome

What are the browser driver(s) and version(s) where you see this issue?

ChromeDriver 99.0.4844.51

Are you using Selenium Grid?

4.1.2

diemol commented 2 years ago

Really hard to know what is going on with the information provided. A wild guess might be that Chrome crashes and the mechanism in 4.1.2 for connection retries kicks in and stays there for an extended time until it realizes it cannot connect.

We have changed the default and this retry mechanism is avoided now, and will be part of 4.1.3. So I can leave this issue open and wait until 4.1.3 so you can try again.

millerick commented 2 years ago

Really hard to know what is going on with the information provided.

I agree. In part, I was hoping to get some tips on further things that could be done to debug the situation. I also agree with your guess that Chrome is crashing.

My attempts to put together a minimal reproduction have not been successful. I am able to put together a grid locally with docker-compose and see the same Connection refused errors, but they

  1. are not as delayed as they are when running on our Kubernetes cluster. On our Kubernetes cluster, there is always 110ish seconds between the log for Chrome starting and when the Connection refused happens.
  2. do not cause the hub to become unresponsive to new sessions

Looking forward to 4.1.3. We'll upgrade to it when it is available.

millerick commented 2 years ago

I notice that the hub api stops responding to my requests when I call the graphql endpoint to get status details. 4.1.3 did not fix the issue for me.

This is exactly the same as we are experiencing. In the mean time, we have added a liveness probe against graphql so that the hub container is rotated out by Kubernetes whenever this is experienced.

diemol commented 2 years ago

4.1.3 was released a couple of days ago. Did you see anything different?

enivid commented 2 years ago

I notice that the hub api stops responding to my requests when I call the graphql endpoint to get status details. 4.1.3 did not fix the issue for me.

This is exactly the same as we are experiencing. In the mean time, we have added a liveness probe against graphql so that the hub container is rotated out by Kubernetes whenever this is experienced.

I moved my response to https://github.com/SeleniumHQ/selenium/issues/10404. Might all be the same issue.

diemol commented 2 years ago

Most likely this was resolved in 4.1.3 or in 4.1.4, please comment if the issue is still happening.

michaele-blend commented 2 years ago

Hello @diemol,

we did run an upgrade almost one month ago, after you recommended to do so. at the same time, we switched our container's liveness probe from GET /status to a graphql-based check, seen here:

#!/bin/bash

set -e

curl \
    --connect-timeout 5 \
    --max-time 10 \
    -sSf \
    -d '{"operationName":"GetNodes","vriables":{},"query":"{__typename}"}' \
    'http://localhost:4444/graphql'

this seems to have been a successful mitigation; our containers now just rotate out when this fails.


we reenabled the previous /status endpoint liveness probe and redeployed 4.1.4 at 9a this morning. by 12:30p, the grid was in its characteristic failing state once again. (both times pacific).

I managed to grab a heapdump. it is 78MB large. it seems there is a file size limit of 25MB for this file: https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/attaching-files if you would like a copy, how do you recommend I send this to you?

thank you, -Michael Evans

diemol commented 2 years ago

I am confused, is this the same issue? For liveness, we do recommend to use the /readyz endpoint.

michaele-blend commented 2 years ago

is this the same issue?

my apologies, I should have led with the fact that @millerick and I are operating the same grid(s). by the "same failure mode", I mean

... the hub becomes unresponsive to new [session] requests coming into it. The hub continues to respond to its health checks and serves HTTP requests, but no new sessions begin across any of the nodes

these portions of the thread opener. to clarify:

serves HTTP requests

the hub serves the /status endpoint, and it serves all of the static frontend assets. but it serves neither session requests nor graphql queries. (the session requests are coming from a webdriverio v7 nodejs client). (the frontend still loads, but then spins because no data is returned).

we do see that the hub will accept tcp connections for all of these http connections, but it never responds with an HTTP response. the hub does not close connections outright. there are no corresponding logs for these incoming requests either. the hub goes strangely quiet during while in this state. I was unable to ascertain useful information with a log level of FINEST. I also setup a jaeger instance to receive traces, and observed the same lack of useful information.


some information about our setup:

we have two grid deployments ("sandbox" and "tools") across two different kubernetes clusters, one per aws account. (they do not share any infrastructural resources whatsoever, and the consumers of these grid deployments are likewise separated). there is a difference in the number of network hops for consumers in on sandbox and tools, but we have seen this failure mode in both deployments. the distribution of browser sessions we serve is more peaky in sandbox than in tools. we serve most of our browser sessions in tools. we see this issue more often in tools than in sandbox. in sandbox, the deployment consists of 1 hub pod and 8 chrome node pods. (no autoscaling) in tools, the deployment consists of 1 hub pod and 6 chrome node pods. (no autoscaling) our chrome nodes are sized to serve 2 chrome browser sessions each. our images are based on https://github.com/SeleniumHQ/docker-selenium the hub is build from selenium/hub:4.1, with some extra scripts to setup jaeger tracing. the chrome nodes are built from selenium/node-chrome:4.1, with scripts to setup jaeger tracing, manage kube graceful termination, tmpwatch to cleanup orphaned browser session files. (our pods' filesystems are memory-mapped, so orphaned browser session files eat into our memory allotment).


For liveness, we do recommend to use the /readyz endpoint.

thank you. I was unaware of this endpoint. we have been using /status for all of our probes (save for the graphql hack we put in last month). I will make this adjustment, and use /readyz for all of our probes. I don't know what /readyz returns when the hub is in its failing state. currently, it returns Router is true for the hub.

I will report back if I observe the same failing behavior. in two weeks, if I don't see the hub become unresponsive during this time, I will report back as well. I will take another heap snapshot if I see the hub become unresponsive.

in the meantime, I would be happy to provide any extra information about our setup that you require. if you have anything you would like me to inspect about the grid, I would be happy to do so.

in the event the grid ceases to serve sessions, do you have any recommendations for what I should do to gather information that will best aid your investigation?

thank you, -Michael Evans

michaele-blend commented 2 years ago

Hello @diemol,

our grid once again got itself into an unresponsive state. the /readyz endpoint during this time showed Router is true, no change from when the hub is operating normally.

I managed to grab a heap dump once again. it is still quite large. but I did install a heap dump viewer, VisualVM and am at least able to take a look around its contents. nothing particularly stands out about the objects in memory. something does stand out on the threads page, though.

here are the threads from the hub in a good state, a few minutes after we restarted it:

[expand] ``` "Reference Handler" daemon prio=10 tid=2 RUNNABLE at java.lang.ref.Reference.waitForReferencePendingList(Native Method) at java.lang.ref.Reference.processPendingReferences(Reference.java:241) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:213) local variable: java.lang.ref.Reference$ReferenceHandler#1 "Finalizer" daemon prio=8 tid=3 WAITING at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155) local variable: java.lang.ref.ReferenceQueue#1 local variable: java.lang.ref.ReferenceQueue$Lock#1 at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:176) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:170) local variable: java.lang.ref.Finalizer$FinalizerThread#1 local variable: java.lang.System$2#1 "Signal Dispatcher" daemon prio=9 tid=4 RUNNABLE "Common-Cleaner" daemon prio=8 tid=9 TIMED_WAITING at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155) local variable: java.lang.ref.ReferenceQueue#2 local variable: java.lang.ref.ReferenceQueue$Lock#2 at jdk.internal.ref.CleanerImpl.run(CleanerImpl.java:148) local variable: jdk.internal.ref.CleanerImpl#1 local variable: jdk.internal.misc.InnocuousThread#1 local variable: jdk.internal.misc.InnocuousThread#1 at java.lang.Thread.run(Thread.java:829) local variable: jdk.internal.misc.InnocuousThread#1 at jdk.internal.misc.InnocuousThread.run(InnocuousThread.java:161) local variable: jdk.internal.misc.InnocuousThread#1 "ForkJoinPool.commonPool-worker-3" daemon prio=5 tid=12 WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194) local variable: java.util.concurrent.ForkJoinWorkerThread#1 at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1628) local variable: java.util.concurrent.ForkJoinPool#1 local variable: java.util.concurrent.ForkJoinPool$WorkQueue#1 at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183) local variable: java.util.concurrent.ForkJoinWorkerThread#1 "BatchSpanProcessor_WorkerThread-1" daemon prio=5 tid=13 TIMED_WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) local variable: java.lang.Thread#8 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2123) local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject#6 local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$Node#85 at java.util.concurrent.ArrayBlockingQueue.poll(ArrayBlockingQueue.java:432) local variable: java.util.concurrent.ArrayBlockingQueue#1 local variable: java.util.concurrent.TimeUnit#1 local variable: java.util.concurrent.locks.ReentrantLock#168 at io.opentelemetry.sdk.trace.export.BatchSpanProcessor$Worker.run(BatchSpanProcessor.java:246) local variable: io.opentelemetry.sdk.trace.export.BatchSpanProcessor$Worker#1 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#8 "reaper-1" daemon prio=5 tid=15 RUNNABLE at sun.nio.ch.EPoll.wait(Native Method) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120) local variable: sun.nio.ch.EPollSelectorImpl#1 at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124) local variable: sun.nio.ch.EPollSelectorImpl#1 local variable: sun.nio.ch.EPollSelectorImpl#1 local variable: sun.nio.ch.Util$2#1 at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:136) local variable: sun.nio.ch.EPollSelectorImpl#1 at zmq.poll.Poller.run(Poller.java:234) local variable: zmq.poll.Poller#1 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#9 "iothread-2" daemon prio=5 tid=16 RUNNABLE at sun.nio.ch.EPoll.wait(Native Method) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120) local variable: sun.nio.ch.EPollSelectorImpl#2 at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124) local variable: sun.nio.ch.EPollSelectorImpl#2 local variable: sun.nio.ch.EPollSelectorImpl#2 local variable: sun.nio.ch.Util$2#2 at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:136) at zmq.poll.Poller.run(Poller.java:234) local variable: zmq.poll.Poller#2 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#10 "Message Bus Proxy" daemon prio=5 tid=17 RUNNABLE at sun.nio.ch.EPoll.wait(Native Method) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120) local variable: sun.nio.ch.EPollSelectorImpl#10 at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124) local variable: sun.nio.ch.EPollSelectorImpl#10 local variable: sun.nio.ch.EPollSelectorImpl#10 local variable: sun.nio.ch.Util$2#10 at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:136) at zmq.ZMQ.poll(ZMQ.java:712) local variable: sun.nio.ch.EPollSelectorImpl#10 at zmq.ZMQ.poll(ZMQ.java:620) at zmq.Proxy.start(Proxy.java:64) local variable: zmq.Proxy#1 local variable: zmq.socket.pubsub.XSub#1 local variable: zmq.socket.pubsub.XPub#1 local variable: zmq.poll.PollItem[]#99 local variable: zmq.poll.PollItem[]#100 local variable: sun.nio.ch.EPollSelectorImpl#10 at zmq.Proxy.proxy(Proxy.java:17) local variable: zmq.socket.pubsub.XSub#1 local variable: zmq.socket.pubsub.XPub#1 at zmq.ZMQ.proxy(ZMQ.java:788) local variable: zmq.socket.pubsub.XSub#1 local variable: zmq.socket.pubsub.XPub#1 at org.zeromq.ZMQ.proxy(ZMQ.java:336) local variable: org.zeromq.ZMQ$Socket#1 local variable: org.zeromq.ZMQ$Socket#2 at org.openqa.selenium.events.zeromq.BoundZmqEventBus.lambda$new$1(BoundZmqEventBus.java:68) local variable: org.openqa.selenium.events.zeromq.BoundZmqEventBus#1 at org.openqa.selenium.events.zeromq.BoundZmqEventBus$$Lambda$205.call() local variable: org.openqa.selenium.events.zeromq.BoundZmqEventBus$$Lambda$205#1 at java.util.concurrent.FutureTask.run(FutureTask.java:264) local variable: java.util.concurrent.FutureTask#122 local variable: org.openqa.selenium.events.zeromq.BoundZmqEventBus$$Lambda$205#1 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) local variable: java.util.concurrent.ThreadPoolExecutor#2 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#2 local variable: java.lang.Thread#12 local variable: java.util.concurrent.FutureTask#122 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#2 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#12 "Event Bus Poller" daemon prio=5 tid=18 RUNNABLE at sun.nio.ch.EPoll.wait(Native Method) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120) local variable: sun.nio.ch.EPollSelectorImpl#11 at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124) local variable: sun.nio.ch.EPollSelectorImpl#11 local variable: sun.nio.ch.EPollSelectorImpl#11 local variable: sun.nio.ch.Util$2#11 at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:136) at zmq.ZMQ.poll(ZMQ.java:718) local variable: sun.nio.ch.EPollSelectorImpl#11 at org.zeromq.ZMQ$Poller.poll(ZMQ.java:3892) local variable: org.zeromq.ZMQ$Poller#1 at org.openqa.selenium.events.zeromq.UnboundZmqEventBus$PollingRunnable.run(UnboundZmqEventBus.java:223) local variable: org.openqa.selenium.events.zeromq.UnboundZmqEventBus$PollingRunnable#1 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) local variable: java.util.concurrent.Executors$RunnableAdapter#122 at java.util.concurrent.FutureTask.run(FutureTask.java:264) local variable: java.util.concurrent.FutureTask#123 local variable: java.util.concurrent.Executors$RunnableAdapter#122 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) local variable: java.util.concurrent.ThreadPoolExecutor#3 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#3 local variable: java.lang.Thread#13 local variable: java.util.concurrent.FutureTask#123 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#3 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#13 "Local New Session Queue" daemon prio=5 tid=19 TIMED_WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) local variable: java.lang.Thread#14 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2123) local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject#20 local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$Node#21 at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1182) local variable: java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue#1 local variable: java.util.concurrent.locks.ReentrantLock#220 local variable: java.lang.Thread#14 at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:899) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) local variable: java.util.concurrent.ScheduledThreadPoolExecutor#1 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ScheduledThreadPoolExecutor#1 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#4 local variable: java.lang.Thread#14 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#4 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#14 "Local Distributor - Purge Dead Nodes" daemon prio=5 tid=20 TIMED_WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) local variable: java.lang.Thread#15 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2123) local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject#21 local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$Node#88 at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1182) local variable: java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue#2 local variable: java.util.concurrent.locks.ReentrantLock#221 local variable: java.lang.Thread#15 at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:899) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) local variable: java.util.concurrent.ScheduledThreadPoolExecutor#2 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ScheduledThreadPoolExecutor#2 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#5 local variable: java.lang.Thread#15 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#5 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#15 "Local Distributor - Node Health Check" daemon prio=5 tid=21 TIMED_WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) local variable: java.lang.Thread#16 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2123) local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject#22 local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$Node#89 at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1182) local variable: java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue#3 local variable: java.util.concurrent.locks.ReentrantLock#222 local variable: java.lang.Thread#16 at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:899) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) local variable: java.util.concurrent.ScheduledThreadPoolExecutor#3 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ScheduledThreadPoolExecutor#3 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#6 local variable: java.lang.Thread#16 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#6 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#16 "Local Distributor - New Session Queue" daemon prio=5 tid=22 TIMED_WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) local variable: java.lang.Thread#17 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2123) local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject#23 local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$Node#86 at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1182) local variable: java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue#4 local variable: java.util.concurrent.locks.ReentrantLock#223 local variable: java.lang.Thread#17 at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:899) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) local variable: java.util.concurrent.ScheduledThreadPoolExecutor#4 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ScheduledThreadPoolExecutor#4 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#7 local variable: java.lang.Thread#17 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#7 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#17 "HandleSession - Clean up http clients cache" daemon prio=5 tid=23 TIMED_WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) local variable: java.lang.Thread#18 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2123) local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject#31 local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$Node#520 at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1182) local variable: java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue#5 local variable: java.util.concurrent.locks.ReentrantLock#231 local variable: java.lang.Thread#18 at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:899) local variable: java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue#5 at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) local variable: java.util.concurrent.ScheduledThreadPoolExecutor#5 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ScheduledThreadPoolExecutor#5 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#8 local variable: java.lang.Thread#18 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#8 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#18 "nioEventLoopGroup-3-1" prio=10 tid=24 RUNNABLE at sun.nio.ch.EPoll.wait(Native Method) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120) local variable: sun.nio.ch.EPollSelectorImpl#12 at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124) local variable: sun.nio.ch.EPollSelectorImpl#12 local variable: sun.nio.ch.EPollSelectorImpl#12 local variable: io.netty.channel.nio.SelectedSelectionKeySet#1 at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:141) at io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68) at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:813) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460) local variable: io.netty.channel.nio.NioEventLoop#1 at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) local variable: io.netty.util.concurrent.SingleThreadEventExecutor$4#1 at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) local variable: io.netty.util.internal.ThreadExecutorMap$2#1 at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) local variable: io.netty.util.concurrent.FastThreadLocalRunnable#1 at java.lang.Thread.run(Thread.java:829) local variable: io.netty.util.concurrent.FastThreadLocalThread#1 "DestroyJavaVM" prio=5 tid=25 RUNNABLE "nioEventLoopGroup-4-1" prio=10 tid=26 RUNNABLE at sun.nio.ch.EPoll.wait(Native Method) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120) local variable: sun.nio.ch.EPollSelectorImpl#13 at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124) local variable: sun.nio.ch.EPollSelectorImpl#13 local variable: sun.nio.ch.EPollSelectorImpl#13 local variable: io.netty.channel.nio.SelectedSelectionKeySet#2 at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:141) at io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68) at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:813) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460) local variable: io.netty.channel.nio.NioEventLoop#2 at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) local variable: io.netty.util.concurrent.SingleThreadEventExecutor$4#2 at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) local variable: io.netty.util.internal.ThreadExecutorMap$2#2 at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) local variable: io.netty.util.concurrent.FastThreadLocalRunnable#2 at java.lang.Thread.run(Thread.java:829) local variable: io.netty.util.concurrent.FastThreadLocalThread#2 "pool-3-thread-1" prio=5 tid=28 WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194) local variable: java.lang.Thread#21 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081) local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject#38 local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$Node#16 at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433) local variable: java.util.concurrent.LinkedBlockingQueue#9 local variable: java.util.concurrent.atomic.AtomicInteger#86 local variable: java.util.concurrent.locks.ReentrantLock#239 at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) local variable: java.util.concurrent.ThreadPoolExecutor#8 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ThreadPoolExecutor#8 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#10 local variable: java.lang.Thread#21 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#10 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#21 "pool-4-thread-1" prio=5 tid=29 WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194) local variable: java.lang.Thread#22 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081) local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject#33 local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$Node#82 at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433) local variable: java.util.concurrent.LinkedBlockingQueue#8 local variable: java.util.concurrent.atomic.AtomicInteger#81 local variable: java.util.concurrent.locks.ReentrantLock#234 at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) local variable: java.util.concurrent.ThreadPoolExecutor#9 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ThreadPoolExecutor#9 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#11 local variable: java.lang.Thread#22 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#11 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#22 "nioEventLoopGroup-4-2" prio=10 tid=30 RUNNABLE at sun.nio.ch.EPoll.wait(Native Method) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120) local variable: sun.nio.ch.EPollSelectorImpl#14 at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124) local variable: sun.nio.ch.EPollSelectorImpl#14 local variable: sun.nio.ch.EPollSelectorImpl#14 local variable: io.netty.channel.nio.SelectedSelectionKeySet#3 at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:141) at io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68) at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:813) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460) local variable: io.netty.channel.nio.NioEventLoop#3 at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) local variable: io.netty.util.concurrent.SingleThreadEventExecutor$4#3 at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) local variable: io.netty.util.internal.ThreadExecutorMap$2#3 at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) local variable: io.netty.util.concurrent.FastThreadLocalRunnable#3 at java.lang.Thread.run(Thread.java:829) local variable: io.netty.util.concurrent.FastThreadLocalThread#3 "nioEventLoopGroup-4-3" prio=10 tid=31 RUNNABLE at sun.nio.ch.EPoll.wait(Native Method) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120) local variable: sun.nio.ch.EPollSelectorImpl#15 at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124) local variable: sun.nio.ch.EPollSelectorImpl#15 local variable: sun.nio.ch.EPollSelectorImpl#15 local variable: io.netty.channel.nio.SelectedSelectionKeySet#4 at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:141) at io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68) at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:813) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460) local variable: io.netty.channel.nio.NioEventLoop#4 at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) local variable: io.netty.util.concurrent.SingleThreadEventExecutor$4#4 at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) local variable: io.netty.util.internal.ThreadExecutorMap$2#4 at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) local variable: io.netty.util.concurrent.FastThreadLocalRunnable#4 at java.lang.Thread.run(Thread.java:829) local variable: io.netty.util.concurrent.FastThreadLocalThread#4 "nioEventLoopGroup-4-4" prio=10 tid=32 RUNNABLE at sun.nio.ch.EPoll.wait(Native Method) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120) local variable: sun.nio.ch.EPollSelectorImpl#16 at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124) local variable: sun.nio.ch.EPollSelectorImpl#16 local variable: sun.nio.ch.EPollSelectorImpl#16 local variable: io.netty.channel.nio.SelectedSelectionKeySet#5 at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:141) at io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68) at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:813) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460) local variable: io.netty.channel.nio.NioEventLoop#5 at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) local variable: io.netty.util.concurrent.SingleThreadEventExecutor$4#5 at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) local variable: io.netty.util.internal.ThreadExecutorMap$2#5 at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) local variable: io.netty.util.concurrent.FastThreadLocalRunnable#5 at java.lang.Thread.run(Thread.java:829) local variable: io.netty.util.concurrent.FastThreadLocalThread#5 "Event Bus Publisher" daemon prio=5 tid=33 WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194) local variable: java.lang.Thread#23 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081) local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject#7 local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$Node#471 at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433) local variable: java.util.concurrent.LinkedBlockingQueue#6 local variable: java.util.concurrent.atomic.AtomicInteger#24 local variable: java.util.concurrent.locks.ReentrantLock#169 at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) local variable: java.util.concurrent.ThreadPoolExecutor#5 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ThreadPoolExecutor#5 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#12 local variable: java.lang.Thread#23 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#12 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#23 "grpc-default-worker-ELG-1-1" daemon prio=5 tid=37 RUNNABLE at io.netty.channel.epoll.Native.epollWait0(Native Method) at io.netty.channel.epoll.Native.epollWait(Native.java:182) local variable: io.netty.channel.unix.FileDescriptor#1 local variable: io.netty.channel.epoll.EpollEventArray#1 local variable: io.netty.channel.unix.FileDescriptor#3 at io.netty.channel.epoll.EpollEventLoop.epollWait(EpollEventLoop.java:290) local variable: io.netty.channel.epoll.EpollEventLoop#1 at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:354) local variable: io.netty.channel.epoll.EpollEventLoop#1 at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) local variable: io.netty.util.concurrent.SingleThreadEventExecutor$4#6 at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) local variable: io.netty.util.internal.ThreadExecutorMap$2#6 at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) local variable: io.netty.util.concurrent.FastThreadLocalRunnable#6 at java.lang.Thread.run(Thread.java:829) local variable: io.netty.util.concurrent.FastThreadLocalThread#6 "grpc-default-executor-0" daemon prio=5 tid=38 TIMED_WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) local variable: java.lang.Thread#27 at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:462) local variable: java.util.concurrent.SynchronousQueue$TransferStack#1 local variable: java.util.concurrent.SynchronousQueue$TransferStack$SNode#12 local variable: java.lang.Thread#27 at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:361) local variable: java.util.concurrent.SynchronousQueue$TransferStack#1 local variable: java.util.concurrent.SynchronousQueue$TransferStack$SNode#12 at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1053) local variable: java.util.concurrent.ThreadPoolExecutor#1 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ThreadPoolExecutor#1 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#16 local variable: java.lang.Thread#27 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#16 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#27 "grpc-default-worker-ELG-1-2" daemon prio=5 tid=39 RUNNABLE at io.netty.channel.epoll.Native.epollWait(Native Method) at io.netty.channel.epoll.Native.epollWait(Native.java:209) at io.netty.channel.epoll.Native.epollWait(Native.java:202) at io.netty.channel.epoll.EpollEventLoop.epollWaitNoTimerChange(EpollEventLoop.java:294) at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:351) local variable: io.netty.channel.epoll.EpollEventLoop#2 at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) local variable: io.netty.util.concurrent.SingleThreadEventExecutor$4#7 at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) local variable: io.netty.util.internal.ThreadExecutorMap$2#7 at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) local variable: io.netty.util.concurrent.FastThreadLocalRunnable#7 at java.lang.Thread.run(Thread.java:829) local variable: io.netty.util.concurrent.FastThreadLocalThread#7 "Event Bus Listener Notifier" daemon prio=5 tid=42 WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194) local variable: java.lang.Thread#30 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081) local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject#18 local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$Node#62 at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433) local variable: java.util.concurrent.LinkedBlockingQueue#5 local variable: java.util.concurrent.atomic.AtomicInteger#48 local variable: java.util.concurrent.locks.ReentrantLock#218 at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) local variable: java.util.concurrent.ThreadPoolExecutor#4 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ThreadPoolExecutor#4 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#19 local variable: java.lang.Thread#30 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#19 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#30 "AsyncHttpClient-5-1" daemon prio=5 tid=43 TIMED_WAITING at java.lang.Thread.sleep(Native Method) at io.netty.util.HashedWheelTimer$Worker.waitForNextTick(HashedWheelTimer.java:600) local variable: io.netty.util.HashedWheelTimer$Worker#1 at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:496) local variable: io.netty.util.HashedWheelTimer$Worker#1 at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) local variable: io.netty.util.concurrent.FastThreadLocalRunnable#8 at java.lang.Thread.run(Thread.java:829) local variable: io.netty.util.concurrent.FastThreadLocalThread#8 "AsyncHttpClient-5-2" daemon prio=5 tid=45 RUNNABLE at sun.nio.ch.EPoll.wait(Native Method) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120) local variable: sun.nio.ch.EPollSelectorImpl#17 at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124) local variable: sun.nio.ch.EPollSelectorImpl#17 local variable: sun.nio.ch.EPollSelectorImpl#17 local variable: io.netty.channel.nio.SelectedSelectionKeySet#6 at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:141) at io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68) at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:813) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460) local variable: io.netty.channel.nio.NioEventLoop#6 at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) local variable: io.netty.util.concurrent.SingleThreadEventExecutor$4#8 at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) local variable: io.netty.util.internal.ThreadExecutorMap$2#8 at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) local variable: io.netty.util.concurrent.FastThreadLocalRunnable#10 at java.lang.Thread.run(Thread.java:829) local variable: io.netty.util.concurrent.FastThreadLocalThread#10 "Event Bus Listener Notifier" daemon prio=5 tid=46 WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194) local variable: java.lang.Thread#31 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081) local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject#18 local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$Node#63 at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433) local variable: java.util.concurrent.LinkedBlockingQueue#5 local variable: java.util.concurrent.atomic.AtomicInteger#48 local variable: java.util.concurrent.locks.ReentrantLock#218 at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) local variable: java.util.concurrent.ThreadPoolExecutor#4 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ThreadPoolExecutor#4 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#20 local variable: java.lang.Thread#31 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#20 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#31 "AsyncHttpClient-5-3" daemon prio=5 tid=47 RUNNABLE at sun.nio.ch.EPoll.wait(Native Method) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120) local variable: sun.nio.ch.EPollSelectorImpl#18 at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124) local variable: sun.nio.ch.EPollSelectorImpl#18 local variable: sun.nio.ch.EPollSelectorImpl#18 local variable: io.netty.channel.nio.SelectedSelectionKeySet#7 at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:141) at io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68) at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:813) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460) local variable: io.netty.channel.nio.NioEventLoop#7 at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) local variable: io.netty.util.concurrent.SingleThreadEventExecutor$4#9 at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) local variable: io.netty.util.internal.ThreadExecutorMap$2#9 at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) local variable: io.netty.util.concurrent.FastThreadLocalRunnable#11 at java.lang.Thread.run(Thread.java:829) local variable: io.netty.util.concurrent.FastThreadLocalThread#11 "Local Distributor - Session Creation" daemon prio=5 tid=49 WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194) local variable: java.lang.Thread#33 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081) local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject#29 local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$Node#476 at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433) local variable: java.util.concurrent.LinkedBlockingQueue#7 local variable: java.util.concurrent.atomic.AtomicInteger#54 local variable: java.util.concurrent.locks.ReentrantLock#229 at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) local variable: java.util.concurrent.ThreadPoolExecutor#6 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ThreadPoolExecutor#6 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#22 local variable: java.lang.Thread#33 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#22 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#33 "Local Distributor - Session Creation" daemon prio=5 tid=50 WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194) local variable: java.lang.Thread#34 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081) local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject#29 local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$Node#477 at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433) local variable: java.util.concurrent.LinkedBlockingQueue#7 local variable: java.util.concurrent.atomic.AtomicInteger#54 local variable: java.util.concurrent.locks.ReentrantLock#229 at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) local variable: java.util.concurrent.ThreadPoolExecutor#6 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ThreadPoolExecutor#6 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#23 local variable: java.lang.Thread#34 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#23 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#34 "AsyncHttpClient-5-4" daemon prio=5 tid=51 RUNNABLE at sun.nio.ch.EPoll.wait(Native Method) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120) local variable: sun.nio.ch.EPollSelectorImpl#19 at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124) local variable: sun.nio.ch.EPollSelectorImpl#19 local variable: sun.nio.ch.EPollSelectorImpl#19 local variable: io.netty.channel.nio.SelectedSelectionKeySet#8 at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:141) at io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68) at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:813) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460) local variable: io.netty.channel.nio.NioEventLoop#8 at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) local variable: io.netty.util.concurrent.SingleThreadEventExecutor$4#10 at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) local variable: io.netty.util.internal.ThreadExecutorMap$2#10 at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) local variable: io.netty.util.concurrent.FastThreadLocalRunnable#12 at java.lang.Thread.run(Thread.java:829) local variable: io.netty.util.concurrent.FastThreadLocalThread#12 "AsyncHttpClient-5-5" daemon prio=5 tid=53 RUNNABLE at sun.nio.ch.EPoll.wait(Native Method) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120) local variable: sun.nio.ch.EPollSelectorImpl#20 at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124) local variable: sun.nio.ch.EPollSelectorImpl#20 local variable: sun.nio.ch.EPollSelectorImpl#20 local variable: io.netty.channel.nio.SelectedSelectionKeySet#9 at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:141) at io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68) at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:813) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460) local variable: io.netty.channel.nio.NioEventLoop#9 at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) local variable: io.netty.util.concurrent.SingleThreadEventExecutor$4#11 at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) local variable: io.netty.util.internal.ThreadExecutorMap$2#11 at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) local variable: io.netty.util.concurrent.FastThreadLocalRunnable#13 at java.lang.Thread.run(Thread.java:829) local variable: io.netty.util.concurrent.FastThreadLocalThread#13 "pool-5-thread-9" prio=5 tid=57 TIMED_WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) local variable: java.lang.Thread#39 at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:462) local variable: java.util.concurrent.SynchronousQueue$TransferStack#2 local variable: java.util.concurrent.SynchronousQueue$TransferStack$SNode#43 local variable: java.lang.Thread#39 at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:361) local variable: java.util.concurrent.SynchronousQueue$TransferStack#2 local variable: java.util.concurrent.SynchronousQueue$TransferStack$SNode#43 at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1053) local variable: java.util.concurrent.ThreadPoolExecutor#7 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ThreadPoolExecutor#7 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#28 local variable: java.lang.Thread#39 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#28 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#39 "pool-5-thread-10" prio=5 tid=58 TIMED_WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) local variable: java.lang.Thread#40 at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:462) local variable: java.util.concurrent.SynchronousQueue$TransferStack#2 local variable: java.util.concurrent.SynchronousQueue$TransferStack$SNode#162 local variable: java.lang.Thread#40 at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:361) local variable: java.util.concurrent.SynchronousQueue$TransferStack#2 local variable: java.util.concurrent.SynchronousQueue$TransferStack$SNode#162 at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1053) local variable: java.util.concurrent.ThreadPoolExecutor#7 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ThreadPoolExecutor#7 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#29 local variable: java.lang.Thread#40 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#29 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#40 "Grid status executor" daemon prio=5 tid=60 TIMED_WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) local variable: java.lang.Thread#1 at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:462) local variable: java.util.concurrent.SynchronousQueue$TransferStack#3 local variable: java.util.concurrent.SynchronousQueue$TransferStack$SNode#40 local variable: java.lang.Thread#1 at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:361) local variable: java.util.concurrent.SynchronousQueue$TransferStack#3 local variable: java.util.concurrent.SynchronousQueue$TransferStack$SNode#40 at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1053) local variable: java.util.concurrent.ThreadPoolExecutor#10 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ThreadPoolExecutor#10 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#1 local variable: java.lang.Thread#1 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#1 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#1 "Attach Listener" daemon prio=9 tid=61 RUNNABLE ```

here are the threads from the hub while in a bad state:

[expand] ``` "Reference Handler" daemon prio=10 tid=2 RUNNABLE at java.lang.ref.Reference.waitForReferencePendingList(Native Method) at java.lang.ref.Reference.processPendingReferences(Reference.java:241) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:213) "Finalizer" daemon prio=8 tid=3 WAITING at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155) local variable: java.lang.ref.ReferenceQueue#1 local variable: java.lang.ref.ReferenceQueue$Lock#1 at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:176) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:170) local variable: java.lang.System$2#1 "Signal Dispatcher" daemon prio=9 tid=4 RUNNABLE "Common-Cleaner" daemon prio=8 tid=9 TIMED_WAITING at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155) local variable: java.lang.ref.ReferenceQueue#2 local variable: java.lang.ref.ReferenceQueue$Lock#2 at jdk.internal.ref.CleanerImpl.run(CleanerImpl.java:148) local variable: jdk.internal.ref.CleanerImpl#1 local variable: jdk.internal.misc.InnocuousThread#1 local variable: jdk.internal.misc.InnocuousThread#1 at java.lang.Thread.run(Thread.java:829) local variable: jdk.internal.misc.InnocuousThread#1 at jdk.internal.misc.InnocuousThread.run(InnocuousThread.java:161) local variable: jdk.internal.misc.InnocuousThread#1 "ForkJoinPool.commonPool-worker-3" daemon prio=5 tid=12 WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194) local variable: java.util.concurrent.ForkJoinWorkerThread#1 at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1628) local variable: java.util.concurrent.ForkJoinPool#1 local variable: java.util.concurrent.ForkJoinPool$WorkQueue#1 at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183) local variable: java.util.concurrent.ForkJoinWorkerThread#1 "BatchSpanProcessor_WorkerThread-1" daemon prio=5 tid=13 TIMED_WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) local variable: java.lang.Thread#14 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2123) local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject#5 local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$Node#299 at java.util.concurrent.ArrayBlockingQueue.poll(ArrayBlockingQueue.java:432) local variable: java.util.concurrent.ArrayBlockingQueue#1 local variable: java.util.concurrent.locks.ReentrantLock#649 at io.opentelemetry.sdk.trace.export.BatchSpanProcessor$Worker.run(BatchSpanProcessor.java:246) local variable: io.opentelemetry.sdk.trace.export.BatchSpanProcessor$Worker#1 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#14 "reaper-1" daemon prio=5 tid=15 RUNNABLE at sun.nio.ch.EPoll.wait(Native Method) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120) local variable: sun.nio.ch.EPollSelectorImpl#1 at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124) local variable: sun.nio.ch.EPollSelectorImpl#1 local variable: sun.nio.ch.EPollSelectorImpl#1 local variable: sun.nio.ch.Util$2#1 at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:136) local variable: sun.nio.ch.EPollSelectorImpl#1 at zmq.poll.Poller.run(Poller.java:234) local variable: zmq.poll.Poller#1 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#16 "iothread-2" daemon prio=5 tid=16 RUNNABLE at sun.nio.ch.EPoll.wait(Native Method) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120) local variable: sun.nio.ch.EPollSelectorImpl#2 at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124) local variable: sun.nio.ch.EPollSelectorImpl#2 local variable: sun.nio.ch.EPollSelectorImpl#2 local variable: sun.nio.ch.Util$2#2 at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:136) at zmq.poll.Poller.run(Poller.java:234) local variable: zmq.poll.Poller#2 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#17 "Message Bus Proxy" daemon prio=5 tid=17 RUNNABLE at sun.nio.ch.EPoll.wait(Native Method) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120) local variable: sun.nio.ch.EPollSelectorImpl#3 at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124) local variable: sun.nio.ch.EPollSelectorImpl#3 local variable: sun.nio.ch.EPollSelectorImpl#3 local variable: sun.nio.ch.Util$2#3 at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:136) at zmq.ZMQ.poll(ZMQ.java:712) local variable: sun.nio.ch.EPollSelectorImpl#3 at zmq.ZMQ.poll(ZMQ.java:620) at zmq.Proxy.start(Proxy.java:64) local variable: zmq.Proxy#1 local variable: zmq.socket.pubsub.XSub#1 local variable: zmq.socket.pubsub.XPub#1 local variable: zmq.poll.PollItem[]#247 local variable: zmq.poll.PollItem[]#248 local variable: sun.nio.ch.EPollSelectorImpl#3 at zmq.Proxy.proxy(Proxy.java:17) local variable: zmq.socket.pubsub.XSub#1 local variable: zmq.socket.pubsub.XPub#1 at zmq.ZMQ.proxy(ZMQ.java:788) local variable: zmq.socket.pubsub.XSub#1 local variable: zmq.socket.pubsub.XPub#1 at org.zeromq.ZMQ.proxy(ZMQ.java:336) local variable: org.zeromq.ZMQ$Socket#1 local variable: org.zeromq.ZMQ$Socket#2 at org.openqa.selenium.events.zeromq.BoundZmqEventBus.lambda$new$1(BoundZmqEventBus.java:68) local variable: org.openqa.selenium.events.zeromq.BoundZmqEventBus#1 at org.openqa.selenium.events.zeromq.BoundZmqEventBus$$Lambda$205.call() local variable: org.openqa.selenium.events.zeromq.BoundZmqEventBus$$Lambda$205#1 at java.util.concurrent.FutureTask.run(FutureTask.java:264) local variable: java.util.concurrent.FutureTask#811 local variable: org.openqa.selenium.events.zeromq.BoundZmqEventBus$$Lambda$205#1 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) local variable: java.util.concurrent.ThreadPoolExecutor#2 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#8 local variable: java.lang.Thread#18 local variable: java.util.concurrent.FutureTask#811 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#8 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#18 "Event Bus Poller" daemon prio=5 tid=18 RUNNABLE at sun.nio.ch.EPoll.wait(Native Method) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120) local variable: sun.nio.ch.EPollSelectorImpl#9 at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124) local variable: sun.nio.ch.EPollSelectorImpl#9 local variable: sun.nio.ch.EPollSelectorImpl#9 local variable: sun.nio.ch.Util$2#9 at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:136) at zmq.ZMQ.poll(ZMQ.java:718) local variable: sun.nio.ch.EPollSelectorImpl#9 at org.zeromq.ZMQ$Poller.poll(ZMQ.java:3892) local variable: org.zeromq.ZMQ$Poller#1 at org.openqa.selenium.events.zeromq.UnboundZmqEventBus$PollingRunnable.run(UnboundZmqEventBus.java:223) local variable: org.openqa.selenium.events.zeromq.UnboundZmqEventBus$PollingRunnable#1 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) local variable: java.util.concurrent.Executors$RunnableAdapter#812 at java.util.concurrent.FutureTask.run(FutureTask.java:264) local variable: java.util.concurrent.FutureTask#812 local variable: java.util.concurrent.Executors$RunnableAdapter#812 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) local variable: java.util.concurrent.ThreadPoolExecutor#5 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#9 local variable: java.lang.Thread#19 local variable: java.util.concurrent.FutureTask#812 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#9 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#19 "Local New Session Queue" daemon prio=5 tid=19 TIMED_WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) local variable: java.lang.Thread#20 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2123) local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject#20 local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$Node#225 at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1182) local variable: java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue#1 local variable: java.util.concurrent.locks.ReentrantLock#702 local variable: java.lang.Thread#20 at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:899) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) local variable: java.util.concurrent.ScheduledThreadPoolExecutor#1 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ScheduledThreadPoolExecutor#1 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#10 local variable: java.lang.Thread#20 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#10 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#20 "Local Distributor - Purge Dead Nodes" daemon prio=5 tid=20 TIMED_WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) local variable: java.lang.Thread#21 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2123) local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject#21 local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$Node#146 at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1182) local variable: java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue#2 local variable: java.util.concurrent.locks.ReentrantLock#703 local variable: java.lang.Thread#21 at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:899) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) local variable: java.util.concurrent.ScheduledThreadPoolExecutor#2 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ScheduledThreadPoolExecutor#2 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#11 local variable: java.lang.Thread#21 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#11 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#21 "Local Distributor - Node Health Check" daemon prio=5 tid=21 TIMED_WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) local variable: java.lang.Thread#22 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2123) local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject#22 local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$Node#148 at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1182) local variable: java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue#3 local variable: java.util.concurrent.locks.ReentrantLock#704 local variable: java.lang.Thread#22 at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:899) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) local variable: java.util.concurrent.ScheduledThreadPoolExecutor#3 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ScheduledThreadPoolExecutor#3 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#12 local variable: java.lang.Thread#22 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#12 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#22 "Local Distributor - New Session Queue" daemon prio=5 tid=22 TIMED_WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) local variable: java.lang.Thread#23 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2123) local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject#23 local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$Node#296 at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1182) local variable: java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue#4 local variable: java.util.concurrent.locks.ReentrantLock#705 local variable: java.lang.Thread#23 at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:899) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) local variable: java.util.concurrent.ScheduledThreadPoolExecutor#4 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ScheduledThreadPoolExecutor#4 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#13 local variable: java.lang.Thread#23 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#13 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#23 "HandleSession - Clean up http clients cache" daemon prio=5 tid=23 TIMED_WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) local variable: java.lang.Thread#24 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2123) local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject#31 local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$Node#149 at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1182) local variable: java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue#5 local variable: java.util.concurrent.locks.ReentrantLock#713 local variable: java.lang.Thread#24 at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:899) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) local variable: java.util.concurrent.ScheduledThreadPoolExecutor#5 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ScheduledThreadPoolExecutor#5 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#14 local variable: java.lang.Thread#24 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#14 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#24 "nioEventLoopGroup-3-1" prio=10 tid=24 RUNNABLE at sun.nio.ch.EPoll.wait(Native Method) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120) local variable: sun.nio.ch.EPollSelectorImpl#12 at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124) local variable: sun.nio.ch.EPollSelectorImpl#12 local variable: sun.nio.ch.EPollSelectorImpl#12 local variable: io.netty.channel.nio.SelectedSelectionKeySet#1 at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:141) at io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68) at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:813) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460) local variable: io.netty.channel.nio.NioEventLoop#1 at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) local variable: io.netty.util.concurrent.SingleThreadEventExecutor$4#1 at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) local variable: io.netty.util.internal.ThreadExecutorMap$2#1 at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) local variable: io.netty.util.concurrent.FastThreadLocalRunnable#1 at java.lang.Thread.run(Thread.java:829) local variable: io.netty.util.concurrent.FastThreadLocalThread#1 "DestroyJavaVM" prio=5 tid=25 RUNNABLE "nioEventLoopGroup-4-1" prio=10 tid=26 RUNNABLE at sun.nio.ch.EPoll.wait(Native Method) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120) local variable: sun.nio.ch.EPollSelectorImpl#13 at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124) local variable: sun.nio.ch.EPollSelectorImpl#13 local variable: sun.nio.ch.EPollSelectorImpl#13 local variable: io.netty.channel.nio.SelectedSelectionKeySet#2 at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:141) at io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68) at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:813) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460) local variable: io.netty.channel.nio.NioEventLoop#2 at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) local variable: io.netty.util.concurrent.SingleThreadEventExecutor$4#2 at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) local variable: io.netty.util.internal.ThreadExecutorMap$2#2 at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) local variable: io.netty.util.concurrent.FastThreadLocalRunnable#2 at java.lang.Thread.run(Thread.java:829) local variable: io.netty.util.concurrent.FastThreadLocalThread#2 "pool-3-thread-1" prio=5 tid=28 TIMED_WAITING at java.lang.Object.wait(Native Method) at java.io.PipedInputStream.awaitSpace(PipedInputStream.java:273) local variable: java.io.PipedInputStream#230 at java.io.PipedInputStream.receive(PipedInputStream.java:231) local variable: java.io.PipedInputStream#230 local variable: byte[]#46327 at java.io.PipedOutputStream.write(PipedOutputStream.java:149) at com.google.common.io.ByteStreams.copy(ByteStreams.java:118) local variable: io.netty.buffer.ByteBufInputStream#1 local variable: java.io.PipedOutputStream#230 local variable: byte[]#46327 at org.openqa.selenium.netty.server.RequestConverter.lambda$channelRead0$1(RequestConverter.java:115) local variable: io.netty.buffer.PooledSlicedByteBuf#76 local variable: io.netty.buffer.ByteBufInputStream#1 at org.openqa.selenium.netty.server.RequestConverter$$Lambda$690.run() at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) local variable: java.util.concurrent.Executors$RunnableAdapter#818 at java.util.concurrent.FutureTask.run(FutureTask.java:264) local variable: java.util.concurrent.FutureTask#813 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) local variable: java.util.concurrent.ThreadPoolExecutor#8 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#15 local variable: java.lang.Thread#26 local variable: java.util.concurrent.FutureTask#813 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#15 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#26 "pool-4-thread-1" prio=5 tid=29 WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194) local variable: java.lang.Thread#27 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081) local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject#34 local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$Node#314 at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433) local variable: java.util.concurrent.LinkedBlockingQueue#9 local variable: java.util.concurrent.atomic.AtomicInteger#83 local variable: java.util.concurrent.locks.ReentrantLock#717 at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) local variable: java.util.concurrent.ThreadPoolExecutor#9 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ThreadPoolExecutor#9 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#16 local variable: java.lang.Thread#27 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#16 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#27 "nioEventLoopGroup-4-2" prio=10 tid=30 RUNNABLE at sun.nio.ch.EPoll.wait(Native Method) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120) local variable: sun.nio.ch.EPollSelectorImpl#14 at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124) local variable: sun.nio.ch.EPollSelectorImpl#14 local variable: sun.nio.ch.EPollSelectorImpl#14 local variable: io.netty.channel.nio.SelectedSelectionKeySet#3 at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:141) at io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68) at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:813) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460) local variable: io.netty.channel.nio.NioEventLoop#3 at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) local variable: io.netty.util.concurrent.SingleThreadEventExecutor$4#3 at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) local variable: io.netty.util.internal.ThreadExecutorMap$2#3 at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) local variable: io.netty.util.concurrent.FastThreadLocalRunnable#3 at java.lang.Thread.run(Thread.java:829) local variable: io.netty.util.concurrent.FastThreadLocalThread#3 "nioEventLoopGroup-4-3" prio=10 tid=31 RUNNABLE at sun.nio.ch.EPoll.wait(Native Method) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120) local variable: sun.nio.ch.EPollSelectorImpl#15 at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124) local variable: sun.nio.ch.EPollSelectorImpl#15 local variable: sun.nio.ch.EPollSelectorImpl#15 local variable: io.netty.channel.nio.SelectedSelectionKeySet#4 at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:141) at io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68) at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:813) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460) local variable: io.netty.channel.nio.NioEventLoop#4 at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) local variable: io.netty.util.concurrent.SingleThreadEventExecutor$4#4 at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) local variable: io.netty.util.internal.ThreadExecutorMap$2#4 at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) local variable: io.netty.util.concurrent.FastThreadLocalRunnable#4 at java.lang.Thread.run(Thread.java:829) local variable: io.netty.util.concurrent.FastThreadLocalThread#4 "nioEventLoopGroup-4-4" prio=10 tid=32 RUNNABLE at sun.nio.ch.EPoll.wait(Native Method) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120) local variable: sun.nio.ch.EPollSelectorImpl#16 at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124) local variable: sun.nio.ch.EPollSelectorImpl#16 local variable: sun.nio.ch.EPollSelectorImpl#16 local variable: io.netty.channel.nio.SelectedSelectionKeySet#5 at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:141) at io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68) at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:813) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460) local variable: io.netty.channel.nio.NioEventLoop#5 at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) local variable: io.netty.util.concurrent.SingleThreadEventExecutor$4#5 at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) local variable: io.netty.util.internal.ThreadExecutorMap$2#5 at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) local variable: io.netty.util.concurrent.FastThreadLocalRunnable#5 at java.lang.Thread.run(Thread.java:829) local variable: io.netty.util.concurrent.FastThreadLocalThread#5 "grpc-default-worker-ELG-1-1" daemon prio=5 tid=34 RUNNABLE at io.netty.channel.epoll.Native.epollWait0(Native Method) at io.netty.channel.epoll.Native.epollWait(Native.java:182) at io.netty.channel.epoll.EpollEventLoop.epollWait(EpollEventLoop.java:290) at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:354) local variable: io.netty.channel.epoll.EpollEventLoop#1 at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) local variable: io.netty.util.concurrent.SingleThreadEventExecutor$4#6 at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) local variable: io.netty.util.internal.ThreadExecutorMap$2#6 at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) local variable: io.netty.util.concurrent.FastThreadLocalRunnable#6 at java.lang.Thread.run(Thread.java:829) local variable: io.netty.util.concurrent.FastThreadLocalThread#6 "grpc-default-worker-ELG-1-2" daemon prio=5 tid=36 RUNNABLE at io.netty.channel.epoll.Native.epollWait(Native Method) at io.netty.channel.epoll.Native.epollWait(Native.java:209) at io.netty.channel.epoll.Native.epollWait(Native.java:202) at io.netty.channel.epoll.EpollEventLoop.epollWaitNoTimerChange(EpollEventLoop.java:294) at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:351) local variable: io.netty.channel.epoll.EpollEventLoop#2 at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) local variable: io.netty.util.concurrent.SingleThreadEventExecutor$4#7 at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) local variable: io.netty.util.internal.ThreadExecutorMap$2#7 at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) local variable: io.netty.util.concurrent.FastThreadLocalRunnable#7 at java.lang.Thread.run(Thread.java:829) local variable: io.netty.util.concurrent.FastThreadLocalThread#7 "Event Bus Listener Notifier" daemon prio=5 tid=39 WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194) local variable: java.lang.Thread#28 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081) local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject#13 local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$Node#302 at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433) local variable: java.util.concurrent.LinkedBlockingQueue#4 local variable: java.util.concurrent.atomic.AtomicInteger#38 local variable: java.util.concurrent.locks.ReentrantLock#675 at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) local variable: java.util.concurrent.ThreadPoolExecutor#3 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ThreadPoolExecutor#3 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#17 local variable: java.lang.Thread#28 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#17 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#28 "AsyncHttpClient-5-1" daemon prio=5 tid=40 TIMED_WAITING at java.lang.Thread.sleep(Native Method) at io.netty.util.HashedWheelTimer$Worker.waitForNextTick(HashedWheelTimer.java:600) local variable: io.netty.util.HashedWheelTimer$Worker#1 at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:496) local variable: io.netty.util.HashedWheelTimer$Worker#1 at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) local variable: io.netty.util.concurrent.FastThreadLocalRunnable#8 at java.lang.Thread.run(Thread.java:829) local variable: io.netty.util.concurrent.FastThreadLocalThread#8 "AsyncHttpClient-5-2" daemon prio=5 tid=42 RUNNABLE at sun.nio.ch.EPoll.wait(Native Method) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120) local variable: sun.nio.ch.EPollSelectorImpl#17 at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124) local variable: sun.nio.ch.EPollSelectorImpl#17 local variable: sun.nio.ch.EPollSelectorImpl#17 local variable: io.netty.channel.nio.SelectedSelectionKeySet#6 at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:141) at io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68) at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:813) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460) local variable: io.netty.channel.nio.NioEventLoop#6 at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) local variable: io.netty.util.concurrent.SingleThreadEventExecutor$4#8 at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) local variable: io.netty.util.internal.ThreadExecutorMap$2#8 at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) local variable: io.netty.util.concurrent.FastThreadLocalRunnable#10 at java.lang.Thread.run(Thread.java:829) local variable: io.netty.util.concurrent.FastThreadLocalThread#10 "Event Bus Publisher" daemon prio=5 tid=43 WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194) local variable: java.lang.Thread#29 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081) local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject#15 local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$Node#344 at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433) local variable: java.util.concurrent.LinkedBlockingQueue#5 local variable: java.util.concurrent.atomic.AtomicInteger#41 local variable: java.util.concurrent.locks.ReentrantLock#685 at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) local variable: java.util.concurrent.ThreadPoolExecutor#4 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ThreadPoolExecutor#4 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#18 local variable: java.lang.Thread#29 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#18 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#29 "Event Bus Listener Notifier" daemon prio=5 tid=45 WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194) local variable: java.lang.Thread#30 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081) local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject#13 local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$Node#301 at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433) local variable: java.util.concurrent.LinkedBlockingQueue#4 local variable: java.util.concurrent.atomic.AtomicInteger#38 local variable: java.util.concurrent.locks.ReentrantLock#675 at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) local variable: java.util.concurrent.ThreadPoolExecutor#3 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ThreadPoolExecutor#3 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#19 local variable: java.lang.Thread#30 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#19 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#30 "AsyncHttpClient-5-3" daemon prio=5 tid=46 RUNNABLE at sun.nio.ch.EPoll.wait(Native Method) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120) local variable: sun.nio.ch.EPollSelectorImpl#18 at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124) local variable: sun.nio.ch.EPollSelectorImpl#18 local variable: sun.nio.ch.EPollSelectorImpl#18 local variable: io.netty.channel.nio.SelectedSelectionKeySet#7 at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:141) at io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68) at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:813) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460) local variable: io.netty.channel.nio.NioEventLoop#7 at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) local variable: io.netty.util.concurrent.SingleThreadEventExecutor$4#9 at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) local variable: io.netty.util.internal.ThreadExecutorMap$2#9 at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) local variable: io.netty.util.concurrent.FastThreadLocalRunnable#11 at java.lang.Thread.run(Thread.java:829) local variable: io.netty.util.concurrent.FastThreadLocalThread#11 "Local Distributor - Session Creation" daemon prio=5 tid=47 WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194) local variable: java.lang.Thread#31 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081) local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject#29 local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$Node#345 at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433) local variable: java.util.concurrent.LinkedBlockingQueue#7 local variable: java.util.concurrent.atomic.AtomicInteger#55 local variable: java.util.concurrent.locks.ReentrantLock#711 at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) local variable: java.util.concurrent.ThreadPoolExecutor#6 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ThreadPoolExecutor#6 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#20 local variable: java.lang.Thread#31 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#20 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#31 "Local Distributor - Session Creation" daemon prio=5 tid=49 WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194) local variable: java.lang.Thread#32 at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081) local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject#29 local variable: java.util.concurrent.locks.AbstractQueuedSynchronizer$Node#343 at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433) local variable: java.util.concurrent.LinkedBlockingQueue#7 local variable: java.util.concurrent.atomic.AtomicInteger#55 local variable: java.util.concurrent.locks.ReentrantLock#711 at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1054) local variable: java.util.concurrent.ThreadPoolExecutor#6 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ThreadPoolExecutor#6 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#21 local variable: java.lang.Thread#32 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) local variable: java.util.concurrent.ThreadPoolExecutor$Worker#21 at java.lang.Thread.run(Thread.java:829) local variable: java.lang.Thread#32 "AsyncHttpClient-5-4" daemon prio=5 tid=50 RUNNABLE at sun.nio.ch.EPoll.wait(Native Method) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120) local variable: sun.nio.ch.EPollSelectorImpl#19 at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124) local variable: sun.nio.ch.EPollSelectorImpl#19 local variable: sun.nio.ch.EPollSelectorImpl#19 local variable: io.netty.channel.nio.SelectedSelectionKeySet#8 at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:141) at io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68) at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:813) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460) local variable: io.netty.channel.nio.NioEventLoop#8 at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) local variable: io.netty.util.concurrent.SingleThreadEventExecutor$4#10 at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) local variable: io.netty.util.internal.ThreadExecutorMap$2#10 at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) local variable: io.netty.util.concurrent.FastThreadLocalRunnable#12 at java.lang.Thread.run(Thread.java:829) local variable: io.netty.util.concurrent.FastThreadLocalThread#12 "AsyncHttpClient-5-5" daemon prio=5 tid=51 RUNNABLE at sun.nio.ch.EPoll.wait(Native Method) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120) local variable: sun.nio.ch.EPollSelectorImpl#20 at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124) local variable: sun.nio.ch.EPollSelectorImpl#20 local variable: sun.nio.ch.EPollSelectorImpl#20 local variable: io.netty.channel.nio.SelectedSelectionKeySet#9 at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:141) at io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68) at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:813) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460) local variable: io.netty.channel.nio.NioEventLoop#9 at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986) local variable: io.netty.util.concurrent.SingleThreadEventExecutor$4#11 at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) local variable: io.netty.util.internal.ThreadExecutorMap$2#11 at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) local variable: io.netty.util.concurrent.FastThreadLocalRunnable#13 at java.lang.Thread.run(Thread.java:829) local variable: io.netty.util.concurrent.FastThreadLocalThread#13 "pool-5-thread-942" prio=5 tid=1210 TIMED_WAITING at java.lang.Object.wait(Native Method) at java.io.PipedInputStream.read(PipedInputStream.java:326) local variable: java.io.PipedInputStream#8 at java.io.PipedInputStream.read(PipedInputStream.java:377) local variable: java.io.PipedInputStream#8 local variable: byte[]#12791 at java.io.InputStream.read(InputStream.java:205) at com.google.common.io.ByteStreams.copy(ByteStreams.java:114) local variable: java.io.PipedInputStream#8 local variable: com.google.common.io.FileBackedOutputStream#9 local variable: byte[]#12791 at org.openqa.selenium.remote.http.Contents$MemoizedSupplier.get(Contents.java:158) local variable: org.openqa.selenium.remote.http.Contents$MemoizedSupplier#14 local variable: org.openqa.selenium.remote.http.Contents$MemoizedSupplier#14 local variable: java.io.PipedInputStream#8 at org.openqa.selenium.remote.http.Contents$MemoizedSupplier.get(Contents.java:141) at org.openqa.selenium.remote.http.Contents.reader(Contents.java:109) local variable: sun.nio.cs.UTF_8#1 local variable: java.io.InputStreamReader#9 local variable: java.io.InputStreamReader#9 at org.openqa.selenium.remote.http.Contents.reader(Contents.java:113) at org.openqa.selenium.grid.data.SessionRequest.(SessionRequest.java:65) local variable: org.openqa.selenium.grid.data.SessionRequest#1 local variable: org.openqa.selenium.remote.http.HttpRequest#14 at org.openqa.selenium.grid.sessionqueue.NewSessionQueue.lambda$new$0(NewSessionQueue.java:66) local variable: org.openqa.selenium.grid.sessionqueue.local.LocalNewSessionQueue#1 local variable: org.openqa.selenium.grid.data.SessionRequest#1 at org.openqa.selenium.grid.sessionqueue.NewSessionQueue$$Lambda$1043.execute() at org.openqa.selenium.remote.http.Route$TemplatizedRoute.handle(Route.java:192) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#14 at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#14 at org.openqa.selenium.grid.sessionqueue.NewSessionQueue.execute(NewSessionQueue.java:120) at org.openqa.selenium.remote.tracing.SpanWrappedHttpHandler.execute(SpanWrappedHttpHandler.java:86) local variable: java.util.HashMap#485 local variable: org.openqa.selenium.remote.tracing.opentelemetry.OpenTelemetrySpan#7 at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#14 at org.openqa.selenium.grid.router.Router.execute(Router.java:91) at org.openqa.selenium.grid.web.EnsureSpecCompliantResponseHeaders.lambda$apply$0(EnsureSpecCompliantResponseHeaders.java:34) at org.openqa.selenium.grid.web.EnsureSpecCompliantResponseHeaders$$Lambda$722.execute() at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#14 at org.openqa.selenium.remote.http.Route$NestedRoute.handle(Route.java:270) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#15 at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#15 at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#15 at org.openqa.selenium.remote.AddWebDriverSpecHeaders.lambda$apply$0(AddWebDriverSpecHeaders.java:35) at org.openqa.selenium.remote.AddWebDriverSpecHeaders$$Lambda$692.execute() at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44) local variable: org.openqa.selenium.remote.ErrorFilter#322 at org.openqa.selenium.remote.ErrorFilter$$Lambda$691.execute() at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44) local variable: org.openqa.selenium.remote.ErrorFilter#308 at org.openqa.selenium.remote.ErrorFilter$$Lambda$691.execute() at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.netty.server.SeleniumHandler.lambda$channelRead0$0(SeleniumHandler.java:44) local variable: io.netty.channel.DefaultChannelHandlerContext#3686 at org.openqa.selenium.netty.server.SeleniumHandler$$Lambda$689.run() at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) local variable: java.util.concurrent.Executors$RunnableAdapter#342 at java.util.concurrent.FutureTask.run(FutureTask.java:264) local variable: java.util.concurrent.FutureTask#342 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) local variable: java.util.concurrent.ThreadPoolExecutor#7 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#33 local variable: java.lang.Thread#51 local variable: java.util.concurrent.FutureTask#342 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.lang.Thread.run(Thread.java:829) "pool-5-thread-944" prio=5 tid=1212 TIMED_WAITING at java.lang.Object.wait(Native Method) at java.io.PipedInputStream.read(PipedInputStream.java:326) local variable: java.io.PipedInputStream#9 at java.io.PipedInputStream.read(PipedInputStream.java:377) local variable: java.io.PipedInputStream#9 local variable: byte[]#12792 at java.io.InputStream.read(InputStream.java:205) at com.google.common.io.ByteStreams.copy(ByteStreams.java:114) local variable: java.io.PipedInputStream#9 local variable: com.google.common.io.FileBackedOutputStream#10 local variable: byte[]#12792 at org.openqa.selenium.remote.http.Contents$MemoizedSupplier.get(Contents.java:158) local variable: org.openqa.selenium.remote.http.Contents$MemoizedSupplier#15 local variable: org.openqa.selenium.remote.http.Contents$MemoizedSupplier#15 local variable: java.io.PipedInputStream#9 at org.openqa.selenium.remote.http.Contents$MemoizedSupplier.get(Contents.java:141) at org.openqa.selenium.remote.http.Contents.bytes(Contents.java:75) at org.openqa.selenium.remote.http.Contents.string(Contents.java:92) local variable: sun.nio.cs.UTF_8#1 local variable: java.lang.String#5421 local variable: java.lang.String#5421 at org.openqa.selenium.remote.http.Contents.string(Contents.java:96) at org.openqa.selenium.grid.graphql.GraphqlHandler.execute(GraphqlHandler.java:114) local variable: org.openqa.selenium.grid.graphql.GraphqlHandler#1 local variable: org.openqa.selenium.remote.http.HttpRequest#16 local variable: org.openqa.selenium.remote.tracing.opentelemetry.OpenTelemetrySpan#8 local variable: org.openqa.selenium.json.Json#10 at org.openqa.selenium.remote.http.Route$TemplatizedRoute.handle(Route.java:192) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#16 at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#16 at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#16 at org.openqa.selenium.remote.AddWebDriverSpecHeaders.lambda$apply$0(AddWebDriverSpecHeaders.java:35) at org.openqa.selenium.remote.AddWebDriverSpecHeaders$$Lambda$692.execute() at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44) local variable: org.openqa.selenium.remote.ErrorFilter#322 at org.openqa.selenium.remote.ErrorFilter$$Lambda$691.execute() at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44) local variable: org.openqa.selenium.remote.ErrorFilter#309 at org.openqa.selenium.remote.ErrorFilter$$Lambda$691.execute() at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.netty.server.SeleniumHandler.lambda$channelRead0$0(SeleniumHandler.java:44) local variable: io.netty.channel.DefaultChannelHandlerContext#3687 at org.openqa.selenium.netty.server.SeleniumHandler$$Lambda$689.run() at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) local variable: java.util.concurrent.Executors$RunnableAdapter#343 at java.util.concurrent.FutureTask.run(FutureTask.java:264) local variable: java.util.concurrent.FutureTask#343 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) local variable: java.util.concurrent.ThreadPoolExecutor#7 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#35 local variable: java.lang.Thread#53 local variable: java.util.concurrent.FutureTask#343 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.lang.Thread.run(Thread.java:829) "pool-5-thread-949" prio=5 tid=1217 TIMED_WAITING at java.lang.Object.wait(Native Method) at java.io.PipedInputStream.read(PipedInputStream.java:326) local variable: java.io.PipedInputStream#10 at java.io.PipedInputStream.read(PipedInputStream.java:377) local variable: java.io.PipedInputStream#10 local variable: byte[]#12793 at java.io.InputStream.read(InputStream.java:205) at com.google.common.io.ByteStreams.copy(ByteStreams.java:114) local variable: java.io.PipedInputStream#10 local variable: com.google.common.io.FileBackedOutputStream#11 local variable: byte[]#12793 at org.openqa.selenium.remote.http.Contents$MemoizedSupplier.get(Contents.java:158) local variable: org.openqa.selenium.remote.http.Contents$MemoizedSupplier#16 local variable: org.openqa.selenium.remote.http.Contents$MemoizedSupplier#16 local variable: java.io.PipedInputStream#10 at org.openqa.selenium.remote.http.Contents$MemoizedSupplier.get(Contents.java:141) at org.openqa.selenium.remote.http.Contents.bytes(Contents.java:75) at org.openqa.selenium.remote.http.Contents.string(Contents.java:92) local variable: sun.nio.cs.UTF_8#1 local variable: java.lang.String#5422 local variable: java.lang.String#5422 at org.openqa.selenium.remote.http.Contents.string(Contents.java:96) at org.openqa.selenium.grid.graphql.GraphqlHandler.execute(GraphqlHandler.java:114) local variable: org.openqa.selenium.grid.graphql.GraphqlHandler#1 local variable: org.openqa.selenium.remote.http.HttpRequest#17 local variable: org.openqa.selenium.remote.tracing.opentelemetry.OpenTelemetrySpan#9 local variable: org.openqa.selenium.json.Json#10 at org.openqa.selenium.remote.http.Route$TemplatizedRoute.handle(Route.java:192) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#17 at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#17 at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#17 at org.openqa.selenium.remote.AddWebDriverSpecHeaders.lambda$apply$0(AddWebDriverSpecHeaders.java:35) at org.openqa.selenium.remote.AddWebDriverSpecHeaders$$Lambda$692.execute() at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44) local variable: org.openqa.selenium.remote.ErrorFilter#322 at org.openqa.selenium.remote.ErrorFilter$$Lambda$691.execute() at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44) local variable: org.openqa.selenium.remote.ErrorFilter#310 at org.openqa.selenium.remote.ErrorFilter$$Lambda$691.execute() at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.netty.server.SeleniumHandler.lambda$channelRead0$0(SeleniumHandler.java:44) local variable: io.netty.channel.DefaultChannelHandlerContext#3688 at org.openqa.selenium.netty.server.SeleniumHandler$$Lambda$689.run() at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) local variable: java.util.concurrent.Executors$RunnableAdapter#344 at java.util.concurrent.FutureTask.run(FutureTask.java:264) local variable: java.util.concurrent.FutureTask#344 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) local variable: java.util.concurrent.ThreadPoolExecutor#7 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#40 local variable: java.lang.Thread#58 local variable: java.util.concurrent.FutureTask#344 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.lang.Thread.run(Thread.java:829) "pool-5-thread-950" prio=5 tid=1218 TIMED_WAITING at java.lang.Object.wait(Native Method) at java.io.PipedInputStream.read(PipedInputStream.java:326) local variable: java.io.PipedInputStream#11 at java.io.PipedInputStream.read(PipedInputStream.java:377) local variable: java.io.PipedInputStream#11 local variable: byte[]#12794 at java.io.InputStream.read(InputStream.java:205) at com.google.common.io.ByteStreams.copy(ByteStreams.java:114) local variable: java.io.PipedInputStream#11 local variable: com.google.common.io.FileBackedOutputStream#12 local variable: byte[]#12794 at org.openqa.selenium.remote.http.Contents$MemoizedSupplier.get(Contents.java:158) local variable: org.openqa.selenium.remote.http.Contents$MemoizedSupplier#17 local variable: org.openqa.selenium.remote.http.Contents$MemoizedSupplier#17 local variable: java.io.PipedInputStream#11 at org.openqa.selenium.remote.http.Contents$MemoizedSupplier.get(Contents.java:141) at org.openqa.selenium.remote.http.Contents.bytes(Contents.java:75) at org.openqa.selenium.remote.http.Contents.string(Contents.java:92) local variable: sun.nio.cs.UTF_8#1 local variable: java.lang.String#5423 local variable: java.lang.String#5423 at org.openqa.selenium.remote.http.Contents.string(Contents.java:96) at org.openqa.selenium.grid.graphql.GraphqlHandler.execute(GraphqlHandler.java:114) local variable: org.openqa.selenium.grid.graphql.GraphqlHandler#1 local variable: org.openqa.selenium.remote.http.HttpRequest#18 local variable: org.openqa.selenium.remote.tracing.opentelemetry.OpenTelemetrySpan#10 local variable: org.openqa.selenium.json.Json#10 at org.openqa.selenium.remote.http.Route$TemplatizedRoute.handle(Route.java:192) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#18 at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#18 at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#18 at org.openqa.selenium.remote.AddWebDriverSpecHeaders.lambda$apply$0(AddWebDriverSpecHeaders.java:35) at org.openqa.selenium.remote.AddWebDriverSpecHeaders$$Lambda$692.execute() at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44) local variable: org.openqa.selenium.remote.ErrorFilter#322 at org.openqa.selenium.remote.ErrorFilter$$Lambda$691.execute() at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44) local variable: org.openqa.selenium.remote.ErrorFilter#311 at org.openqa.selenium.remote.ErrorFilter$$Lambda$691.execute() at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.netty.server.SeleniumHandler.lambda$channelRead0$0(SeleniumHandler.java:44) local variable: io.netty.channel.DefaultChannelHandlerContext#3689 at org.openqa.selenium.netty.server.SeleniumHandler$$Lambda$689.run() at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) local variable: java.util.concurrent.Executors$RunnableAdapter#345 at java.util.concurrent.FutureTask.run(FutureTask.java:264) local variable: java.util.concurrent.FutureTask#345 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) local variable: java.util.concurrent.ThreadPoolExecutor#7 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#41 local variable: java.lang.Thread#59 local variable: java.util.concurrent.FutureTask#345 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.lang.Thread.run(Thread.java:829) "pool-5-thread-951" prio=5 tid=1219 TIMED_WAITING at java.lang.Object.wait(Native Method) at java.io.PipedInputStream.read(PipedInputStream.java:326) local variable: java.io.PipedInputStream#12 at java.io.PipedInputStream.read(PipedInputStream.java:377) local variable: java.io.PipedInputStream#12 local variable: byte[]#12795 at java.io.InputStream.read(InputStream.java:205) at com.google.common.io.ByteStreams.copy(ByteStreams.java:114) local variable: java.io.PipedInputStream#12 local variable: com.google.common.io.FileBackedOutputStream#13 local variable: byte[]#12795 at org.openqa.selenium.remote.http.Contents$MemoizedSupplier.get(Contents.java:158) local variable: org.openqa.selenium.remote.http.Contents$MemoizedSupplier#18 local variable: org.openqa.selenium.remote.http.Contents$MemoizedSupplier#18 local variable: java.io.PipedInputStream#12 at org.openqa.selenium.remote.http.Contents$MemoizedSupplier.get(Contents.java:141) at org.openqa.selenium.remote.http.Contents.reader(Contents.java:109) local variable: sun.nio.cs.UTF_8#1 local variable: java.io.InputStreamReader#10 local variable: java.io.InputStreamReader#10 at org.openqa.selenium.remote.http.Contents.reader(Contents.java:113) at org.openqa.selenium.grid.data.SessionRequest.(SessionRequest.java:65) local variable: org.openqa.selenium.grid.data.SessionRequest#2 local variable: org.openqa.selenium.remote.http.HttpRequest#19 at org.openqa.selenium.grid.sessionqueue.NewSessionQueue.lambda$new$0(NewSessionQueue.java:66) local variable: org.openqa.selenium.grid.sessionqueue.local.LocalNewSessionQueue#1 local variable: org.openqa.selenium.grid.data.SessionRequest#2 at org.openqa.selenium.grid.sessionqueue.NewSessionQueue$$Lambda$1043.execute() at org.openqa.selenium.remote.http.Route$TemplatizedRoute.handle(Route.java:192) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#19 at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#19 at org.openqa.selenium.grid.sessionqueue.NewSessionQueue.execute(NewSessionQueue.java:120) at org.openqa.selenium.remote.tracing.SpanWrappedHttpHandler.execute(SpanWrappedHttpHandler.java:86) local variable: java.util.HashMap#486 local variable: org.openqa.selenium.remote.tracing.opentelemetry.OpenTelemetrySpan#11 at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#19 at org.openqa.selenium.grid.router.Router.execute(Router.java:91) at org.openqa.selenium.grid.web.EnsureSpecCompliantResponseHeaders.lambda$apply$0(EnsureSpecCompliantResponseHeaders.java:34) at org.openqa.selenium.grid.web.EnsureSpecCompliantResponseHeaders$$Lambda$722.execute() at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#19 at org.openqa.selenium.remote.http.Route$NestedRoute.handle(Route.java:270) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#20 at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#20 at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#20 at org.openqa.selenium.remote.AddWebDriverSpecHeaders.lambda$apply$0(AddWebDriverSpecHeaders.java:35) at org.openqa.selenium.remote.AddWebDriverSpecHeaders$$Lambda$692.execute() at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44) local variable: org.openqa.selenium.remote.ErrorFilter#322 at org.openqa.selenium.remote.ErrorFilter$$Lambda$691.execute() at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44) local variable: org.openqa.selenium.remote.ErrorFilter#312 at org.openqa.selenium.remote.ErrorFilter$$Lambda$691.execute() at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.netty.server.SeleniumHandler.lambda$channelRead0$0(SeleniumHandler.java:44) local variable: io.netty.channel.DefaultChannelHandlerContext#3690 at org.openqa.selenium.netty.server.SeleniumHandler$$Lambda$689.run() at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) local variable: java.util.concurrent.Executors$RunnableAdapter#346 at java.util.concurrent.FutureTask.run(FutureTask.java:264) local variable: java.util.concurrent.FutureTask#346 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) local variable: java.util.concurrent.ThreadPoolExecutor#7 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#42 local variable: java.lang.Thread#60 local variable: java.util.concurrent.FutureTask#346 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.lang.Thread.run(Thread.java:829) "pool-5-thread-962" prio=5 tid=1236 TIMED_WAITING at java.lang.Object.wait(Native Method) at java.io.PipedInputStream.read(PipedInputStream.java:326) local variable: java.io.PipedInputStream#13 at java.io.PipedInputStream.read(PipedInputStream.java:377) local variable: java.io.PipedInputStream#13 local variable: byte[]#12796 at java.io.InputStream.read(InputStream.java:205) at com.google.common.io.ByteStreams.copy(ByteStreams.java:114) local variable: java.io.PipedInputStream#13 local variable: com.google.common.io.FileBackedOutputStream#14 local variable: byte[]#12796 at org.openqa.selenium.remote.http.Contents$MemoizedSupplier.get(Contents.java:158) local variable: org.openqa.selenium.remote.http.Contents$MemoizedSupplier#19 local variable: org.openqa.selenium.remote.http.Contents$MemoizedSupplier#19 local variable: java.io.PipedInputStream#13 at org.openqa.selenium.remote.http.Contents$MemoizedSupplier.get(Contents.java:141) at org.openqa.selenium.remote.http.Contents.reader(Contents.java:109) local variable: sun.nio.cs.UTF_8#1 local variable: java.io.InputStreamReader#11 local variable: java.io.InputStreamReader#11 at org.openqa.selenium.remote.http.Contents.reader(Contents.java:113) at org.openqa.selenium.grid.data.SessionRequest.(SessionRequest.java:65) local variable: org.openqa.selenium.grid.data.SessionRequest#3 local variable: org.openqa.selenium.remote.http.HttpRequest#21 at org.openqa.selenium.grid.sessionqueue.NewSessionQueue.lambda$new$0(NewSessionQueue.java:66) local variable: org.openqa.selenium.grid.sessionqueue.local.LocalNewSessionQueue#1 local variable: org.openqa.selenium.grid.data.SessionRequest#3 at org.openqa.selenium.grid.sessionqueue.NewSessionQueue$$Lambda$1043.execute() at org.openqa.selenium.remote.http.Route$TemplatizedRoute.handle(Route.java:192) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#21 at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#21 at org.openqa.selenium.grid.sessionqueue.NewSessionQueue.execute(NewSessionQueue.java:120) at org.openqa.selenium.remote.tracing.SpanWrappedHttpHandler.execute(SpanWrappedHttpHandler.java:86) local variable: java.util.HashMap#487 local variable: org.openqa.selenium.remote.tracing.opentelemetry.OpenTelemetrySpan#12 at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#21 at org.openqa.selenium.grid.router.Router.execute(Router.java:91) at org.openqa.selenium.grid.web.EnsureSpecCompliantResponseHeaders.lambda$apply$0(EnsureSpecCompliantResponseHeaders.java:34) at org.openqa.selenium.grid.web.EnsureSpecCompliantResponseHeaders$$Lambda$722.execute() at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#21 at org.openqa.selenium.remote.http.Route$NestedRoute.handle(Route.java:270) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#22 at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#22 at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#22 at org.openqa.selenium.remote.AddWebDriverSpecHeaders.lambda$apply$0(AddWebDriverSpecHeaders.java:35) at org.openqa.selenium.remote.AddWebDriverSpecHeaders$$Lambda$692.execute() at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44) local variable: org.openqa.selenium.remote.ErrorFilter#322 at org.openqa.selenium.remote.ErrorFilter$$Lambda$691.execute() at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44) local variable: org.openqa.selenium.remote.ErrorFilter#313 at org.openqa.selenium.remote.ErrorFilter$$Lambda$691.execute() at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.netty.server.SeleniumHandler.lambda$channelRead0$0(SeleniumHandler.java:44) local variable: io.netty.channel.DefaultChannelHandlerContext#3691 at org.openqa.selenium.netty.server.SeleniumHandler$$Lambda$689.run() at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) local variable: java.util.concurrent.Executors$RunnableAdapter#347 at java.util.concurrent.FutureTask.run(FutureTask.java:264) local variable: java.util.concurrent.FutureTask#347 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) local variable: java.util.concurrent.ThreadPoolExecutor#7 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#52 local variable: java.lang.Thread#71 local variable: java.util.concurrent.FutureTask#347 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.lang.Thread.run(Thread.java:829) "pool-5-thread-964" prio=5 tid=1238 TIMED_WAITING at java.lang.Object.wait(Native Method) at java.io.PipedInputStream.read(PipedInputStream.java:326) local variable: java.io.PipedInputStream#14 at java.io.PipedInputStream.read(PipedInputStream.java:377) local variable: java.io.PipedInputStream#14 local variable: byte[]#12797 at java.io.InputStream.read(InputStream.java:205) at com.google.common.io.ByteStreams.copy(ByteStreams.java:114) local variable: java.io.PipedInputStream#14 local variable: com.google.common.io.FileBackedOutputStream#15 local variable: byte[]#12797 at org.openqa.selenium.remote.http.Contents$MemoizedSupplier.get(Contents.java:158) local variable: org.openqa.selenium.remote.http.Contents$MemoizedSupplier#20 local variable: org.openqa.selenium.remote.http.Contents$MemoizedSupplier#20 local variable: java.io.PipedInputStream#14 at org.openqa.selenium.remote.http.Contents$MemoizedSupplier.get(Contents.java:141) at org.openqa.selenium.remote.http.Contents.reader(Contents.java:109) local variable: sun.nio.cs.UTF_8#1 local variable: java.io.InputStreamReader#12 local variable: java.io.InputStreamReader#12 at org.openqa.selenium.remote.http.Contents.reader(Contents.java:113) at org.openqa.selenium.grid.data.SessionRequest.(SessionRequest.java:65) local variable: org.openqa.selenium.grid.data.SessionRequest#4 local variable: org.openqa.selenium.remote.http.HttpRequest#23 at org.openqa.selenium.grid.sessionqueue.NewSessionQueue.lambda$new$0(NewSessionQueue.java:66) local variable: org.openqa.selenium.grid.sessionqueue.local.LocalNewSessionQueue#1 local variable: org.openqa.selenium.grid.data.SessionRequest#4 at org.openqa.selenium.grid.sessionqueue.NewSessionQueue$$Lambda$1043.execute() at org.openqa.selenium.remote.http.Route$TemplatizedRoute.handle(Route.java:192) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#23 at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#23 at org.openqa.selenium.grid.sessionqueue.NewSessionQueue.execute(NewSessionQueue.java:120) at org.openqa.selenium.remote.tracing.SpanWrappedHttpHandler.execute(SpanWrappedHttpHandler.java:86) local variable: java.util.HashMap#488 local variable: org.openqa.selenium.remote.tracing.opentelemetry.OpenTelemetrySpan#13 at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#23 at org.openqa.selenium.grid.router.Router.execute(Router.java:91) at org.openqa.selenium.grid.web.EnsureSpecCompliantResponseHeaders.lambda$apply$0(EnsureSpecCompliantResponseHeaders.java:34) at org.openqa.selenium.grid.web.EnsureSpecCompliantResponseHeaders$$Lambda$722.execute() at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#23 at org.openqa.selenium.remote.http.Route$NestedRoute.handle(Route.java:270) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#24 at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#24 at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#24 at org.openqa.selenium.remote.AddWebDriverSpecHeaders.lambda$apply$0(AddWebDriverSpecHeaders.java:35) at org.openqa.selenium.remote.AddWebDriverSpecHeaders$$Lambda$692.execute() at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44) local variable: org.openqa.selenium.remote.ErrorFilter#322 at org.openqa.selenium.remote.ErrorFilter$$Lambda$691.execute() at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44) local variable: org.openqa.selenium.remote.ErrorFilter#314 at org.openqa.selenium.remote.ErrorFilter$$Lambda$691.execute() at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.netty.server.SeleniumHandler.lambda$channelRead0$0(SeleniumHandler.java:44) local variable: io.netty.channel.DefaultChannelHandlerContext#3692 at org.openqa.selenium.netty.server.SeleniumHandler$$Lambda$689.run() at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) local variable: java.util.concurrent.Executors$RunnableAdapter#348 at java.util.concurrent.FutureTask.run(FutureTask.java:264) local variable: java.util.concurrent.FutureTask#348 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) local variable: java.util.concurrent.ThreadPoolExecutor#7 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#54 local variable: java.lang.Thread#73 local variable: java.util.concurrent.FutureTask#348 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.lang.Thread.run(Thread.java:829) "pool-5-thread-975" prio=5 tid=1253 TIMED_WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) local variable: java.lang.Thread#85 at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:462) local variable: java.util.concurrent.SynchronousQueue$TransferStack#2 local variable: java.util.concurrent.SynchronousQueue$TransferStack$SNode#23 local variable: java.lang.Thread#85 at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:361) local variable: java.util.concurrent.SynchronousQueue$TransferStack#2 local variable: java.util.concurrent.SynchronousQueue$TransferStack$SNode#23 at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1053) local variable: java.util.concurrent.ThreadPoolExecutor#7 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ThreadPoolExecutor#7 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#62 local variable: java.lang.Thread#85 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.lang.Thread.run(Thread.java:829) "pool-5-thread-977" prio=5 tid=1256 TIMED_WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) local variable: java.lang.Thread#88 at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:462) local variable: java.util.concurrent.SynchronousQueue$TransferStack#2 local variable: java.util.concurrent.SynchronousQueue$TransferStack$SNode#19 local variable: java.lang.Thread#88 at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:361) local variable: java.util.concurrent.SynchronousQueue$TransferStack#2 local variable: java.util.concurrent.SynchronousQueue$TransferStack$SNode#19 at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1053) local variable: java.util.concurrent.ThreadPoolExecutor#7 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ThreadPoolExecutor#7 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#65 local variable: java.lang.Thread#88 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.lang.Thread.run(Thread.java:829) "pool-5-thread-981" prio=5 tid=1266 TIMED_WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) local variable: java.lang.Thread#91 at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:462) local variable: java.util.concurrent.SynchronousQueue$TransferStack#2 local variable: java.util.concurrent.SynchronousQueue$TransferStack$SNode#29 local variable: java.lang.Thread#91 at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:361) local variable: java.util.concurrent.SynchronousQueue$TransferStack#2 local variable: java.util.concurrent.SynchronousQueue$TransferStack$SNode#29 at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1053) local variable: java.util.concurrent.ThreadPoolExecutor#7 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ThreadPoolExecutor#7 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#68 local variable: java.lang.Thread#91 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.lang.Thread.run(Thread.java:829) "pool-5-thread-984" prio=5 tid=1277 TIMED_WAITING at java.lang.Object.wait(Native Method) at java.io.PipedInputStream.read(PipedInputStream.java:326) local variable: java.io.PipedInputStream#16 at java.io.PipedInputStream.read(PipedInputStream.java:377) local variable: java.io.PipedInputStream#16 local variable: byte[]#12799 at java.io.InputStream.read(InputStream.java:205) at com.google.common.io.ByteStreams.copy(ByteStreams.java:114) local variable: java.io.PipedInputStream#16 local variable: com.google.common.io.FileBackedOutputStream#17 local variable: byte[]#12799 at org.openqa.selenium.remote.http.Contents$MemoizedSupplier.get(Contents.java:158) local variable: org.openqa.selenium.remote.http.Contents$MemoizedSupplier#22 local variable: org.openqa.selenium.remote.http.Contents$MemoizedSupplier#22 local variable: java.io.PipedInputStream#16 at org.openqa.selenium.remote.http.Contents$MemoizedSupplier.get(Contents.java:141) at org.openqa.selenium.remote.http.Contents.reader(Contents.java:109) local variable: sun.nio.cs.UTF_8#1 local variable: java.io.InputStreamReader#14 local variable: java.io.InputStreamReader#14 at org.openqa.selenium.remote.http.Contents.reader(Contents.java:113) at org.openqa.selenium.grid.data.SessionRequest.(SessionRequest.java:65) local variable: org.openqa.selenium.grid.data.SessionRequest#6 local variable: org.openqa.selenium.remote.http.HttpRequest#27 at org.openqa.selenium.grid.sessionqueue.NewSessionQueue.lambda$new$0(NewSessionQueue.java:66) local variable: org.openqa.selenium.grid.sessionqueue.local.LocalNewSessionQueue#1 local variable: org.openqa.selenium.grid.data.SessionRequest#6 at org.openqa.selenium.grid.sessionqueue.NewSessionQueue$$Lambda$1043.execute() at org.openqa.selenium.remote.http.Route$TemplatizedRoute.handle(Route.java:192) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#27 at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#27 at org.openqa.selenium.grid.sessionqueue.NewSessionQueue.execute(NewSessionQueue.java:120) at org.openqa.selenium.remote.tracing.SpanWrappedHttpHandler.execute(SpanWrappedHttpHandler.java:86) local variable: java.util.HashMap#490 local variable: org.openqa.selenium.remote.tracing.opentelemetry.OpenTelemetrySpan#15 at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#27 at org.openqa.selenium.grid.router.Router.execute(Router.java:91) at org.openqa.selenium.grid.web.EnsureSpecCompliantResponseHeaders.lambda$apply$0(EnsureSpecCompliantResponseHeaders.java:34) at org.openqa.selenium.grid.web.EnsureSpecCompliantResponseHeaders$$Lambda$722.execute() at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#27 at org.openqa.selenium.remote.http.Route$NestedRoute.handle(Route.java:270) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#28 at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#28 at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#28 at org.openqa.selenium.remote.AddWebDriverSpecHeaders.lambda$apply$0(AddWebDriverSpecHeaders.java:35) at org.openqa.selenium.remote.AddWebDriverSpecHeaders$$Lambda$692.execute() at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44) local variable: org.openqa.selenium.remote.ErrorFilter#322 at org.openqa.selenium.remote.ErrorFilter$$Lambda$691.execute() at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44) local variable: org.openqa.selenium.remote.ErrorFilter#316 at org.openqa.selenium.remote.ErrorFilter$$Lambda$691.execute() at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.netty.server.SeleniumHandler.lambda$channelRead0$0(SeleniumHandler.java:44) local variable: io.netty.channel.DefaultChannelHandlerContext#3694 at org.openqa.selenium.netty.server.SeleniumHandler$$Lambda$689.run() at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) local variable: java.util.concurrent.Executors$RunnableAdapter#350 at java.util.concurrent.FutureTask.run(FutureTask.java:264) local variable: java.util.concurrent.FutureTask#350 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) local variable: java.util.concurrent.ThreadPoolExecutor#7 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#2 local variable: java.lang.Thread#3 local variable: java.util.concurrent.FutureTask#350 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.lang.Thread.run(Thread.java:829) "pool-5-thread-985" prio=5 tid=1278 TIMED_WAITING at java.lang.Object.wait(Native Method) at java.io.PipedInputStream.read(PipedInputStream.java:326) local variable: java.io.PipedInputStream#17 at java.io.PipedInputStream.read(PipedInputStream.java:377) local variable: java.io.PipedInputStream#17 local variable: byte[]#12800 at java.io.InputStream.read(InputStream.java:205) at com.google.common.io.ByteStreams.copy(ByteStreams.java:114) local variable: java.io.PipedInputStream#17 local variable: com.google.common.io.FileBackedOutputStream#18 local variable: byte[]#12800 at org.openqa.selenium.remote.http.Contents$MemoizedSupplier.get(Contents.java:158) local variable: org.openqa.selenium.remote.http.Contents$MemoizedSupplier#23 local variable: org.openqa.selenium.remote.http.Contents$MemoizedSupplier#23 local variable: java.io.PipedInputStream#17 at org.openqa.selenium.remote.http.Contents$MemoizedSupplier.get(Contents.java:141) at org.openqa.selenium.remote.http.Contents.reader(Contents.java:109) local variable: sun.nio.cs.UTF_8#1 local variable: java.io.InputStreamReader#15 local variable: java.io.InputStreamReader#15 at org.openqa.selenium.remote.http.Contents.reader(Contents.java:113) at org.openqa.selenium.grid.data.SessionRequest.(SessionRequest.java:65) local variable: org.openqa.selenium.grid.data.SessionRequest#7 local variable: org.openqa.selenium.remote.http.HttpRequest#29 at org.openqa.selenium.grid.sessionqueue.NewSessionQueue.lambda$new$0(NewSessionQueue.java:66) local variable: org.openqa.selenium.grid.sessionqueue.local.LocalNewSessionQueue#1 local variable: org.openqa.selenium.grid.data.SessionRequest#7 at org.openqa.selenium.grid.sessionqueue.NewSessionQueue$$Lambda$1043.execute() at org.openqa.selenium.remote.http.Route$TemplatizedRoute.handle(Route.java:192) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#29 at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#29 at org.openqa.selenium.grid.sessionqueue.NewSessionQueue.execute(NewSessionQueue.java:120) at org.openqa.selenium.remote.tracing.SpanWrappedHttpHandler.execute(SpanWrappedHttpHandler.java:86) local variable: java.util.HashMap#491 local variable: org.openqa.selenium.remote.tracing.opentelemetry.OpenTelemetrySpan#16 at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#29 at org.openqa.selenium.grid.router.Router.execute(Router.java:91) at org.openqa.selenium.grid.web.EnsureSpecCompliantResponseHeaders.lambda$apply$0(EnsureSpecCompliantResponseHeaders.java:34) at org.openqa.selenium.grid.web.EnsureSpecCompliantResponseHeaders$$Lambda$722.execute() at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#29 at org.openqa.selenium.remote.http.Route$NestedRoute.handle(Route.java:270) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#30 at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#30 at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#30 at org.openqa.selenium.remote.AddWebDriverSpecHeaders.lambda$apply$0(AddWebDriverSpecHeaders.java:35) at org.openqa.selenium.remote.AddWebDriverSpecHeaders$$Lambda$692.execute() at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44) local variable: org.openqa.selenium.remote.ErrorFilter#322 at org.openqa.selenium.remote.ErrorFilter$$Lambda$691.execute() at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44) local variable: org.openqa.selenium.remote.ErrorFilter#317 at org.openqa.selenium.remote.ErrorFilter$$Lambda$691.execute() at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.netty.server.SeleniumHandler.lambda$channelRead0$0(SeleniumHandler.java:44) local variable: io.netty.channel.DefaultChannelHandlerContext#3695 at org.openqa.selenium.netty.server.SeleniumHandler$$Lambda$689.run() at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) local variable: java.util.concurrent.Executors$RunnableAdapter#351 at java.util.concurrent.FutureTask.run(FutureTask.java:264) local variable: java.util.concurrent.FutureTask#351 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) local variable: java.util.concurrent.ThreadPoolExecutor#7 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#3 local variable: java.lang.Thread#4 local variable: java.util.concurrent.FutureTask#351 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.lang.Thread.run(Thread.java:829) "pool-5-thread-986" prio=5 tid=1280 TIMED_WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) local variable: java.lang.Thread#5 at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:462) local variable: java.util.concurrent.SynchronousQueue$TransferStack#2 local variable: java.util.concurrent.SynchronousQueue$TransferStack$SNode#27 local variable: java.lang.Thread#5 at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:361) local variable: java.util.concurrent.SynchronousQueue$TransferStack#2 local variable: java.util.concurrent.SynchronousQueue$TransferStack$SNode#27 at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1053) local variable: java.util.concurrent.ThreadPoolExecutor#7 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ThreadPoolExecutor#7 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#4 local variable: java.lang.Thread#5 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.lang.Thread.run(Thread.java:829) "Grid status executor" daemon prio=5 tid=1282 TIMED_WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) local variable: java.lang.Thread#6 at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:462) local variable: java.util.concurrent.SynchronousQueue$TransferStack#3 local variable: java.util.concurrent.SynchronousQueue$TransferStack$SNode#30 local variable: java.lang.Thread#6 at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:361) local variable: java.util.concurrent.SynchronousQueue$TransferStack#3 local variable: java.util.concurrent.SynchronousQueue$TransferStack$SNode#30 at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1053) local variable: java.util.concurrent.ThreadPoolExecutor#10 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ThreadPoolExecutor#10 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#5 local variable: java.lang.Thread#6 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.lang.Thread.run(Thread.java:829) "pool-5-thread-988" prio=5 tid=1283 TIMED_WAITING at java.lang.Object.wait(Native Method) at java.io.PipedInputStream.read(PipedInputStream.java:326) local variable: java.io.PipedInputStream#19 at java.io.PipedInputStream.read(PipedInputStream.java:377) local variable: java.io.PipedInputStream#19 local variable: byte[]#12802 at java.io.InputStream.read(InputStream.java:205) at com.google.common.io.ByteStreams.copy(ByteStreams.java:114) local variable: java.io.PipedInputStream#19 local variable: com.google.common.io.FileBackedOutputStream#20 local variable: byte[]#12802 at org.openqa.selenium.remote.http.Contents$MemoizedSupplier.get(Contents.java:158) local variable: org.openqa.selenium.remote.http.Contents$MemoizedSupplier#25 local variable: org.openqa.selenium.remote.http.Contents$MemoizedSupplier#25 local variable: java.io.PipedInputStream#19 at org.openqa.selenium.remote.http.Contents$MemoizedSupplier.get(Contents.java:141) at org.openqa.selenium.remote.http.Contents.reader(Contents.java:109) local variable: sun.nio.cs.UTF_8#1 local variable: java.io.InputStreamReader#17 local variable: java.io.InputStreamReader#17 at org.openqa.selenium.remote.http.Contents.reader(Contents.java:113) at org.openqa.selenium.grid.data.SessionRequest.(SessionRequest.java:65) local variable: org.openqa.selenium.grid.data.SessionRequest#9 local variable: org.openqa.selenium.remote.http.HttpRequest#33 at org.openqa.selenium.grid.sessionqueue.NewSessionQueue.lambda$new$0(NewSessionQueue.java:66) local variable: org.openqa.selenium.grid.sessionqueue.local.LocalNewSessionQueue#1 local variable: org.openqa.selenium.grid.data.SessionRequest#9 at org.openqa.selenium.grid.sessionqueue.NewSessionQueue$$Lambda$1043.execute() at org.openqa.selenium.remote.http.Route$TemplatizedRoute.handle(Route.java:192) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#33 at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#33 at org.openqa.selenium.grid.sessionqueue.NewSessionQueue.execute(NewSessionQueue.java:120) at org.openqa.selenium.remote.tracing.SpanWrappedHttpHandler.execute(SpanWrappedHttpHandler.java:86) local variable: java.util.HashMap#493 local variable: org.openqa.selenium.remote.tracing.opentelemetry.OpenTelemetrySpan#18 at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#33 at org.openqa.selenium.grid.router.Router.execute(Router.java:91) at org.openqa.selenium.grid.web.EnsureSpecCompliantResponseHeaders.lambda$apply$0(EnsureSpecCompliantResponseHeaders.java:34) at org.openqa.selenium.grid.web.EnsureSpecCompliantResponseHeaders$$Lambda$722.execute() at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#33 at org.openqa.selenium.remote.http.Route$NestedRoute.handle(Route.java:270) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#34 at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#34 at org.openqa.selenium.remote.http.Route$CombinedRoute.handle(Route.java:336) at org.openqa.selenium.remote.http.Route.execute(Route.java:68) local variable: org.openqa.selenium.remote.http.HttpRequest#34 at org.openqa.selenium.remote.AddWebDriverSpecHeaders.lambda$apply$0(AddWebDriverSpecHeaders.java:35) at org.openqa.selenium.remote.AddWebDriverSpecHeaders$$Lambda$692.execute() at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44) local variable: org.openqa.selenium.remote.ErrorFilter#322 at org.openqa.selenium.remote.ErrorFilter$$Lambda$691.execute() at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.remote.ErrorFilter.lambda$apply$0(ErrorFilter.java:44) local variable: org.openqa.selenium.remote.ErrorFilter#319 at org.openqa.selenium.remote.ErrorFilter$$Lambda$691.execute() at org.openqa.selenium.remote.http.Filter$1.execute(Filter.java:64) at org.openqa.selenium.netty.server.SeleniumHandler.lambda$channelRead0$0(SeleniumHandler.java:44) local variable: io.netty.channel.DefaultChannelHandlerContext#3697 at org.openqa.selenium.netty.server.SeleniumHandler$$Lambda$689.run() at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) local variable: java.util.concurrent.Executors$RunnableAdapter#353 at java.util.concurrent.FutureTask.run(FutureTask.java:264) local variable: java.util.concurrent.FutureTask#353 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) local variable: java.util.concurrent.ThreadPoolExecutor#7 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#6 local variable: java.lang.Thread#7 local variable: java.util.concurrent.FutureTask#353 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.lang.Thread.run(Thread.java:829) "grpc-default-executor-152" daemon prio=5 tid=1285 TIMED_WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) local variable: java.lang.Thread#8 at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:462) local variable: java.util.concurrent.SynchronousQueue$TransferStack#1 local variable: java.util.concurrent.SynchronousQueue$TransferStack$SNode#4 local variable: java.lang.Thread#8 at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:361) local variable: java.util.concurrent.SynchronousQueue$TransferStack#1 local variable: java.util.concurrent.SynchronousQueue$TransferStack$SNode#4 at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1053) local variable: java.util.concurrent.ThreadPoolExecutor#1 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ThreadPoolExecutor#1 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#7 local variable: java.lang.Thread#8 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.lang.Thread.run(Thread.java:829) "grpc-default-executor-153" daemon prio=5 tid=1286 TIMED_WAITING at jdk.internal.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234) local variable: java.lang.Thread#1 at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:462) local variable: java.util.concurrent.SynchronousQueue$TransferStack#1 local variable: java.util.concurrent.SynchronousQueue$TransferStack$SNode#9 local variable: java.lang.Thread#1 at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:361) local variable: java.util.concurrent.SynchronousQueue$TransferStack#1 local variable: java.util.concurrent.SynchronousQueue$TransferStack$SNode#9 at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1053) local variable: java.util.concurrent.ThreadPoolExecutor#1 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114) local variable: java.util.concurrent.ThreadPoolExecutor#1 local variable: java.util.concurrent.ThreadPoolExecutor$Worker#1 local variable: java.lang.Thread#1 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.lang.Thread.run(Thread.java:829) "Attach Listener" daemon prio=9 tid=1287 RUNNABLE ```

it seems that thread pool 5 from the bad snapshot has quite a few more threads than thread pool 5 from the good snapshot. also, all of these threads are in a TIMED_WAITING state. if I had to venture a guess, they seem to be deadlocked?

-Michael Evans

diemol commented 2 years ago

OK, there was an issue where sometimes the full HTTP message was not being read which caused the Netty pipeline to get stuck and not process any more requests. This was a fix in 4.1.4. We were able to fix because a test case to reproduce it was provided.

If this is still happening, would be great to get a way to reproduce it.

github-actions[bot] commented 2 years ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.