DemoBench's "Launch Explorer" button is not re-enabled when you close Node Explorer

Description

  • Launch a node from DemoBench and then press its "Launch Explorer" button. Wait for the Explorer to start. The button will now be disabled.

  • Close the Node Explorer again, clicking "OK" on the confirmation dialog.

The "Launch Explorer" button is still disabled after this. It should have been re-enabled when the Explorer closed.

What's actually happened here is that the Node Explorer's Java process has not exited. DemoBench is still waiting for the child process to die, and will re-enable the "Launch" button if you kill the Explorer manually.

According to jstack, this non-daemon thread is still running:

1 2 3 4 5 6 7 8 9 10 11 "rpc-client-sender-0" #33 prio=5 os_prio=0 tid=0x00007fe08a29c000 nid=0x5ca5 waiting on condition [0x00007fe07dd35000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000006ceb805c0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)

Status

Assignee

Viktor Kolomeyko

Reporter

Chris Rankin

Labels

Priority

Medium

Fix versions

Ported to...

None

Feature Team

Corda Core

Severity

Medium
Configure