View Issue Details

IDProjectCategoryView StatusLast Update
0008283CTT UA Scripts1 - Script Issuepublic2022-10-14 16:07
ReporterMartin Herberg Assigned ToSebastian Allmendinger  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Fixed in Version1.03.501 
Summary0008283: Base Info Core Structure / 001: potential wrong usage/implementation of checkObject()
Description

In 001.js the Function checkObject() calls MonitoredItem.fromNodeIds() with a string as first argument. This leads to an unexpected error.

Steps To Reproduce

Run 001.js

alternatively

  1. Start 001.js in debugging mode.
  2. Set a break point at the start of checkObject()
  3. Check uaObject.NodeId. (In the error case it is "i=58").
  4. Step over MonitoredItem.fromNodeIds().
  5. Check if the error handler is called.
TagsNo tags attached.
Attached Files
BaseInfoCoreStructure001.JPG (95,164 bytes)   
BaseInfoCoreStructure001.JPG (95,164 bytes)   
BaseInfoCoreStructure001.log (3,120 bytes)   
2022-09-02 11:46:21.034     Info - Project::startTest(): Debug test run has been started.
2022-09-02 11:46:21.167     Info - UaSession::UaSessionClass(): Session Constructor 0dfb3e90
2022-09-02 11:46:21.168     Info - UaSession::UaSessionClass(): Session Constructor 0dfb4d90
2022-09-02 11:46:21.237     Info - UaSession::UaSessionClass(): Session Destructor 0dfb3e90
2022-09-02 11:46:21.456     Info - UaSession::UaSessionClass(): Session Constructor 0fcdc498
2022-09-02 11:46:21.456     Info - UaSession::UaSessionClass(): Session Constructor 0fcdc628
2022-09-02 11:46:21.656  Warning - UaSession::browseWithContinuation(): Received BadEncodingLimitsExceeded (0x80080000) for the Browse of the Node "i=63" at index 17.
2022-09-02 11:46:21.656  Warning - UaSession::browseWithContinuation(): Received BadEncodingLimitsExceeded (0x80080000) for the Browse of the Node "i=68" at index 20.
2022-09-02 11:46:21.656    Error - UaSession::buildReferenceDescriptions(): Received a Bad OperationResult for the BrowseResults at index 17. We won't try to resolve the node (i=63) because it doesn't seem to be available in the server. Unable to build complete AddressSpace Cache but will continue without this node.
2022-09-02 11:46:21.656    Error - UaSession::buildReferenceDescriptions(): Received a Bad OperationResult for the BrowseResults at index 20. We won't try to resolve the node (i=68) because it doesn't seem to be available in the server. Unable to build complete AddressSpace Cache but will continue without this node.
2022-09-02 11:46:21.665    Error - UaSession::isSubTypeOfTypeCached(): Unable to build object map
2022-09-02 11:46:21.706     Info - UaSession::UaSessionClass(): Session Constructor 0fce9148
2022-09-02 11:46:21.707     Info - UaSession::UaSessionClass(): Session Constructor 0fce8e78
2022-09-02 11:46:22.193     Info - UaSession::UaSessionClass(): Session Constructor 10a16a20
2022-09-02 11:46:22.193     Info - UaSession::UaSessionClass(): Session Constructor 10a167a0
2022-09-02 11:46:22.231     Info - UaSession::UaSessionClass(): Session Destructor 0fcdc498
2022-09-02 11:46:22.231     Info - UaSession::UaSessionClass(): Session Destructor 0fcdc628
2022-09-02 11:46:22.297     Info - UaSession::UaSessionClass(): Session Constructor 10a2c870
2022-09-02 11:46:22.297     Info - UaSession::UaSessionClass(): Session Constructor 10a2cff0
2022-09-02 11:46:22.315     Info - UaSession::UaSessionClass(): Session Destructor 0fce9148
2022-09-02 11:46:22.315     Info - UaSession::UaSessionClass(): Session Destructor 0fce8e78
2022-09-02 11:46:22.316     Info - UaSession::UaSessionClass(): Session Destructor 0dfb4d90
2022-09-02 11:46:22.351     Info - UaSession::UaSessionClass(): Session Destructor 10a16a20
2022-09-02 11:46:22.404     Info - UaSession::UaSessionClass(): Session Destructor 10a2c870
2022-09-02 11:46:22.683     Info - Project::startTest(): Test run has been finished.
2022-09-02 11:46:22.686     Info - UaSession::UaSessionClass(): Session Destructor 10a167a0
2022-09-02 11:46:22.688     Info - UaSession::UaSessionClass(): Session Destructor 10a2cff0
BaseInfoCoreStructure001.log (3,120 bytes)   
BaseInfoCoreStructure001.txt (10,440 bytes)   
AuditThread::Start args = false
GetEndpoints( LocaleIds #0; ProfileUris #0 ).Response.ResponseHeader.ServiceResult: Good (0x00000000) as expected.
Audit::PushAuditRecord - Thread and/or Subscription id is not initialized yet
OpenSecureChannel( MessageSecurityMode: None; RequestedSecurityPolicyUri: http://opcfoundation.org/UA/SecurityPolicy#None ); Result = Good (0x00000000)
Audit::PushAuditRecord - Thread and/or Subscription id is not initialized yet
CreateSession( EndpointUrl=opc.tcp://192.168.1.3:4840; SessionName: UaCttSession_1; RequestedSessionTimeout: 60000 ).Response.ResponseHeader.ServiceResult: Good (0x00000000) as expected.
Audit::PushAuditRecord - Thread and/or Subscription id is not initialized yet
ActivateSession( LocaleIds #1; UserIdentityToken: http://opcfoundation.org/UA/SecurityPolicy#None00000000010000000001 ( ClientSignature=, UserTokenSignature= ) ).Response.ResponseHeader.ServiceResult: Good (0x00000000) as expected.
Read( NodesToRead #2; TimestampsToReturn: 1; MaxAge: 0 ).Response.ResponseHeader.ServiceResult: Good (0x00000000) as expected.
Obtaining the ServerCapabilities...
Read( NodesToRead #2; TimestampsToReturn: 2; MaxAge: 0 ).Response.ResponseHeader.ServiceResult: Good (0x00000000) as expected.
Read( NodesToRead #2; TimestampsToReturn: 2; MaxAge: 0 ).Response.ResponseHeader.ServiceResult: Good (0x00000000) as expected.
Read( NodesToRead #2; TimestampsToReturn: 2; MaxAge: 0 ).Response.ResponseHeader.ServiceResult: Good (0x00000000) as expected.
Read( NodesToRead #2; TimestampsToReturn: 2; MaxAge: 0 ).Response.ResponseHeader.ServiceResult: Good (0x00000000) as expected.
Read( NodesToRead #2; TimestampsToReturn: 2; MaxAge: 0 ).Response.ResponseHeader.ServiceResult: Good (0x00000000) as expected.
Read( NodesToRead #2; TimestampsToReturn: 2; MaxAge: 0 ).Response.ResponseHeader.ServiceResult: Good (0x00000000) as expected.
Read( NodesToRead #2; TimestampsToReturn: 2; MaxAge: 0 ).Response.ResponseHeader.ServiceResult: Good (0x00000000) as expected.
Audit::PushAuditRecord - Thread and/or Subscription id is not initialized yet
CloseSession().Result: Good (0x00000000)
CloseSession( DeleteSubscriptions=true ).Response.ResponseHeader.ServiceResult: Good (0x00000000) as expected.
Audit::PushAuditRecord - Thread and/or Subscription id is not initialized yet
CloseSecureChannel(); Result = Good (0x00000000)
Audit::PushAuditRecord - Thread and/or Subscription id is not initialized yet
OpenSecureChannel( MessageSecurityMode: None; RequestedSecurityPolicyUri: http://opcfoundation.org/UA/SecurityPolicy#None ); Result = Good (0x00000000)
Audit::PushAuditRecord - Thread and/or Subscription id is not initialized yet
CreateSession( EndpointUrl=opc.tcp://192.168.1.3:4840; SessionName: UaCttSession_2; RequestedSessionTimeout: 60000 ).Response.ResponseHeader.ServiceResult: Good (0x00000000) as expected.
Audit::PushAuditRecord - Thread and/or Subscription id is not initialized yet
ActivateSession( LocaleIds #1; UserIdentityToken: http://opcfoundation.org/UA/SecurityPolicy#None00000000010000000001 ( ClientSignature=, UserTokenSignature= ) ).Response.ResponseHeader.ServiceResult: Good (0x00000000) as expected.
Read( NodesToRead #2; TimestampsToReturn: 1; MaxAge: 0 ).Response.ResponseHeader.ServiceResult: Good (0x00000000) as expected.
Calling BuildCacheMap Loop Count 1
Unexpected error during build of Object Cache Map. Retrying Received:-2146959360
Audit::PushAuditRecord - Thread and/or Subscription id is not initialized yet
CloseSession().Result: Good (0x00000000)
CloseSession( DeleteSubscriptions=true ).Response.ResponseHeader.ServiceResult: Good (0x00000000) as expected.
Audit::PushAuditRecord - Thread and/or Subscription id is not initialized yet
CloseSecureChannel(); Result = Good (0x00000000)
Audit::PushAuditRecord - Thread and/or Subscription id is not initialized yet
OpenSecureChannel( MessageSecurityMode: None; RequestedSecurityPolicyUri: http://opcfoundation.org/UA/SecurityPolicy#None ); Result = Good (0x00000000)
Audit::PushAuditRecord - Thread and/or Subscription id is not initialized yet
CreateSession( EndpointUrl=opc.tcp://192.168.1.3:4840; SessionName: UaCttSession_3; RequestedSessionTimeout: 60000 ).Response.ResponseHeader.ServiceResult: Good (0x00000000) as expected.
Audit::PushAuditRecord - Thread and/or Subscription id is not initialized yet
ActivateSession( LocaleIds #1; UserIdentityToken: http://opcfoundation.org/UA/SecurityPolicy#None00000000010000000001 ( ClientSignature=, UserTokenSignature= ) ).Response.ResponseHeader.ServiceResult: Good (0x00000000) as expected.
Read( NodesToRead #2; TimestampsToReturn: 1; MaxAge: 0 ).Response.ResponseHeader.ServiceResult: Good (0x00000000) as expected.
Calling BuildCacheMap Loop Count 2
Audit::PushAuditRecord - Thread and/or Subscription id is not initialized yet
CloseSession().Result: Good (0x00000000)
CloseSession( DeleteSubscriptions=true ).Response.ResponseHeader.ServiceResult: Good (0x00000000) as expected.
Audit::PushAuditRecord - Thread and/or Subscription id is not initialized yet
CloseSecureChannel(); Result = Good (0x00000000)
Time in BuildCacheMap = 0 seconds
SecurityPolicyUri empty in the UserIdentityTokens in the EndpointDescription. In this case the SecurityPolicyUri for the SecureChannel is being used.
Audit::PushAuditRecord - Thread and/or Subscription id is not initialized yet
OpenSecureChannel( MessageSecurityMode: None; RequestedSecurityPolicyUri: http://opcfoundation.org/UA/SecurityPolicy#None ); Result = Good (0x00000000)
Audit::PushAuditRecord - Thread and/or Subscription id is not initialized yet
CreateSession( EndpointUrl=opc.tcp://192.168.1.3:4840; SessionName: UaCttSession_4; RequestedSessionTimeout: 60000 ).Response.ResponseHeader.ServiceResult: Good (0x00000000) as expected.
buildUserNameIdentityToken - password not encrypted!
Audit::PushAuditRecord - Thread and/or Subscription id is not initialized yet
ActivateSession( LocaleIds #1; UserIdentityToken: http://opcfoundation.org/UA/SecurityPolicy#None00000000010000000000 ( ClientSignature=, UserTokenSignature= ) ).Response.ResponseHeader.ServiceResult: Good (0x00000000) as expected.
Read( NodesToRead #2; TimestampsToReturn: 1; MaxAge: 0 ).Response.ResponseHeader.ServiceResult: Good (0x00000000) as expected.



***** CONFORMANCE UNIT 'Base Info Core Structure' TESTING  BEGINS ******



	~~~ START OF TEST [testServerObject] ~~~

Read( NodesToRead #1; TimestampsToReturn: 2; MaxAge: 0 ).Response.ResponseHeader.ServiceResult: Good (0x00000000) as expected.


STEP 1: Check object definitions as currently defined in script...






***** CONFORMANCE UNIT 'Base Info Core Structure' TESTING  COMPLETE ******

Audit::PushAuditRecord - Thread and/or Subscription id is not initialized yet
CloseSession().Result: Good (0x00000000)
CloseSession( DeleteSubscriptions=true ).Response.ResponseHeader.ServiceResult: Good (0x00000000) as expected.
Audit::PushAuditRecord - Thread and/or Subscription id is not initialized yet
CloseSecureChannel(); Result = Good (0x00000000)



***** CONFORMANCE UNIT 'Base Info Core Structure' TESTING  COMPLETE ******

Audit::PushAuditRecord - Thread and/or Subscription id is not initialized yet
OpenSecureChannel( MessageSecurityMode: None; RequestedSecurityPolicyUri: http://opcfoundation.org/UA/SecurityPolicy#None ); Result = Good (0x00000000)
Audit::PushAuditRecord - Thread and/or Subscription id is not initialized yet
CreateSession( EndpointUrl=opc.tcp://192.168.1.3:4840; SessionName: UaCttSession_5; RequestedSessionTimeout: 60000 ).Response.ResponseHeader.ServiceResult: Good (0x00000000) as expected.
Audit::PushAuditRecord - Thread and/or Subscription id is not initialized yet
ActivateSession( LocaleIds #1; UserIdentityToken: http://opcfoundation.org/UA/SecurityPolicy#None00000000010000000001 ( ClientSignature=, UserTokenSignature= ) ).Response.ResponseHeader.ServiceResult: Good (0x00000000) as expected.
Read( NodesToRead #2; TimestampsToReturn: 1; MaxAge: 0 ).Response.ResponseHeader.ServiceResult: Good (0x00000000) as expected.


	~~~ START OF TEST [CheckAllUAServices] ~~~

Discovery =>
	FindServers() => Implemented
	GetEndpoints() => Implemented
	RegisterServer() => NotImplemented
Session =>
	CreateSession() => Implemented
	ActivateSession() => Implemented
	CloseSession() => Implemented
Audit::PushAuditRecord - Thread and/or Subscription id is not initialized yet
	Cancel() => NotImplemented
NodeManagement =>
	AddNodes() => NotImplemented
	AddReferences() => NotImplemented
	DeleteNodes() => NotImplemented
	DeleteReferences() => NotImplemented
View =>
	Browse() => Implemented
	BrowseNext() => Implemented
	TranslateBrowsePathsToNodeIds() => Implemented
	RegisteredNodes() => Implemented
	UnregisterNodes() => Implemented
Query =>
	QueryFirst() => NotImplemented
	QueryNext() => NotImplemented
Attribute =>
	Read() => Implemented
	HistoryRead() => NotImplemented
	Write() => Implemented
	HistoryUpdate() => NotImplemented
Method =>
Audit::PushAuditRecord - Thread and/or Subscription id is not initialized yet
	Call() => Implemented
MonitoredItem =>
	CreateMonitoredItems() => Implemented
	ModifyMonitoredItems() => Implemented
	SetMonitoringMode() => Implemented
	SetTriggering() => NotImplemented
	DeleteMonitoredItems() => Implemented
Subscription =>
	CreateSubscription() => Implemented
	ModifySubscription() => Implemented
	SetPublishingMode() => Implemented
	Publish() => Implemented
	Republish() => NotImplemented
Verify if this Conformance Unit should be selected for testing.
	TransferSubscriptions() => NotImplemented
	DeleteSubscriptions() => Implemented


	~~~ END OF TEST [CheckAllUAServices] ~~~

Audit::PushAuditRecord - Thread and/or Subscription id is not initialized yet
CloseSession().Result: Good (0x00000000)
CloseSession( DeleteSubscriptions=true ).Response.ResponseHeader.ServiceResult: Good (0x00000000) as expected.
Audit::PushAuditRecord - Thread and/or Subscription id is not initialized yet
CloseSecureChannel(); Result = Good (0x00000000)
******************************************
	COMPLIANCE TEST RUN COMPLETE
******************************************
	FINAL REPORT
******************************************
	UA SERVICES TESTED
******************************************
	Sessions Used: 5
	******************************************
BaseInfoCoreStructure001.txt (10,440 bytes)   
Files Affected

/library/Base/settings.js
/library/Information/_Base/NodeContainsSubStructure.js
/library/Information/InfoFactory.js
/maintree/Base Information/Base Info Core Structure/Test Cases/001.js
/maintree/Base Information/Base Info Core Structure/Test Cases/initialize.js
/maintree/Base Information/Base Info Core Structure/Test Cases/cleanup.js
/maintree/Base Information/Base Info Type System/Test Cases/DataTypesValidation.js
/maintree/Base Information/Base Info Type System/Test Cases/EventTypesValidation.js
/maintree/Base Information/Base Info Type System/Test Cases/initialize.js
/maintree/Base Information/Base Info Type System/Test Cases/ObjectTypesValidation.js
/maintree/Base Information/Base Info Type System/Test Cases/ReferenceTypesValidation.js
/maintree/Base Information/Base Info Type System/Test Cases/VariableTypesValidation.js

Activities

Martin Herberg

2022-09-19 15:20

reporter   ~0017707

Here is a short update:

The issue cannot be reproduced anymore. The string "NodeID" is now a struct and is handled correctly. I assume that there was a problem in the CTT configuration on my side.

Sebastian Allmendinger

2022-10-14 13:58

developer   ~0018052

This issue has been resolved by the rework of the Base Information Conformance Group.
The issue occured when any of the Base*Type nodes were tested. In the reworked code this validation has been corrected.

Paul Hunkar

2022-10-14 16:07

administrator   ~0018054

Reviewed updates in call, agreed to updates and closed issue

Issue History

Date Modified Username Field Change
2022-09-06 09:35 Martin Herberg New Issue
2022-09-06 09:35 Martin Herberg File Added: BaseInfoCoreStructure001.JPG
2022-09-06 09:35 Martin Herberg File Added: BaseInfoCoreStructure001.log
2022-09-06 09:35 Martin Herberg File Added: BaseInfoCoreStructure001.pcapng
2022-09-06 09:35 Martin Herberg File Added: BaseInfoCoreStructure001.txt
2022-09-06 09:35 Martin Herberg File Added: BaseInfoCoreStructure001Debug1.JPG
2022-09-06 09:35 Martin Herberg File Added: BaseInfoCoreStructure001Debug2.JPG
2022-09-06 09:35 Martin Herberg File Added: BaseInfoCoreStructure001Debug3.JPG
2022-09-06 09:35 Martin Herberg File Added: BaseInfoCoreStructure001Debug4.JPG
2022-09-09 14:58 Paul Hunkar Assigned To => Alexander Allmendinger
2022-09-09 14:58 Paul Hunkar Status new => assigned
2022-09-12 09:29 Sebastian Allmendinger Assigned To Alexander Allmendinger => Sebastian Allmendinger
2022-09-19 15:20 Martin Herberg Note Added: 0017707
2022-10-14 13:48 Sebastian Allmendinger Files Affected => /library/Base/settings.js
/library/Information/_Base/NodeContainsSubStructure.js
/library/Information/InfoFactory.js
/maintree/Base Information/Base Info Core Structure/Test Cases/001.js
/maintree/Base Information/Base Info Core Structure/Test Case...
2022-10-14 13:58 Sebastian Allmendinger Status assigned => resolved
2022-10-14 13:58 Sebastian Allmendinger Resolution open => fixed
2022-10-14 13:58 Sebastian Allmendinger Note Added: 0018052
2022-10-14 16:07 Paul Hunkar Status resolved => closed
2022-10-14 16:07 Paul Hunkar Fixed in Version => 1.03.501
2022-10-14 16:07 Paul Hunkar Note Added: 0018054