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

feat(core): add case distraction for extendedobject encoding #470

Merged
merged 3 commits into from
May 31, 2023

Conversation

Kantiran91
Copy link
Member

The PR fix #462

@Kantiran91 Kantiran91 changed the title WIP: feat(core): add case distraction for extendedobject encoding feat(core): add case distraction for extendedobject encoding May 17, 2023
@Kantiran91
Copy link
Member Author

@GoetzGoerisch Can you please test the fix?

@GoetzGoerisch GoetzGoerisch force-pushed the fix_encoding_nobody branch from 820214f to b894c0a Compare May 23, 2023 14:56
@Kantiran91
Copy link
Member Author

after my test the Client run on mac but not in the docker container. The other version I cloud not test

@Kantiran91
Copy link
Member Author

@mdornaus Can you test this on linux?

@GoetzGoerisch
Copy link
Member

@Kantiran91 rebased, working on ubuntu-22.04

@GoetzGoerisch GoetzGoerisch force-pushed the fix_encoding_nobody branch from b894c0a to db860fa Compare May 26, 2023 07:13
@GoetzGoerisch
Copy link
Member

@Kantiran91 remaining errors:

dashboard-opcua-client-opcua_client-1  | 2023-05-26 07:25:00,159 [DashboardOpcUaClient] INFO virtual void Umati::OpcUa::OpcUaClient::readTypeDictionaries():369 Unable to resolve DataType:http://opcfoundation.org/UA/MachineVision2/ SEMI_E10SystemStateDataType
dashboard-opcua-client-opcua_client-1  | 2023-05-26 07:25:00,160 [DashboardOpcUaClient] INFO virtual void Umati::OpcUa::OpcUaClient::readTypeDictionaries():369 Unable to resolve DataType:http://opcfoundation.org/UA/MachineVision2/ SEMI_E10SystemStateInfoDataType

@Kantiran91
Copy link
Member Author

@Kantiran91 remaining errors:

dashboard-opcua-client-opcua_client-1  | 2023-05-26 07:25:00,159 [DashboardOpcUaClient] INFO virtual void Umati::OpcUa::OpcUaClient::readTypeDictionaries():369 Unable to resolve DataType:http://opcfoundation.org/UA/MachineVision2/ SEMI_E10SystemStateDataType
dashboard-opcua-client-opcua_client-1  | 2023-05-26 07:25:00,160 [DashboardOpcUaClient] INFO virtual void Umati::OpcUa::OpcUaClient::readTypeDictionaries():369 Unable to resolve DataType:http://opcfoundation.org/UA/MachineVision2/ SEMI_E10SystemStateInfoDataType

I think this is an an error also with early version. I suggest to create an seperate issue and close this pr.

@GoetzGoerisch
Copy link
Member

I ran tests for containers with alpine and ´debian-bullseye-slim` which show the same error.

After building the type map, the client wants to subscribe to the typedefinitons and not the instances and then crashes.

2023-05-26 10:02:32,918 [DashboardOpcUaClient] INFO void Umati::Dashboard::OpcUaTypeReader::readTypes():63 Browsing object types finished
2023-05-26 10:02:32,959 [DashboardOpcUaClient] INFO bool Umati::MachineObserver::MachineObserver::canBrowseMachineList(std::__cxx11::list<ModelOpcUa::BrowseResult_t>&):129 Searching for machines
2023-05-26 10:02:33,263 [DashboardOpcUaClient] INFO std::__cxx11::list<ModelOpcUa::BrowseResult_t> Umati::MachineObserver::MachineObserver::browseForMachines(ModelOpcUa::NodeId_t, ModelOpcUa::NodeId_t, std::function<bool(ModelOpcUa::NodeId_t)>):224 IdentificationType not found, probably because namespace nsu=http://opcfoundation.org/UA/MachineTool/;i=13 is not in the config, or this type does not have an identification type.
2023-05-26 10:02:33,498 [DashboardOpcUaClient] INFO std::__cxx11::list<ModelOpcUa::BrowseResult_t> Umati::MachineObserver::MachineObserver::browseForMachines(ModelOpcUa::NodeId_t, ModelOpcUa::NodeId_t, std::function<bool(ModelOpcUa::NodeId_t)>):224 IdentificationType not found, probably because namespace nsu=http://opcfoundation.org/UA/Robotics/;i=1002 is not in the config, or this type does not have an identification type.
2023-05-26 10:02:33,640 [DashboardOpcUaClient] INFO std::__cxx11::list<ModelOpcUa::BrowseResult_t> Umati::MachineObserver::MachineObserver::browseForMachines(ModelOpcUa::NodeId_t, ModelOpcUa::NodeId_t, std::function<bool(ModelOpcUa::NodeId_t)>):224 IdentificationType not found, probably because namespace nsu=http://opcfoundation.org/UA/Robotics/;i=1003 is not in the config, or this type does not have an identification type.
2023-05-26 10:02:33,786 [DashboardOpcUaClient] INFO std::__cxx11::list<ModelOpcUa::BrowseResult_t> Umati::MachineObserver::MachineObserver::browseForMachines(ModelOpcUa::NodeId_t, ModelOpcUa::NodeId_t, std::function<bool(ModelOpcUa::NodeId_t)>):224 IdentificationType not found, probably because namespace nsu=http://opcfoundation.org/UA/Robotics/;i=1004 is not in the config, or this type does not have an identification type.
2023-05-26 10:02:37,231 [DashboardOpcUaClient] INFO std::__cxx11::list<ModelOpcUa::BrowseResult_t> Umati::MachineObserver::MachineObserver::browseForMachines(ModelOpcUa::NodeId_t, ModelOpcUa::NodeId_t, std::function<bool(ModelOpcUa::NodeId_t)>):224 IdentificationType not found, probably because namespace nsu=http://opcfoundation.org/UA/PlasticsRubber/Extrusion_v2/Cutter/;i=1005 is not in the config, or this type does not have an identification type.
2023-05-26 10:02:37,691 [DashboardOpcUaClient] INFO std::__cxx11::list<ModelOpcUa::BrowseResult_t> Umati::MachineObserver::MachineObserver::browseForMachines(ModelOpcUa::NodeId_t, ModelOpcUa::NodeId_t, std::function<bool(ModelOpcUa::NodeId_t)>):224 IdentificationType not found, probably because namespace nsu=http://opcfoundation.org/UA/MachineVision/AMCM/;i=1008 is not in the config, or this type does not have an identification type.
2023-05-26 10:02:38,175 [DashboardOpcUaClient] INFO std::__cxx11::list<ModelOpcUa::BrowseResult_t> Umati::MachineObserver::MachineObserver::browseForMachines(ModelOpcUa::NodeId_t, ModelOpcUa::NodeId_t, std::function<bool(ModelOpcUa::NodeId_t)>):224 IdentificationType not found, probably because namespace nsu=http://opcfoundation.org/UA/MachineTool/;i=13 is not in the config, or this type does not have an identification type.
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc

@GoetzGoerisch GoetzGoerisch force-pushed the fix_encoding_nobody branch from db860fa to 400d75c Compare May 30, 2023 06:19
Copy link
Member

@GoetzGoerisch GoetzGoerisch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to find the reason for the runtime crash before we should merge this.

@Kantiran91
Copy link
Member Author

@mdornaus Can you please have a look to the issue ?

@Kantiran91 Kantiran91 requested a review from GoetzGoerisch May 30, 2023 21:40
@Kantiran91
Copy link
Member Author

the new commit helps also detecting issues like #471

@GoetzGoerisch GoetzGoerisch force-pushed the fix_encoding_nobody branch from 742bdc7 to 1faefc1 Compare May 31, 2023 10:03
@GoetzGoerisch
Copy link
Member

Thanks @Kantiran91 gateway is now running agains node-opcua sample server again. Although it still tries to subscribe to TypeDefinitions.

Rebased and good to merge from my side.

@GoetzGoerisch GoetzGoerisch force-pushed the fix_encoding_nobody branch from 1faefc1 to 96178e9 Compare May 31, 2023 12:11
@GoetzGoerisch GoetzGoerisch added this pull request to the merge queue May 31, 2023
Merged via the queue into development with commit e1b9281 May 31, 2023
@GoetzGoerisch GoetzGoerisch deleted the fix_encoding_nobody branch July 20, 2023 15:54
GoetzGoerisch pushed a commit that referenced this pull request Jan 24, 2025
* feat(core): add case distraction for extendedobject encoding

* fix: improve error handling if no type definition exist

* refact: update format for MachineObserver.cpp
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

Successfully merging this pull request may close these issues.

umati Client crashes when connecting to opcua.umati.app:4843/node-opcua server
3 participants