Please Note This forum exists for community support for the Mango product family and the Radix IoT Platform. Although Radix IoT employees participate in this forum from time to time, there is no guarantee of a response to anything posted here, nor can Radix IoT, LLC guarantee the accuracy of any information expressed or conveyed. Specific project questions from customers with active support contracts are asked to send requests to support@radixiot.com.
Bacnet stopped reading
-
Hey hey, I have three devices on a site which stopped reading over Bacnet, all on the same day. I pulled some logs off of one device and this what happened on that day.
ERROR 2018-05-02 20:00:51,787 (com.serotonin.bacnet4j.event.DefaultExceptionListener.receivedException:48) -
com.serotonin.bacnet4j.exception.ReflectionException: java.lang.reflect.InvocationTargetException
at com.serotonin.bacnet4j.type.Encodable.read(Encodable.java:214)
at com.serotonin.bacnet4j.service.unconfirmed.IAmRequest.<init>(IAmRequest.java:108)
at com.serotonin.bacnet4j.service.unconfirmed.UnconfirmedRequestService.createUnconfirmedRequestService(UnconfirmedRequestService.java:74)
at com.serotonin.bacnet4j.apdu.UnconfirmedRequest.parseServiceData(UnconfirmedRequest.java:91)
at com.serotonin.bacnet4j.transport.DefaultTransport.receiveAPDU(DefaultTransport.java:538)
at com.serotonin.bacnet4j.transport.DefaultTransport.receiveImpl(DefaultTransport.java:463)
at com.serotonin.bacnet4j.transport.DefaultTransport.run(DefaultTransport.java:404)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedConstructorAccessor11.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.serotonin.bacnet4j.type.Encodable.read(Encodable.java:202)
... 7 more
Caused by: java.lang.ArrayIndexOutOfBoundsException
ERROR 2018-05-02 20:26:55,329 (com.serotonin.bacnet4j.event.DefaultExceptionListener.receivedException:48) -
com.serotonin.bacnet4j.exception.ReflectionException: java.lang.reflect.InvocationTargetException
at com.serotonin.bacnet4j.type.Encodable.read(Encodable.java:214)
at com.serotonin.bacnet4j.service.unconfirmed.IAmRequest.<init>(IAmRequest.java:108)
at com.serotonin.bacnet4j.service.unconfirmed.UnconfirmedRequestService.createUnconfirmedRequestService(UnconfirmedRequestService.java:74)
at com.serotonin.bacnet4j.apdu.UnconfirmedRequest.parseServiceData(UnconfirmedRequest.java:91)
at com.serotonin.bacnet4j.transport.DefaultTransport.receiveAPDU(DefaultTransport.java:538)
at com.serotonin.bacnet4j.transport.DefaultTransport.receiveImpl(DefaultTransport.java:463)
at com.serotonin.bacnet4j.transport.DefaultTransport.run(DefaultTransport.java:404)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedConstructorAccessor11.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.serotonin.bacnet4j.type.Encodable.read(Encodable.java:202)
... 7 more
Caused by: java.lang.ArrayIndexOutOfBoundsExceptionAny ideas what that might be? Array index is interesting. The solution is just to restart the data source.
-
Just to add, all of the devices started talking to their Bacnet slaves as soon as the data source was restarted. I would really like to get to a point where this could recover on its own.
-
@psysak I'll be working in the BACnet4J library later this week or early next. This looks like a potential bug so I'll see if I can fix it up for you while I'm in there.
-
@psysak It looks like you are using an older version of the BACnet4J library, I would suggest using the latest version 4.1.6 and see if you still have the problem. If you do then re-post the new stack trace so I can see how it fits in the latest code. I'm working on the library this week so if you can get the me the info before I move on then I'll make a fix if something is broken.