Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Explorer can't load objects for some devices #13

Open
Frozenlock opened this issue May 19, 2020 · 0 comments
Open

Explorer can't load objects for some devices #13

Frozenlock opened this issue May 19, 2020 · 0 comments

Comments

@Frozenlock
Copy link
Owner

In some cases the explorer cannot display objects information:
image

The underlying error:

Read-property-multiple error.
(([:binary-value 30] :object-name :description :units :present-value) ([:binary-value 31] :object-name :description :units :present-value) ([:binary-value 32] :object-name :description :units :present-value) ([:binary-value 33] :object-name :description :units :present-value) ([:binary-value 34] :object-name :description :units :present-value) ([:binary-value 35] :object-name :description :units :present-value) ([:binary-value 36] :object-name :description :units :present-value) ([:binary-value 37] :object-name :description :units :present-value) ([:binary-value 38] :object-name :description :units :present-value) ([:binary-value 39] :object-name :description :units :present-value) ([:binary-value 40] :object-name :description :units :present-value) ([:binary-value 41] :object-name :description :units :present-value) ([:binary-value 42] :object-name :description :units :present-value) ([:binary-value 43] :object-name :description :units :present-value) ([:binary-value 44] :object-name :description :units :present-value) ([:binary-value 45] :object-name :description :units :present-value) ([:binary-value 46] :object-name :description :units :present-value) ([:binary-value 47] :object-name :description :units :present-value) ([:binary-value 48] :object-name :description :units :present-value) ([:binary-value 49] :object-name :description :units :present-value))
{:error {:raw-exception #error {
 :cause "index 0 is >= queue size 0"
 :via
 [{:type com.serotonin.bacnet4j.exception.ReflectionException
   :message "java.lang.reflect.InvocationTargetException"
   :at [com.serotonin.bacnet4j.type.Encodable read "Encodable.java" 237]}
  {:type java.lang.reflect.InvocationTargetException
   :message nil
   :at [sun.reflect.GeneratedConstructorAccessor8 newInstance nil -1]}
  {:type java.lang.IllegalArgumentException
   :message "index 0 is >= queue size 0"
   :at [com.serotonin.bacnet4j.util.sero.ByteQueue peek "ByteQueue.java" 429]}]
 :trace
 [[com.serotonin.bacnet4j.util.sero.ByteQueue peek "ByteQueue.java" 429]
  [com.serotonin.bacnet4j.type.primitive.Primitive createPrimitive "Primitive.java" 44]
  [com.serotonin.bacnet4j.type.Encodable read "Encodable.java" 227]
  [com.serotonin.bacnet4j.type.constructed.Choice read "Choice.java" 114]
  [com.serotonin.bacnet4j.type.constructed.Choice <init> "Choice.java" 79]
  [com.serotonin.bacnet4j.type.Encodable readChoice "Encodable.java" 267]
  [com.serotonin.bacnet4j.type.constructed.ReadAccessResult$Result <init> "ReadAccessResult.java" 141]
  [sun.reflect.GeneratedConstructorAccessor8 newInstance nil -1]
  [sun.reflect.DelegatingConstructorAccessorImpl newInstance "DelegatingConstructorAccessorImpl.java" 45]
  [java.lang.reflect.Constructor newInstance "Constructor.java" 422]
  [com.serotonin.bacnet4j.type.Encodable read "Encodable.java" 230]
  [com.serotonin.bacnet4j.type.constructed.SequenceOf <init> "SequenceOf.java" 87]
  [com.serotonin.bacnet4j.type.Encodable readSequenceOf "Encodable.java" 309]
  [com.serotonin.bacnet4j.type.Encodable readOptionalSequenceOf "Encodable.java" 342]
  [com.serotonin.bacnet4j.type.constructed.ReadAccessResult <init> "ReadAccessResult.java" 75]
  [sun.reflect.GeneratedConstructorAccessor10 newInstance nil -1]
  [sun.reflect.DelegatingConstructorAccessorImpl newInstance "DelegatingConstructorAccessorImpl.java" 45]
  [java.lang.reflect.Constructor newInstance "Constructor.java" 422]
  [com.serotonin.bacnet4j.type.Encodable read "Encodable.java" 230]
  [com.serotonin.bacnet4j.type.constructed.SequenceOf <init> "SequenceOf.java" 74]
  [com.serotonin.bacnet4j.type.Encodable readSequenceOf "Encodable.java" 298]
  [com.serotonin.bacnet4j.service.acknowledgement.ReadPropertyMultipleAck <init> "ReadPropertyMultipleAck.java" 56]
  [com.serotonin.bacnet4j.service.acknowledgement.AcknowledgementService createAcknowledgementService "AcknowledgementService.java" 52]
  [com.serotonin.bacnet4j.apdu.ComplexACK parseServiceData "ComplexACK.java" 211]
  [com.serotonin.bacnet4j.transport.DefaultTransport completeComplexAckResponse "DefaultTransport.java" 760]
  [com.serotonin.bacnet4j.transport.DefaultTransport receiveAPDU "DefaultTransport.java" 682]
  [com.serotonin.bacnet4j.transport.DefaultTransport receiveImpl "DefaultTransport.java" 578]
  [com.serotonin.bacnet4j.transport.DefaultTransport run "DefaultTransport.java" 498]
  [java.lang.Thread run "Thread.java" 745]]}}}

For the problematic devices, this occurs when we fetch data for ~40 objects (explorer fetches data for 50 objects at a time). It is yet to be determined if it's caused by a bug in Bacnet4J or directly in the problematic devices.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant