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

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.

Thereā€™s always one trouble maker in a group isnā€™t there :smile:

Thatā€™s interesting. The queues werenā€™t getting closed properly - Dan posted me a dump yesterday and Iā€™ve since added some code to try to clear resources better on shutdown. Iā€™m not sure if it will fix these ones - if they really are orphaned, then itā€™s probably game over and weā€™ll have to find out why.

Iā€™ll try and do that tonight if I can, otherwise tomorrowā€¦

At the end of the day, these issues are not new, so Iā€™m not so concerned about them right now (but Iā€™d like to resolve them soon). My immediate concern is to have a stable binding with the hold-off code which has been elusive for the past couple of weeksā€¦

Yep. Always! LOL

Are those changes included in the version linked to in post #1?

So, hereā€™s an example. One observation is that the threads that donā€™t go away when the binding is stopped are created early in the lifecycle (i.e. shortly after starting the binding).

Snapshot of threads when binding is running.

"pool-51-thread-7" Id=340 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@4f237746
"pool-51-thread-6" Id=341 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@7266632
"pool-51-thread-5" Id=342 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@11f19d
"pool-51-thread-10" Id=345 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@5735207b
"pool-51-thread-9" Id=346 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@6ca47b32
"pool-68-thread-59" Id=37829 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@66d0852
"pool-7537-thread-3" Id=261779 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@7a3dd92c
"pool-27743-thread-5" Id=875560 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@3a77f931
"pool-28836-thread-1" Id=906561 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@7578d535

After stopping the binding, theyā€™re all still there.

"pool-51-thread-7" Id=340 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@4f237746
"pool-51-thread-6" Id=341 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@7266632
"pool-51-thread-5" Id=342 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@11f19d
"pool-51-thread-10" Id=345 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@5735207b
"pool-51-thread-9" Id=346 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@6ca47b32
"pool-68-thread-59" Id=37829 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@66d0852
"pool-7537-thread-3" Id=261779 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@7a3dd92c
"pool-27743-thread-5" Id=875560 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@3a77f931
"pool-28836-thread-1" Id=906561 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@7578d535

Shortly (less than a couple minutes) after starting the binding, there are a few new ones in addition the the others.

"pool-51-thread-7" Id=340 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@4f237746
"pool-51-thread-6" Id=341 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@7266632
"pool-51-thread-5" Id=342 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@11f19d
"pool-51-thread-10" Id=345 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@5735207b
"pool-51-thread-9" Id=346 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@6ca47b32
"pool-68-thread-59" Id=37829 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@66d0852
"pool-7537-thread-3" Id=261779 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@7a3dd92c
"pool-27743-thread-5" Id=875560 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@3a77f931
"pool-28836-thread-1" Id=906561 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@7578d535
"pool-29191-thread-1" Id=915699 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@28f44836
"pool-29191-thread-7" Id=915713 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@678914b
"pool-29191-thread-3" Id=915717 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@1cfdd97
"pool-29191-thread-8" Id=915720 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@764da839
"pool-29191-thread-6" Id=915721 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@8e1ac0
"pool-29191-thread-10" Id=915722 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@3d835f0

And, finally, after stopping the binding again.

"pool-51-thread-7" Id=340 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@4f237746
"pool-51-thread-6" Id=341 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@7266632
"pool-51-thread-5" Id=342 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@11f19d
"pool-51-thread-10" Id=345 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@5735207b
"pool-51-thread-9" Id=346 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@6ca47b32
"pool-68-thread-59" Id=37829 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@66d0852
"pool-7537-thread-3" Id=261779 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@7a3dd92c
"pool-27743-thread-5" Id=875560 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@3a77f931
"pool-28836-thread-1" Id=906561 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@7578d535
"pool-29191-thread-1" Id=915699 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@28f44836
"pool-29191-thread-3" Id=915717 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@1cfdd97
"pool-29191-thread-8" Id=915720 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@764da839
"pool-29191-thread-6" Id=915721 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@8e1ac0
"pool-29191-thread-10" Id=915722 in WAITING on lock=org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$1TransactionWaiter@3d835f0

No - I only updated the code last night and didnā€™t regenerate the JAR.

Its usually me.

After about an hour after restarting, this thread seems to be winningā€¦

As Iā€™d probably expect - itā€™s the main receive processing thread.

Ohā€¦ OK. I thought that was this oneā€¦

No - this one handles the serial receive - not the processing of messages. The serial handler receives the frames and puts them in a queue, the receive thread takes them out of the queue when and processes them.

1 Like

@chris : here are my logs when updating the ST814 config from Paper UI. Myabe you can find something that could explain why the setup is not applied.
As a reminder, I just try to set the parameter ā€œ6: Auto report timeā€ to XX minutes, 60 if I correctly rememberā€¦

It looks to me like youā€™re setting param 6 to 0 (disable). I would expect this to be 00 3C for 60 minutes.

For example, hereā€™s mine being set to 30 minutes (00 1E).

zwave.log.20180804003918:2018-08-03 21:52:39.102 [DEBUG] [g.openhab.binding.zwave.handler.ZWaveSerialHandler] - NODE 2: Sending REQUEST Message = 01 0D 00 13 02 06 70 04 06 02 00 1E 25 6E C0

I donā€™t understand. Does it mean the values entered in Paper UI are ignored ?!
Is there a log in the binding that shows the set of settings coming from Paper UI ?

Youā€™ll see what PaperUI (or Habmin) is sending to the REST API in your browser dev tools.