InvocationTargetException with eventenrolment, averaging, lifesafetyzone objects
-
Hi
Sorry for my english. I am testing BACnet4J with BACnet Device Simulator 2.0 from http://www.scadaengine.com/software6.html.
I have a problem with ReadAllAvailableProperties test. (I modified few lines of code to test it with remote device.)
During the test when BACnet Device Simulator has one off these objects:
EventEnrolment,
Averaging,
LifeSafetyZone;
InvocationTargetException exception occure, for others objects it works fine.for object
EventEnrolmentexception:
Send Broadcast WhoIsRequest() DiscoveryTest iAmReceived waited for iAmReceived: 94 ms Start read properties Cleanup loopDevice Exception in thread "main" com.serotonin.bacnet4j.exception.BACnetException: java.lang.reflect.InvocationTargetException at com.serotonin.bacnet4j.type.Encodable.read(Encodable.java:168) at com.serotonin.bacnet4j.type.constructed.SequenceOf.<init>(SequenceOf.java:55) at com.serotonin.bacnet4j.type.Encodable.readSequenceOf(Encodable.java:213) at com.serotonin.bacnet4j.service.acknowledgement.ReadPropertyMultipleAck.<init>(ReadPropertyMultipleAck.java:50) at com.serotonin.bacnet4j.service.acknowledgement.AcknowledgementService.createAcknowledgementService(AcknowledgementService.java:48) at com.serotonin.bacnet4j.apdu.ComplexACK.parseServiceData(ComplexACK.java:191) at com.serotonin.bacnet4j.npdu.ip.IpMessageControl.waitForAck(IpMessageControl.java:671) at com.serotonin.bacnet4j.npdu.ip.IpMessageControl.send(IpMessageControl.java:300) at com.serotonin.bacnet4j.npdu.ip.IpMessageControl.send(IpMessageControl.java:280) at com.serotonin.bacnet4j.npdu.ip.IpMessageControl.send(IpMessageControl.java:237) at com.serotonin.bacnet4j.LocalDevice.send(LocalDevice.java:425) at com.serotonin.bacnet4j.LocalDevice.send(LocalDevice.java:415) at com.serotonin.bacnet4j.LocalDevice.send(LocalDevice.java:408) at com.serotonin.bacnet4j.LocalDevice.readProperties(LocalDevice.java:864) at com.serotonin.bacnet4j.test.ReadAllAvailableProperties.printDevices(ReadAllAvailableProperties.java:180) at com.serotonin.bacnet4j.test.ReadAllAvailableProperties.main(ReadAllAvailableProperties.java:220) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:501) at com.serotonin.bacnet4j.type.Encodable.read(Encodable.java:165) ... 15 more Caused by: com.serotonin.bacnet4j.exception.BACnetException: java.lang.reflect.InvocationTargetException at com.serotonin.bacnet4j.type.Encodable.read(Encodable.java:168) at com.serotonin.bacnet4j.type.constructed.SequenceOf.<init>(SequenceOf.java:67) at com.serotonin.bacnet4j.type.Encodable.readSequenceOf(Encodable.java:224) at com.serotonin.bacnet4j.type.Encodable.readOptionalSequenceOf(Encodable.java:258) at com.serotonin.bacnet4j.type.constructed.ReadAccessResult.<init>(ReadAccessResult.java:64) ... 20 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedConstructorAccessor2.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:501) at com.serotonin.bacnet4j.type.Encodable.read(Encodable.java:165) ... 24 more Caused by: com.serotonin.bacnet4j.exception.BACnetException: java.lang.NoSuchMethodException: com.serotonin.bacnet4j.type.eventParameter.EventParameter.<init>(com.serotonin.util.queue.ByteQueue) at com.serotonin.bacnet4j.type.Encodable.read(Encodable.java:168) at com.serotonin.bacnet4j.type.Encodable.readWrapped(Encodable.java:343) at com.serotonin.bacnet4j.type.Encodable.readEncodable(Encodable.java:305) at com.serotonin.bacnet4j.type.constructed.ReadAccessResult$Result.<init>(ReadAccessResult.java:124) ... 28 more Caused by: java.lang.NoSuchMethodException: com.serotonin.bacnet4j.type.eventParameter.EventParameter.<init>(com.serotonin.util.queue.ByteQueue) at java.lang.Class.getConstructor0(Class.java:2678) at java.lang.Class.getConstructor(Class.java:1629) at com.serotonin.bacnet4j.type.Encodable.read(Encodable.java:165) ... 31 more
last frame send from remote device (from wireshark):
02004c4f4f500003ff393dbc080045000477142400008011d0b1a9fee4 22a9fe1981bac0bac004635435810a045b010800140600000000000030030e 0c020000001e294d4e7513004e6577205669727475616c204465766963654f 291c4e71004f293a4e750a006c6f63616c686f73744f290c4e7400312e304f29 0a4e220bb84f290b4e220bb84f29494e21014f294b4ec4020000004f294f4e9 1084f29704e91004f29794e750d00534341444120456e67696e654f29784e2 17b4f29464e752500534341444120456e67696e652053657276657220666f7 22057696e646f77732056312e304f292c4e750700322e302e32324f29624e2 1014f298b4e21044f29614e850600fffbb83fff4f29604e850501ffffffde4f294c4 ec402000000c4024000004f293e4e2204004f29a74e21014f296b4e91004f29 394eb40a3919604f29384ea46e0518014f29774e3201e04f29184e114f29744 e4f291e4ec40200000021146506000000000000c4023fffff21016506a9fee42 2bac0c4023fffff211461004f299b4e21004f299a4e4f299d4e2ea4ffffffffb4ffffff ff2f4f29994e213c4f29984e4f2a02004e114f2a02084e7536005363616e6e69 6e672044657669636573203a204c6f77204c696d6974203d20302048696768 204c696d6974203d20343139343330324f2a02014e233fffff4f29a84e750800 3132332d4445564f2a03ed4e4f294d4e7513004e6577205669727475616c20 4465766963654f291c4e71004f293a4e750a006c6f63616c686f73744f290c4e 7400312e304f290a4e220bb84f290b4e220bb84f29494e21014f294b4ec4020 000004f294f4e91084f29704e91004f29794e750d00534341444120456e6769 6e654f29784e217b4f29464e752500534341444120456e67696e6520536572 76657220666f722057696e646f77732056312e304f292c4e750700322e302e 32324f29624e21014f298b4e21044f29614e850600fffbb83fff4f29604e85050 1ffffffde4f294c4ec402000000c4024000004f293e4e2204004f29a74e21014f2 96b4e91004f29394eb40a391a0f4f29384ea46e0518014f29774e3201e04f29 184e114f29744e4f291e4ec40200000021146506000000000000c4023fffff21 016506a9fee422bac0c4023fffff211461004f299b4e21004f299a4e4f299d4e2 ea4ffffffffb4ffffffff2f4f29994e213c4f29984e4f2a02004e114f2a02084e75360 05363616e6e696e672044657669636573203a204c6f77204c696d6974203d2 0302048696768204c696d6974203d20343139343330324f2a02014e233fffff4 f29a84e7508003132332d4445564f2a03ed4e4f1f0c024000001e294d4e7510 004d79204e6577204f626a65637420304f291c4e71004f29254e91014f29484 e91004f29534e1e090a1e1f1f4f294e4e0c00000000190029003c000000004f 29234e8205004f29004e8205e04f29114e21004f294b4ec4024000004f294f4 e91094f29244e91004f29824e2ea4ffffffffb4ffffffff2f2ea4ffffffffb4ffffffff2f2ea 4ffffffffb4ffffffff2f4f29a84e7507003132332d45454f2a03e94e104f2a03ee4e 71004f1f
value from queue in Encodable.java (line 165) when exception occured:
[1e,9,a,1e,1f,1f,4f,29,4e,4e,c,0,0,0,0,19,0,29,0,3c,0,0,0,0,4f,29,23, 4e,82,5,0,4f,29,0,4e,82,5,e0,4f,29,11,4e,21,0,4f,29,4b,4e,c4,2,40,0,0,4f,2 9,4f,4e,91,9,4f,29,24,4e,91,0,4f,29,82,4e,2e,a4,ff,ff,ff,ff,b4,ff,ff,ff,ff,2f,2e, a4,ff,ff,ff,ff,b4,ff,ff,ff,ff,2f,2e,a4,ff,ff,ff,ff,b4,ff,ff,ff,ff,2f,4f,29,a8,4e,75,7,0,3 1,32,33,2d,45,45,4f,2a,3,e9,4e,10,4f,2a,3,ee,4e,71,0,4f,1f]
for object
Averagingexception:
Send Broadcast WhoIsRequest() DiscoveryTest iAmReceived waited for iAmReceived: 94 ms Start read properties Cleanup loopDevice Exception in thread "main" com.serotonin.bacnet4j.exception.BACnetException: java.lang.reflect.InvocationTargetException at com.serotonin.bacnet4j.type.Encodable.read(Encodable.java:168) at com.serotonin.bacnet4j.type.constructed.SequenceOf.<init>(SequenceOf.java:55) at com.serotonin.bacnet4j.type.Encodable.readSequenceOf(Encodable.java:213) at com.serotonin.bacnet4j.service.acknowledgement.ReadPropertyMultipleAck.<init>(ReadPropertyMultipleAck.java:50) at com.serotonin.bacnet4j.service.acknowledgement.AcknowledgementService.createAcknowledgementService(AcknowledgementService.java:48) at com.serotonin.bacnet4j.apdu.ComplexACK.parseServiceData(ComplexACK.java:191) at com.serotonin.bacnet4j.npdu.ip.IpMessageControl.waitForAck(IpMessageControl.java:671) at com.serotonin.bacnet4j.npdu.ip.IpMessageControl.send(IpMessageControl.java:300) at com.serotonin.bacnet4j.npdu.ip.IpMessageControl.send(IpMessageControl.java:280) at com.serotonin.bacnet4j.npdu.ip.IpMessageControl.send(IpMessageControl.java:237) at com.serotonin.bacnet4j.LocalDevice.send(LocalDevice.java:425) at com.serotonin.bacnet4j.LocalDevice.send(LocalDevice.java:415) at com.serotonin.bacnet4j.LocalDevice.send(LocalDevice.java:408) at com.serotonin.bacnet4j.LocalDevice.readProperties(LocalDevice.java:864) at com.serotonin.bacnet4j.test.ReadAllAvailableProperties.printDevices(ReadAllAvailableProperties.java:180) at com.serotonin.bacnet4j.test.ReadAllAvailableProperties.main(ReadAllAvailableProperties.java:220) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:501) at com.serotonin.bacnet4j.type.Encodable.read(Encodable.java:165) ... 15 more Caused by: com.serotonin.bacnet4j.exception.BACnetException: java.lang.reflect.InvocationTargetException at com.serotonin.bacnet4j.type.Encodable.read(Encodable.java:168) at com.serotonin.bacnet4j.type.constructed.SequenceOf.<init>(SequenceOf.java:67) at com.serotonin.bacnet4j.type.Encodable.readSequenceOf(Encodable.java:224) at com.serotonin.bacnet4j.type.Encodable.readOptionalSequenceOf(Encodable.java:258) at com.serotonin.bacnet4j.type.constructed.ReadAccessResult.<init>(ReadAccessResult.java:64) ... 20 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedConstructorAccessor2.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:501) at com.serotonin.bacnet4j.type.Encodable.read(Encodable.java:165) ... 24 more Caused by: com.serotonin.bacnet4j.exception.BACnetErrorException: Property: Missing required parameter at com.serotonin.bacnet4j.type.Encodable.popEnd(Encodable.java:131) at com.serotonin.bacnet4j.type.Encodable.readWrapped(Encodable.java:344) at com.serotonin.bacnet4j.type.Encodable.readEncodable(Encodable.java:305) at com.serotonin.bacnet4j.type.constructed.ReadAccessResult$Result.<init>(ReadAccessResult.java:124) ... 28 more
last frame send from remote device (from wireshark):
02004c4f4f500003ff393dbc080045000468143d00008011d0a7a9fee4 22a9fe1981bac0bac004546bc2810a044c010800140600000000000030030e 0c020000001e294d4e7513004e6577205669727475616c204465766963654f 291c4e71004f293a4e750a006c6f63616c686f73744f290c4e7400312e304f29 0a4e220bb84f290b4e220bb84f29494e21014f294b4ec4020000004f294f4e9 1084f29704e91004f29794e750d00534341444120456e67696e654f29784e2 17b4f29464e752500534341444120456e67696e652053657276657220666f7 22057696e646f77732056312e304f292c4e750700322e302e32324f29624e2 1014f298b4e21044f29614e850600fffbb83fff4f29604e850501ffffffde4f294c4 ec402000000c4048000004f293e4e2204004f29a74e21014f296b4e91004f29 394eb40b0521134f29384ea46e0518014f29774e3201e04f29184e114f29744 e4f291e4ec40200000021146506000000000000c4023fffff21016506a9fee42 2bac0c4023fffff211461004f299b4e21004f299a4e4f299d4e2ea4ffffffffb4ffffff ff2f4f29994e213c4f29984e4f2a02004e114f2a02084e7536005363616e6e69 6e672044657669636573203a204c6f77204c696d6974203d20302048696768 204c696d6974203d20343139343330324f2a02014e233fffff4f29a84e750800 3132332d4445564f2a03ed4e4f294d4e7513004e6577205669727475616c20 4465766963654f291c4e71004f293a4e750a006c6f63616c686f73744f290c4e 7400312e304f290a4e220bb84f290b4e220bb84f29494e21014f294b4ec4020 000004f294f4e91084f29704e91004f29794e750d00534341444120456e6769 6e654f29784e217b4f29464e752500534341444120456e67696e6520536572 76657220666f722057696e646f77732056312e304f292c4e750700322e302e 32324f29624e21014f298b4e21044f29614e850600fffbb83fff4f29604e85050 1ffffffde4f294c4ec402000000c4048000004f293e4e2204004f29a74e21014f2 96b4e91004f29394eb40b0521134f29384ea46e0518014f29774e3201e04f29 184e114f29744e4f291e4ec40200000021146506000000000000c4023fffff21 016506a9fee422bac0c4023fffff211461004f299b4e21004f299a4e4f299d4e2 ea4ffffffffb4ffffffff2f4f29994e213c4f29984e4f2a02004e114f2a02084e75360 05363616e6e696e672044657669636573203a204c6f77204c696d6974203d2 0302048696768204c696d6974203d20343139343330324f2a02014e233fffff4 f29a84e7508003132332d4445564f2a03ed4e4f1f0c048000001e294d4e7510 004d79204e6577204f626a65637420304f291c4e71004f297c4e21004f294e4 e0c0080000119553c020000004f29934e21004f29944e21004f294b4ec40480 00004f294f4e91124f29884e44000000004f29964ea4ffffffffb4ffffffff4f297d4e 44000000004f29974e44000000004f29874e44000000004f29954ea4ffffffffb4 ffffffff4f29924e21004f29a84e7507003132332d41564f1f
value from queue in Encodable.java (line 165) when exception occured:
[3c,2,0,0,0,4f,29,93,4e,21,0,4f,29,94,4e,21,0,4f,29,4b,4e,c4,4,80,0, 0,4f,29,4f,4e,91,12,4f,29,88,4e,44,0,0,0,0,4f,29,96,4e,a4,ff,ff,ff,ff,b4,ff,ff,ff ,ff,4f,29,7d,4e,44,0,0,0,0,4f,29,97,4e,44,0,0,0,0,4f,29,87,4e,44,0,0,0,0,4f, 29,95,4e,a4,ff,ff,ff,ff,b4,ff,ff,ff,ff,4f,29,92,4e,21,0,4f,29,a8,4e,75,7,0,31,32, 33,2d,41,56,4f,1f]
for object
LifeSafetyZoneexception:
Send Broadcast WhoIsRequest() DiscoveryTest iAmReceived waited for iAmReceived: 78 ms Start read properties Cleanup loopDevice Exception in thread "main" com.serotonin.bacnet4j.exception.BACnetException: java.lang.reflect.InvocationTargetException at com.serotonin.bacnet4j.type.Encodable.read(Encodable.java:168) at com.serotonin.bacnet4j.type.constructed.SequenceOf.<init>(SequenceOf.java:55) at com.serotonin.bacnet4j.type.Encodable.readSequenceOf(Encodable.java:213) at com.serotonin.bacnet4j.service.acknowledgement.ReadPropertyMultipleAck.<init>(ReadPropertyMultipleAck.java:50) at com.serotonin.bacnet4j.service.acknowledgement.AcknowledgementService.createAcknowledgementService(AcknowledgementService.java:48) at com.serotonin.bacnet4j.apdu.ComplexACK.parseServiceData(ComplexACK.java:191) at com.serotonin.bacnet4j.npdu.ip.IpMessageControl.waitForAck(IpMessageControl.java:671) at com.serotonin.bacnet4j.npdu.ip.IpMessageControl.send(IpMessageControl.java:300) at com.serotonin.bacnet4j.npdu.ip.IpMessageControl.send(IpMessageControl.java:280) at com.serotonin.bacnet4j.npdu.ip.IpMessageControl.send(IpMessageControl.java:237) at com.serotonin.bacnet4j.LocalDevice.send(LocalDevice.java:425) at com.serotonin.bacnet4j.LocalDevice.send(LocalDevice.java:415) at com.serotonin.bacnet4j.LocalDevice.send(LocalDevice.java:408) at com.serotonin.bacnet4j.LocalDevice.readProperties(LocalDevice.java:864) at com.serotonin.bacnet4j.test.ReadAllAvailableProperties.printDevices(ReadAllAvailableProperties.java:180) at com.serotonin.bacnet4j.test.ReadAllAvailableProperties.main(ReadAllAvailableProperties.java:220) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:501) at com.serotonin.bacnet4j.type.Encodable.read(Encodable.java:165) ... 15 more Caused by: com.serotonin.bacnet4j.exception.BACnetException: java.lang.reflect.InvocationTargetException at com.serotonin.bacnet4j.type.Encodable.read(Encodable.java:168) at com.serotonin.bacnet4j.type.constructed.SequenceOf.<init>(SequenceOf.java:67) at com.serotonin.bacnet4j.type.Encodable.readSequenceOf(Encodable.java:224) at com.serotonin.bacnet4j.type.Encodable.readOptionalSequenceOf(Encodable.java:258) at com.serotonin.bacnet4j.type.constructed.ReadAccessResult.<init>(ReadAccessResult.java:64) ... 20 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedConstructorAccessor2.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:501) at com.serotonin.bacnet4j.type.Encodable.read(Encodable.java:165) ... 24 more Caused by: com.serotonin.bacnet4j.exception.BACnetErrorException: Property: Missing required parameter at com.serotonin.bacnet4j.type.Encodable.popEnd(Encodable.java:131) at com.serotonin.bacnet4j.type.Encodable.readWrapped(Encodable.java:344) at com.serotonin.bacnet4j.type.Encodable.readEncodable(Encodable.java:305) at com.serotonin.bacnet4j.type.constructed.ReadAccessResult$Result.<init>(ReadAccessResult.java:124) ... 28 more
last frame send from remote device (from wireshark):
02004c4f4f500003ff393dbc0800450004b6145300008011d043a9fee4 22a9fe1981bac0bac004a286fb810a049a010800140600000000000030030e 0c058000001e294b4ec4058000004f294d4e7510004d79204e6577204f626a 65637420304f294f4e91164f29554e91004f29a44e91004f291c4e71004f291f 4e71004f296f4e8204004f29244e91004f29674e91004f29514e104f2a03ef4e 104f29a04e91004f29af4e4f29a34e91004f29a14e91004f299e4e91004f29a5 4e4f299f4e4f29714e21004f29114e21004f29a64e4f29074e4f29274e4f2923 4e8205004f29004e8205e04f29484e91014f29824e2ea4ffffffffb4ffffffff2f2ea 4ffffffffb4ffffffff2f2ea4ffffffffb4ffffffff2f4f29a84e7508003132332d4c535a4f2 a03e94e104f2a03ee4e71004f1f0c020000001e294d4e7513004e657720566 9727475616c204465766963654f291c4e71004f293a4e750a006c6f63616c68 6f73744f290c4e7400312e304f290a4e220bb84f290b4e220bb84f29494e210 14f294b4ec4020000004f294f4e91084f29704e91004f29794e750d00534341 444120456e67696e654f29784e217b4f29464e752500534341444120456e67 696e652053657276657220666f722057696e646f77732056312e304f292c4e 750700322e302e32324f29624e21014f298b4e21044f29614e850600fffbb83f ff4f29604e850501ffffffde4f294c4ec402000000c4058000004f293e4e220400 4f29a74e21014f296b4e91004f29394eb40b0803254f29384ea46e0518014f2 9774e3201e04f29184e114f29744e4f291e4ec402000000211465060000000 00000c4023fffff21016506a9fee422bac0c4023fffff211461004f299b4e21004f 299a4e4f299d4e2ea4ffffffffb4ffffffff2f4f29994e213c4f29984e4f2a02004e11 4f2a02084e7536005363616e6e696e672044657669636573203a204c6f7720 4c696d6974203d20302048696768204c696d6974203d20343139343330324f 2a02014e233fffff4f29a84e7508003132332d4445564f2a03ed4e4f294d4e75 13004e6577205669727475616c204465766963654f291c4e71004f293a4e75 0a006c6f63616c686f73744f290c4e7400312e304f290a4e220bb84f290b4e2 20bb84f29494e21014f294b4ec4020000004f294f4e91084f29704e91004f297 94e750d00534341444120456e67696e654f29784e217b4f29464e752500534 341444120456e67696e652053657276657220666f722057696e646f7773205 6312e304f292c4e750700322e302e32324f29624e21014f298b4e21044f2961 4e850600fffbb83fff4f29604e850501ffffffde4f294c4ec402000000c40580000 04f293e4e2204004f29a74e21014f296b4e91004f29394eb40b0803384f2938 4ea46e0518014f29774e3201e04f29184e114f29744e4f291e4ec4020000002 1146506000000000000c4023fffff21016506a9fee422bac0c4023fffff2114610 04f299b4e21004f299a4e4f299d4e2ea4ffffffffb4ffffffff2f4f29994e213c4f299 84e4f2a02004e114f2a02084e7536005363616e6e696e67204465766963657 3203a204c6f77204c696d6974203d20302048696768204c696d6974203d203 43139343330324f2a02014e233fffff4f29a84e7508003132332d4445564f2a0 3ed4e4f1f
value from queue in Encodable.java (line 165) when exception occured:
[0,4f,29,a5,4e,4f,29,9f,4e,4f,29,71,4e,21,0,4f,29,11,4e,21,0,4f,29,a 6,4e,4f,29,7,4e,4f,29,27,4e,4f,29,23,4e,82,5,0,4f,29,0,4e,82,5,e0,4f,29,48, 4e,91,1,4f,29,82,4e,2e,a4,ff,ff,ff,ff,b4,ff,ff,ff,ff,2f,2e,a4,ff,ff,ff,ff,b4,ff,ff,ff,ff ,2f,2e,a4,ff,ff,ff,ff,b4,ff,ff,ff,ff,2f,4f,29,a8,4e,75,8,0,31,32,33,2d,4c,53,5a,4f ,2a,3,e9,4e,10,4f,2a,3,ee,4e,71,0,4f,1f,c,2,0,0,0,1e,29,4d,4e,75,13,0,4e,6 5,77,20,56,69,72,74,75,61,6c,20,44,65,76,69,63,65,4f,29,1c,4e,71,0,4f,29, 3a,4e,75,a,0,6c,6f,63,61,6c,68,6f,73,74,4f,29,c,4e,74,0,31,2e,30,4f,29,a,4 e,22,b,b8,4f,29,b,4e,22,b,b8,4f,29,49,4e,21,1,4f,29,4b,4e,c4,2,0,0,0,4f,29, 4f,4e,91,8,4f,29,70,4e,91,0,4f,29,79,4e,75,d,0,53,43,41,44,41,20,45,6e,67 ,69,6e,65,4f,29,78,4e,21,7b,4f,29,46,4e,75,25,0,53,43,41,44,41,20,45,6e, 67,69,6e,65,20,53,65,72,76,65,72,20,66,6f,72,20,57,69,6e,64,6f,77,73,20, 56,31,2e,30,4f,29,2c,4e,75,7,0,32,2e,30,2e,32,32,4f,29,62,4e,21,1,4f,29,8 b,4e,21,4,4f,29,61,4e,85,6,0,ff,fb,b8,3f,ff,4f,29,60,4e,85,5,1,ff,ff,ff,de,4f,2 9,4c,4e,c4,2,0,0,0,c4,5,80,0,0,4f,29,3e,4e,22,4,0,4f,29,a7,4e,21,1,4f,29,6b ,4e,91,0,4f,29,39,4e,b4,b,8,3,25,4f,29,38,4e,a4,6e,5,18,1,4f,29,77,4e,32,1 ,e0,4f,29,18,4e,11,4f,29,74,4e,4f,29,1e,4e,c4,2,0,0,0,21,14,65,6,0,0,0,0,0, 0,c4,2,3f,ff,ff,21,1,65,6,a9,fe,e4,22,ba,c0,c4,2,3f,ff,ff,21,14,61,0,4f,29,9b, 4e,21,0,4f,29,9a,4e,4f,29,9d,4e,2e,a4,ff,ff,ff,ff,b4,ff,ff,ff,ff,2f,4f,29,99,4e,2 1,3c,4f,29,98,4e,4f,2a,2,0,4e,11,4f,2a,2,8,4e,75,36,0,53,63,61,6e,6e,69,6 e,67,20,44,65,76,69,63,65,73,20,3a,20,4c,6f,77,20,4c,69,6d,69,74,20,3d,2 0,30,20,48,69,67,68,20,4c,69,6d,69,74,20,3d,20,34,31,39,34,33,30,32,4f,2 a,2,1,4e,23,3f,ff,ff,4f,29,a8,4e,75,8,0,31,32,33,2d,44,45,56,4f,2a,3,ed,4e, 4f,29,4d,4e,75,13,0,4e,65,77,20,56,69,72,74,75,61,6c,20,44,65,76,69,63,6 5,4f,29,1c,4e,71,0,4f,29,3a,4e,75,a,0,6c,6f,63,61,6c,68,6f,73,74,4f,29,c,4e ,74,0,31,2e,30,4f,29,a,4e,22,b,b8,4f,29,b,4e,22,b,b8,4f,29,49,4e,21,1,4f,2 9,4b,4e,c4,2,0,0,0,4f,29,4f,4e,91,8,4f,29,70,4e,91,0,4f,29,79,4e,75,d,0,53, 43,41,44,41,20,45,6e,67,69,6e,65,4f,29,78,4e,21,7b,4f,29,46,4e,75,25,0,5 3,43,41,44,41,20,45,6e,67,69,6e,65,20,53,65,72,76,65,72,20,66,6f,72,20,5 7,69,6e,64,6f,77,73,20,56,31,2e,30,4f,29,2c,4e,75,7,0,32,2e,30,2e,32,32,4 f,29,62,4e,21,1,4f,29,8b,4e,21,4,4f,29,61,4e,85,6,0,ff,fb,b8,3f,ff,4f,29,60,4 e,85,5,1,ff,ff,ff,de,4f,29,4c,4e,c4,2,0,0,0,c4,5,80,0,0,4f,29,3e,4e,22,4,0,4f, 29,a7,4e,21,1,4f,29,6b,4e,91,0,4f,29,39,4e,b4,b,8,3,38,4f,29,38,4e,a4,6e, 5,18,1,4f,29,77,4e,32,1,e0,4f,29,18,4e,11,4f,29,74,4e,4f,29,1e,4e,c4,2,0,0 ,0,21,14,65,6,0,0,0,0,0,0,c4,2,3f,ff,ff,21,1,65,6,a9,fe,e4,22,ba,c0,c4,2,3f,ff ,ff,21,14,61,0,4f,29,9b,4e,21,0,4f,29,9a,4e,4f,29,9d,4e,2e,a4,ff,ff,ff,ff,b4,ff ,ff,ff,ff,2f,4f,29,99,4e,21,3c,4f,29,98,4e,4f,2a,2,0,4e,11,4f,2a,2,8,4e,75,36, 0,53,63,61,6e,6e,69,6e,67,20,44,65,76,69,63,65,73,20,3a,20,4c,6f,77,20,4 c,69,6d,69,74,20,3d,20,30,20,48,69,67,68,20,4c,69,6d,69,74,20,3d,20,34, 31,39,34,33,30,32,4f,2a,2,1,4e,23,3f,ff,ff,4f,29,a8,4e,75,8,0,31,32,33,2d,4 4,45,56,4f,2a,3,ed,4e,4f,1f]
I am testig it with latest version from cvs (2010.05.21).
Attachment: download link
-
Thanks for reporting this. These problems should be fixed now. The new code has been checked into CVS.
-
thank you for this fix, but I find another problem, when I create Calendar object with not empty dateList InvocationTargetException occure, could you check this
I am testing with this dat file, only need to open that file in BACnet Device Simulator and all config will be load.Send Broadcast WhoIsRequest() DiscoveryTest iAmReceived waited for iAmReceived: 110 ms Start read properties Cleanup loopDevice Exception in thread "main" com.serotonin.bacnet4j.exception.BACnetException: java.lang.reflect.InvocationTargetException at com.serotonin.bacnet4j.type.Encodable.read(Encodable.java:175) at com.serotonin.bacnet4j.type.constructed.SequenceOf.<init>(SequenceOf.java:56) at com.serotonin.bacnet4j.type.Encodable.readSequenceOf(Encodable.java:220) at com.serotonin.bacnet4j.service.acknowledgement.ReadPropertyMultipleAck.<init>(ReadPropertyMultipleAck.java:52) at com.serotonin.bacnet4j.service.acknowledgement.AcknowledgementService.createAcknowledgementService(AcknowledgementService.java:50) at com.serotonin.bacnet4j.apdu.ComplexACK.parseServiceData(ComplexACK.java:191) at com.serotonin.bacnet4j.npdu.ip.IpMessageControl.waitForAck(IpMessageControl.java:682) at com.serotonin.bacnet4j.npdu.ip.IpMessageControl.send(IpMessageControl.java:294) at com.serotonin.bacnet4j.npdu.ip.IpMessageControl.send(IpMessageControl.java:238) at com.serotonin.bacnet4j.LocalDevice.send(LocalDevice.java:425) at com.serotonin.bacnet4j.LocalDevice.send(LocalDevice.java:415) at com.serotonin.bacnet4j.LocalDevice.send(LocalDevice.java:408) at com.serotonin.bacnet4j.LocalDevice.readProperties(LocalDevice.java:864) at com.serotonin.bacnet4j.test.ReadAllAvailableProperties.printDevices(ReadAllAvailableProperties.java:179) at com.serotonin.bacnet4j.test.ReadAllAvailableProperties.main(ReadAllAvailableProperties.java:219) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:501) at com.serotonin.bacnet4j.type.Encodable.read(Encodable.java:169) ... 14 more Caused by: com.serotonin.bacnet4j.exception.BACnetException: java.lang.reflect.InvocationTargetException at com.serotonin.bacnet4j.type.Encodable.read(Encodable.java:175) at com.serotonin.bacnet4j.type.constructed.SequenceOf.<init>(SequenceOf.java:68) at com.serotonin.bacnet4j.type.Encodable.readSequenceOf(Encodable.java:231) at com.serotonin.bacnet4j.type.Encodable.readOptionalSequenceOf(Encodable.java:265) at com.serotonin.bacnet4j.type.constructed.ReadAccessResult.<init>(ReadAccessResult.java:65) ... 19 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedConstructorAccessor3.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:501) at com.serotonin.bacnet4j.type.Encodable.read(Encodable.java:169) ... 23 more Caused by: com.serotonin.bacnet4j.exception.BACnetException: java.lang.reflect.InvocationTargetException at com.serotonin.bacnet4j.type.Encodable.read(Encodable.java:175) at com.serotonin.bacnet4j.type.constructed.SequenceOf.<init>(SequenceOf.java:68) at com.serotonin.bacnet4j.type.Encodable.readSequenceOf(Encodable.java:231) at com.serotonin.bacnet4j.type.Encodable.readEncodable(Encodable.java:313) at com.serotonin.bacnet4j.type.constructed.ReadAccessResult$Result.<init>(ReadAccessResult.java:124) ... 27 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:501) at com.serotonin.bacnet4j.type.Encodable.read(Encodable.java:169) ... 31 more Caused by: java.lang.IllegalStateException: Stomping on another object type: old=Group, new=Analog Input at com.serotonin.bacnet4j.type.ThreadLocalObjectType.set(ThreadLocalObjectType.java:10) at com.serotonin.bacnet4j.type.constructed.ReadAccessResult.<init>(ReadAccessResult.java:64) ... 36 more
this is queue value in Encodable.java 169
[1e,29,4d,4e,75,13,0,4e,65,77,20,56,69,72,74,75,61,6c,20,44,65,76,69,63,65,4f,29,62,4e,21,1,4f,29,8b,4e,21,4,4f,1f]
last frame from wireshark
02004c4f4f500003ff393dbc08004500005a004e00008011e8a4a9fee422a9fe1981bac0bac000466c8d810a003e010800140600000000000030010e0c020000001e294d4e7513004e6577205669727475616c204465766963654f29624e21014f298b4e21044f1f
also after this another attempts to read fails with the BACnetException in Encodable.java 175 invoked from
BacnetLocalDevice.java from method getExtendedDeviceInformation(BacnetRemoteDevice);this is queue value in Encodable.java 169
[1e,29,4d,4e,75,13,0,4e,65,77,20,56,69,72,74,75,61,6c,20,44,65,76,69,63,65,4f,29,62,4e,21,1,4f,29,8b,4e,21,4,4f,1f]
Same problem with Group object when list of group members is not empty
com.serotonin.bacnet4j.exception.BACnetException: java.lang.reflect.InvocationTargetException at com.serotonin.bacnet4j.type.Encodable.read(Encodable.java:175) at com.serotonin.bacnet4j.type.constructed.SequenceOf.<init>(SequenceOf.java:56) at com.serotonin.bacnet4j.type.Encodable.readSequenceOf(Encodable.java:220) at com.serotonin.bacnet4j.service.acknowledgement.ReadPropertyMultipleAck.<init>(ReadPropertyMultipleAck.java:52) at com.serotonin.bacnet4j.service.acknowledgement.AcknowledgementService.createAcknowledgementService(AcknowledgementService.java:50) at com.serotonin.bacnet4j.apdu.ComplexACK.parseServiceData(ComplexACK.java:191) at com.serotonin.bacnet4j.npdu.ip.IpMessageControl.waitForAck(IpMessageControl.java:682) at com.serotonin.bacnet4j.npdu.ip.IpMessageControl.send(IpMessageControl.java:294) at com.serotonin.bacnet4j.npdu.ip.IpMessageControl.send(IpMessageControl.java:238) at com.serotonin.bacnet4j.LocalDevice.send(LocalDevice.java:425) at com.serotonin.bacnet4j.LocalDevice.send(LocalDevice.java:415) at com.serotonin.bacnet4j.LocalDevice.send(LocalDevice.java:408) at com.serotonin.bacnet4j.LocalDevice.readProperties(LocalDevice.java:864) 2010-06-16 09:41:20,694 ERROR [STDERR] Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at com.serotonin.bacnet4j.type.Encodable.read(Encodable.java:169) ... 24 more 2010-06-16 09:41:20,694 ERROR [STDERR] Caused by: com.serotonin.bacnet4j.exception.BACnetException: java.lang.reflect.InvocationTargetException at com.serotonin.bacnet4j.type.Encodable.read(Encodable.java:175) at com.serotonin.bacnet4j.type.constructed.SequenceOf.<init>(SequenceOf.java:68) at com.serotonin.bacnet4j.type.Encodable.readSequenceOf(Encodable.java:231) at com.serotonin.bacnet4j.type.Encodable.readOptionalSequenceOf(Encodable.java:265) at com.serotonin.bacnet4j.type.constructed.ReadAccessResult.<init>(ReadAccessResult.java:65) ... 29 more 2010-06-16 09:41:20,710 ERROR [STDERR] Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedConstructorAccessor66.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at com.serotonin.bacnet4j.type.Encodable.read(Encodable.java:169) ... 33 more 2010-06-16 09:41:20,710 ERROR [STDERR] Caused by: com.serotonin.bacnet4j.exception.BACnetException: java.lang.reflect.InvocationTargetException at com.serotonin.bacnet4j.type.Encodable.read(Encodable.java:175) at com.serotonin.bacnet4j.type.constructed.SequenceOf.<init>(SequenceOf.java:68) at com.serotonin.bacnet4j.type.Encodable.readSequenceOf(Encodable.java:231) at com.serotonin.bacnet4j.type.Encodable.readEncodable(Encodable.java:313) at com.serotonin.bacnet4j.type.constructed.ReadAccessResult$Result.<init>(ReadAccessResult.java:124) ... 37 more 2010-06-16 09:41:20,710 ERROR [STDERR] Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at com.serotonin.bacnet4j.type.Encodable.read(Encodable.java:169) ... 41 more 2010-06-16 09:41:20,710 ERROR [STDERR] Caused by: java.lang.IllegalStateException: Stomping on another object type: old=Group, new=Analog Input at com.serotonin.bacnet4j.type.ThreadLocalObjectType.set(ThreadLocalObjectType.java:10) at com.serotonin.bacnet4j.type.constructed.ReadAccessResult.<init>(ReadAccessResult.java:64) ... 46 more
Attachment: download link
-
The nesting of read access specs meant that the thread local object type needed to be a stack of object types rather than just a single object type.
But, it seems like whatever is sending that response is non-compliant to the spec. It provides calendar entries with, for example, month values of 0, which is incorrect. I changed the code to be more lenient so that it would not throw exceptions.
Changes have been checked in.
-
thanks it works :) I only have to comment line 545 in IpMessageControl because of ClassCast
-
Oops. That was test code that wasn't supposed to be there. It's been removed now.