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

opc ua server unresponsive as the number of monitored items in the server increase. #2840

Open
1 of 5 tasks
vinaybr opened this issue Nov 12, 2024 · 0 comments
Open
1 of 5 tasks

Comments

@vinaybr
Copy link

vinaybr commented Nov 12, 2024

Type of issue

  • Bug
  • Enhancement
  • Compliance
  • Question
  • Help wanted

Current Behavior

We have built an OPC UA Server which receives data from an external system. The external system raises events with data values at regular intervals. when the data is received the following code is executed foreach parameter -

node.Value = readResult.Value?.Value;
node.StatusCode = (uint)readResult.StatusCode;
node.Timestamp = time;
node.ClearChangeMasks(SystemContext, false);

As the number of parameters being monitored increases (around 7000) the server becomes unresponsive. This is observed consistently on a specific machine and not so frequently on others. Prelimnary investigation of the dump file shows many threads stuck with the below callstack -

System.Threading.Monitor.ReliableEnter(System.Object, Boolean ByRef)
Opc.Ua.Server.MonitoredNode2.OnMonitoredNodeChanged(Opc.Ua.ISystemContext, Opc.Ua.NodeState, Opc.Ua.NodeStateChangeMasks)
Opc.Ua.NodeState.ClearChangeMasks(Opc.Ua.ISystemContext, Boolean)

Expected Behavior

No response

Steps To Reproduce

No response

Environment

- OS: Win 10
- Environment: 
- Runtime: .Net6
- Nuget Version: 1.5.372.113
- Component: OPC.Ua.Server
- Server: 
- Client: UA Expert

Anything else?

No response

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

No branches or pull requests

1 participant