NioChannelHub must be explicitly shut down
... or else it'll keep running. This can be seen as a large number of zombie threads like the following in the unit test: "NioChannelHub keys=0 gen=0: Computer.threadPoolForRemoting [#250]" daemon prio=10 tid=0x00007f793d841000 nid=0x3cc1 runnable [0x00007f78e2665000] java.lang.Thread.State: RUNNABLE at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method) at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:228) at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:81) at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87) - locked <0x00000000c50d46d8> (a sun.nio.ch.Util$2) - locked <0x00000000c50d46e8> (a java.util.Collections$UnmodifiableSet) - locked <0x00000000c50d4690> (a sun.nio.ch.EPollSelectorImpl) at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98) at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:102) at org.jenkinsci.remoting.nio.NioChannelHub.run(NioChannelHub.java:542) at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722)
Loading
Please register or sign in to comment