We're updating the issue view to help you get more done. 

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

Affected OS

None

Severity

Medium

Target Version/s

R3 Corda 3.0 GA RC07
Corda 3.3

Feature Team

Corda Core

Fix versions

Priority

Medium