I am experiencing a binding crash (everything else works fine, but nothing zwave responds) every few days (2.1.0-SNAPSHOT Build #908, ZWave Binding 2.1.0.201705281057). This has been occurring with all OH2 and test zwave builds I’ve tried over the last 6 months, so nothing newly introduced. These are from the Karaf console. The first error repeats several times (probably another issue), but the last one is always associated with a zwave binding (maybe serial?) crash:
java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor62.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.openhab.binding.zwave.internal.protocol.commandclass.ZWaveCommandClass.handleApplicationCommandRequest(ZWaveCommandClass.java:245)
at org.openhab.binding.zwave.internal.protocol.ZWaveNode.processCommand(ZWaveNode.java:1284)
at org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$ZWaveReceiveThread.run(ZWaveTransactionManager.java:413)
Caused by: java.lang.NullPointerException
at org.openhab.binding.zwave.internal.protocol.commandclass.ZWaveAlarmCommandClass.handleNotificationReport(ZWaveAlarmCommandClass.java:140)
... 6 more
Exception in thread "Thread-43" java.lang.ArrayIndexOutOfBoundsException: 0
at org.openhab.binding.zwave.internal.protocol.ZWaveCommandClassPayload.getCommandClassId(ZWaveCommandClassPayload.java:38)
at org.openhab.binding.zwave.internal.protocol.ZWaveNode.processCommand(ZWaveNode.java:1243)
at org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager$ZWaveReceiveThread.run(ZWaveTransactionManager.java:413)
I have 3 Aeon HEMs (G1) that report every 10s, and have a rule to alert if they don’t report in 3 minutes:
2017-06-01 00:33:20.599 [Rules ] - Alert: SMS notification sent [Warning! Zwave may no longer be responding]
Correlating the time to the zwave log file, there is an error received around the time zwave reportedly stopped responding (I’ll email you a section of the file):
2017-06-01 00:30:11.810 [Handler$ZWaveReceiveThread] - Exception during ZWave thread.
java.lang.IllegalStateException: Queue full
at java.util.AbstractQueue.add(AbstractQueue.java:98)[:1.8.0_131]
at java.util.concurrent.ArrayBlockingQueue.add(ArrayBlockingQueue.java:312)[:1.8.0_131]
at org.openhab.binding.zwave.internal.protocol.ZWaveTransactionManager.processReceiveMessage(ZWaveTransactionManager.java:345)[9:org.openhab.binding.zwave:2.1.0.201705281057]
at org.openhab.binding.zwave.internal.protocol.ZWaveController.incomingPacket(ZWaveController.java:1216)[9:org.openhab.binding.zwave:2.1.0.201705281057]
at org.openhab.binding.zwave.handler.ZWaveControllerHandler.incomingMessage(ZWaveControllerHandler.java:636)[9:org.openhab.binding.zwave:2.1.0.201705281057]
at org.openhab.binding.zwave.handler.ZWaveSerialHandler$ZWaveReceiveThread.run(ZWaveSerialHandler.java:320)[9:org.openhab.binding.zwave:2.1.0.201705281057]
Stopping serial and zwave, then restarting the bindings restores functionality. Sometimes for hours, sometimes for days (always less than a week). With previous versions of the binding (haven’t tested this recently), removing the HEM items prevented the crash. Please let me know if there are any more details needed to troubleshoot!