OH2 Z-Wave refactoring and testing... and SECURITY

I have groups of all blinds on one floor. sending commands to 8 devices in a group result in quite some delay

My Kitchen has 6 lights (3 dimmers and 3 switches), sending a command to the group item results in all turning on under 2 seconds for for me, one of the dimmers seems to take a second longer then the rest.

I do have a somfy zwave device which exposes 5 virtual zwave devices for blinds, these have a more significant delay coordinating the blinds together, but in my case this is due to the somfy radio protocol from the somfy device to the blinds, as the binding sends a command and receives an ack within 2-3 seconds.

I’m using scene switches to toggle scenes to e.g. turn off all lights and lower all the blinds etc at a time.
That’s sometimes resulting in (just guessing, didn’t count) ~20 consecutive zwave commands.
That always has been a bit laggy and I believe still is, but that’s also due to slow OH HW (RPi3).

since I am at around 70 zwave devices meanwhile and a whole lot of other stuff in openhab I also consider that my PI2 might be a bootleneck.
Also system health looks fine with low cpu etc. it’s worth a try to just let OH run on my desktop client once to see what the effect would be :slight_smile:

I switched to a asus tinker board and am very happy with the performance for the price.

@chris , This morning it looks like I have a few stuck threads, maybe the result of a overnight network heal. Let me know if you want a log file for this.

"Thread-6298" Id=36159 in WAITING on lock=java.util.concurrent.FutureTask@1ff95c9
    at sun.misc.Unsafe.park(Native Method)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:429)
    at java.util.concurrent.FutureTask.get(FutureTask.java:191)
    at org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager.sendTransaction(ZWaveTransactionManager.java:1131)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.sendTransaction(ZWaveController.java:520)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:249)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1090)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"pool-59-thread-66" Id=36179 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@12e2789
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:502)
    at org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter.call(ZWaveTransactionManager.java:1059)
    at org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter.call(ZWaveTransactionManager.java:1)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

"Thread-6319" Id=36202 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6320" Id=36203 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6321" Id=36204 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6322" Id=36205 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6323" Id=36206 in WAITING on lock=java.util.concurrent.FutureTask@13dba80
    at sun.misc.Unsafe.park(Native Method)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:429)
    at java.util.concurrent.FutureTask.get(FutureTask.java:191)
    at org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager.sendTransaction(ZWaveTransactionManager.java:1131)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.sendTransaction(ZWaveController.java:520)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:249)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6324" Id=36209 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6327" Id=36217 in WAITING on lock=java.util.concurrent.FutureTask@16c53dd
    at sun.misc.Unsafe.park(Native Method)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:429)
    at java.util.concurrent.FutureTask.get(FutureTask.java:191)
    at org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager.sendTransaction(ZWaveTransactionManager.java:1131)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.sendTransaction(ZWaveController.java:520)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:249)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1072)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6328" Id=36218 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6329" Id=36219 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6330" Id=36222 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6331" Id=36223 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6333" Id=36225 in WAITING on lock=java.util.concurrent.FutureTask@1b16cc1
    at sun.misc.Unsafe.park(Native Method)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:429)
    at java.util.concurrent.FutureTask.get(FutureTask.java:191)
    at org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager.sendTransaction(ZWaveTransactionManager.java:1131)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.sendTransaction(ZWaveController.java:520)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:249)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"pool-59-thread-91" Id=36229 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@2a8f29
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:502)
    at org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter.call(ZWaveTransactionManager.java:1059)
    at org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter.call(ZWaveTransactionManager.java:1)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

"Thread-6336" Id=36234 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"pool-59-thread-97" Id=36236 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@b91f97
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:502)
    at org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter.call(ZWaveTransactionManager.java:1059)
    at org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter.call(ZWaveTransactionManager.java:1)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

"Thread-6339" Id=36239 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6342" Id=36247 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6343" Id=36248 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6344" Id=36249 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6345" Id=36250 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"pool-59-thread-105" Id=36252 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@e75d8f
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:502)
    at org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter.call(ZWaveTransactionManager.java:1059)
    at org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter.call(ZWaveTransactionManager.java:1)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

"Thread-6346" Id=36254 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6348" Id=36259 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6349" Id=36260 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

Thanks - I’ll take a look. From a quick look though, I don’t think this is an issue. The transaction threads are likely fine (unless they stay there indefinitely) as there will be transactions in the queue if things are happening.

Most of these are related to the initialisation / heal - I would have expected these to finish, but battery devices especially may hold this open for a long time. I might name these threads so we can get a better idea of what’s up and make sure there is only one per node.

Oh, and I guess the fact that there’s no “complaints” is a good sign that (so far) we’ve not seen the Queue Full lock? :sunglasses:

They have held constant for at least the last hour, so I’m assuming they are stuck, but I will let it run today and see if they clear. I do have one battery device (lock), the rest are mains devices.

I think so! Do you know exactly what the message would be if that happened? I’ll search for it in the logs just to be sure, but so far I have not seen it.

What do you mean by “stuck”? I don’t think it’s necessarily a problem - for battery devices especially, they might never complete the heal, and so long as there’s only ever 1 heal task per device, it should be ok I think?

Yes - you get the Queue Full exception and everything stops - I think you’d know as your system would stop working.

I do not have this in the log for sure.

1 Like

Neither do I.

EDIT: still running after 2 days.

I admit I’m not familiar with the underlying code, but it seems like these are waiting forever, since I only have one battery device, I’m assuming many of these are for mains devices which I think would have finished by now. How long should a thread hang around in processTransaction for non battery devices?

Normally, not too long - maybe a few 10s of seconds. But there were only 3 or maybe 4 of these - are they still there if you look again now? (can you provide the dump again)?

Here is the thread list now…

"Thread-6298" Id=36159 in WAITING on lock=java.util.concurrent.FutureTask@1ff95c9
    at sun.misc.Unsafe.park(Native Method)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:429)
    at java.util.concurrent.FutureTask.get(FutureTask.java:191)
    at org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager.sendTransaction(ZWaveTransactionManager.java:1131)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.sendTransaction(ZWaveController.java:520)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:249)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1090)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"pool-59-thread-66" Id=36179 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@12e2789
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:502)
    at org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter.call(ZWaveTransactionManager.java:1059)
    at org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter.call(ZWaveTransactionManager.java:1)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

"Thread-6319" Id=36202 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6320" Id=36203 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6321" Id=36204 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6322" Id=36205 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6323" Id=36206 in WAITING on lock=java.util.concurrent.FutureTask@13dba80
    at sun.misc.Unsafe.park(Native Method)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:429)
    at java.util.concurrent.FutureTask.get(FutureTask.java:191)
    at org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager.sendTransaction(ZWaveTransactionManager.java:1131)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.sendTransaction(ZWaveController.java:520)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:249)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6324" Id=36209 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6327" Id=36217 in WAITING on lock=java.util.concurrent.FutureTask@16c53dd
    at sun.misc.Unsafe.park(Native Method)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:429)
    at java.util.concurrent.FutureTask.get(FutureTask.java:191)
    at org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager.sendTransaction(ZWaveTransactionManager.java:1131)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.sendTransaction(ZWaveController.java:520)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:249)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1072)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6328" Id=36218 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6329" Id=36219 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6330" Id=36222 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6331" Id=36223 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6333" Id=36225 in WAITING on lock=java.util.concurrent.FutureTask@1b16cc1
    at sun.misc.Unsafe.park(Native Method)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:429)
    at java.util.concurrent.FutureTask.get(FutureTask.java:191)
    at org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager.sendTransaction(ZWaveTransactionManager.java:1131)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.sendTransaction(ZWaveController.java:520)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:249)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"pool-59-thread-91" Id=36229 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@2a8f29
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:502)
    at org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter.call(ZWaveTransactionManager.java:1059)
    at org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter.call(ZWaveTransactionManager.java:1)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

"Thread-6336" Id=36234 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"pool-59-thread-97" Id=36236 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@b91f97
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:502)
    at org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter.call(ZWaveTransactionManager.java:1059)
    at org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter.call(ZWaveTransactionManager.java:1)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

"Thread-6339" Id=36239 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6342" Id=36247 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6343" Id=36248 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6344" Id=36249 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6345" Id=36250 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"pool-59-thread-105" Id=36252 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@e75d8f
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:502)
    at org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter.call(ZWaveTransactionManager.java:1059)
    at org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter.call(ZWaveTransactionManager.java:1)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

"Thread-6346" Id=36254 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6348" Id=36259 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

"Thread-6349" Id=36260 in TIMED_WAITING
    at java.lang.Thread.sleep(Native Method)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:276)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.processTransaction(ZWaveNodeInitStageAdvancer.java:222)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.doHealStages(ZWaveNodeInitStageAdvancer.java:1083)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer.access$4(ZWaveNodeInitStageAdvancer.java:1051)
    at org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer$1.run(ZWaveNodeInitStageAdvancer.java:178)

So the same 4 transactions are still waiting, but without knowing what they are, I don’t think we can be sure they are not waiting for a device.

Without more information I’m not sure I can do anything - or in fact if there is anything wrong here. I’d suggest for now to keep an eye on it - if there’s a leak, then I would expect it to get worse over time.

1 Like

I’ll watch today, also posted the overnight log file to you site just in case (feel free to ignore). The really good news is that everything else looks healthy.

1 Like

I installed the latest version in all three of my systems. All three have been running smoothly for the past 24 hours. Of course, I was not experiencing any issues with the previous version.

I’ve also noticed that there are some TransactionWaiter threads that seem to hang around (which I’m not saying is a problem). I’ve hesitated to bring it up without having many facts. But, since @digitaldan brought it up…

It appears that those threads don’t go away when the binding is stopped (such as when installing a new jar and/or stopping/starting the binding. Fortunately, it’s only a few threads (11 on one system, 9 on one system, and 0 on the other system) so it likely won’t cause any issues.

I agree it would be helpful if you could name the pools/threads so that we can tell what the threads are associated with. That way we might be able to identify a related event in the log.