Skip to content

Explorer can't load objects for some devices #13

@Frozenlock

Description

@Frozenlock

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions