View Issue Details

IDProjectCategoryView StatusLast Update
0006226CTT UA Binary2 - CTT Binarypublic2022-08-02 19:00
ReporterThomas Reuther Assigned ToAlexander Allmendinger  
PrioritynormalSeveritycrashReproducibilityalways
Status assignedResolutionopen 
PlatformWindowsOSWindows 7OS Version6.1.76.01
Summary0006226: CTT crashes on calling method with custom data type
Description

I created a binary encoder/decoder for a custom data type to be used in user defined scripts. I want to call a method on a server which expected that data type as the only argument. Unfortunately CTT crashes. I cannot find any log or other place of information except EventViewer. See additional info,

How can I get more information? How can I enable logs?

Additional Information

Faulting application name: uacompliancetest.exe, version: 1.3.341.396, time stamp: 0x5eee8df3
Faulting module name: uacompliancetest.exe, version: 1.3.341.396, time stamp: 0x5eee8df3
Exception code: 0xc0000005
Fault offset: 0x005c14e6
Faulting process id: 0x3b58
Faulting application start time: 0x01d6b699f0956b7a
Faulting application path: C:\Program Files (x86)\OPC Foundation\UA 1.03.341.396\Compliance Test Tool\uacompliancetest.exe
Faulting module path: C:\Program Files (x86)\OPC Foundation\UA 1.03.341.396\Compliance Test Tool\uacompliancetest.exe
Report Id: 38b43dbe-228d-11eb-bcdf-00059a3c7a00

Log name: Application
Source: Application Error
Logged: 2020-11-09 14:12:31
Event ID: 1000
Task Category: (100)
Level: Error
Keywords: Classic
User: N/A
Computer: <mine>
OpcCode:

TagsNo tags attached.
Files Affected

Activities

Alexander Allmendinger

2020-11-09 20:01

developer   ~0013130

Hello Thomas,

unfortunately there is not a lot you can do from a debugging perspective once the CTT crashes. But actually calling a Method with a custom DataType should be working, as this is being used by another vendor doing internal AutoID testing. For me the easiest thing would be to take a look at the server myself and debug the situation. Would you be able to provide me a demo version of the UA Server which I can use to reproduce the issue?
Of course we can continue the discussion also via mail, just send a mail to compliance@opcfoundation.org and we'll get in contact with you.

Regards,
Alexander Allmendinger

Thomas Reuther

2020-11-12 11:58

reporter   ~0013184

Hello Alexander,

my method call seems not to reach the server. When I put a break point at the server's method handler I don't come so far. I guess it's an issue with encoding?!
My custom data type is a 2D point:

Point2D = {X: UInt16, Y: UInt16}

When I manually (UA Expert) create a node on the server, e.g. X=8, Y=15, I receive these data on reading (JSON like):

UaVariant = {
ArrayType: 0,
DataType: 22,
ExtensionObject: {
Encoding: 1,
TypeId: {
NamespaceUri: "",
NodeId: {
IdentifierType: 0,
NamespaceIndex: 3,
Identifier: 5013
},
ServerIndex: 0
},
Binary: {
Size: 4,
Data: 0x08000F00
}
}
}

The node id "ns=3;i=5013" is the target node "Binary" referenced from my data type "Point2D" following the reference "HasEncoding".

Decoding:
Data[0,1] = "0800" -> UInt16: 8
Data[2,3] = "0F00" -> UInt16: 15

Encoding:
var byteStrForX = new UaByteString();
var byteStrForY = new UaByteString();
byteStrForX.setHexData( "0x0800" ); // 8
byteStrForY.setHexData( "0x0F00" ); // 15

var result = new UaByteString();
result.append(byteStrForX);
result.append(byteStrForY);

var extObj = new UaExtensionObject();
extObj.setBinary(result);
extObj.TypeId = new UaExpandedNodeId();
extObj.TypeId.NodeId = new UaNodeId(5013, 5);
extObj.TypeId.NamespaceUri = "";

Everything seems to be fine, isn't it?

Thomas

Issue History

Date Modified Username Field Change
2020-11-09 14:56 Thomas Reuther New Issue
2020-11-09 20:01 Alexander Allmendinger Assigned To => Alexander Allmendinger
2020-11-09 20:01 Alexander Allmendinger Status new => feedback
2020-11-09 20:01 Alexander Allmendinger Note Added: 0013130
2020-11-12 11:58 Thomas Reuther Note Added: 0013184
2020-11-12 11:58 Thomas Reuther Status feedback => assigned
2022-08-02 19:00 Paul Hunkar Project Compliance Test Tool (CTT) Unified Architecture => CTT UA Binary