You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
After closing a WebSocket the OpcUa WebServer tries to logout the client.
For this the function WebGateway::Client::logout(...) is called.
This function first checks if the call is made in the correct thread.
The condition for this is "if (!strand_->running_in_this_thread()) {...}".
If this is not true, the function call is passed to the thread via dispatch.
Now on Windows we could observe that this condition very rarely becomes true.
Mostly we see an infinite loop here.
This causes the problem that the clients are never closed and cleaned up.
To Reproduce
Steps to reproduce the behavior:
Create an active connection over the WebGateway with an OpcUa Server. As a client we use the Firefox Browser.
Close the Tab in which the WebSockets runs.
The WebGateway::ClientManager::receiveMessage() receives a message with the type: "CHANNELCLOSE_MESSAGE".
The WebServer now tries to close the client.
The condition in WebGateway::Client::logout is never true.
Expected behavior
The client should really log out and not be stuck in an infinite loop.
Describe the bug
After closing a WebSocket the OpcUa WebServer tries to logout the client.
For this the function WebGateway::Client::logout(...) is called.
This function first checks if the call is made in the correct thread.
The condition for this is "if (!strand_->running_in_this_thread()) {...}".
If this is not true, the function call is passed to the thread via dispatch.
Now on Windows we could observe that this condition very rarely becomes true.
Mostly we see an infinite loop here.
This causes the problem that the clients are never closed and cleaned up.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The client should really log out and not be stuck in an infinite loop.
Logs
OpcUaServer.log
Environment (please complete the following information):
The text was updated successfully, but these errors were encountered: