-
Notifications
You must be signed in to change notification settings - Fork 269
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
Stuck in infinite loop of StatusBadNoSubscription (0x80790000) #434
Comments
It seems like if a publish response is pending and all the subscriptions are cancelled, the server doesn't send publish response that the client was expecting. And, upon creating the new secure channel and then session, the client sends the pending publish request again, even though new requests are not being sent since the publishing loop is paused, as a response to this publish request the server returns NoSubscription error and this continues forever. This also explains why this issue doesn't come up every time, since if the subscriptions are cancelled when no publish response is pending, things go smoothly. |
I bumped into this issue too. This seems to be an error in the auto-reconnect logic. In my humble opinion the getting a ua.StatusBadNoSubscription from the server should not trigger the whole reconnection logic. Also if it is triggered the reconnection logic always try to resume the subscription (even if there where non to start with) which fails and restarts until all server session/connection are depleted. I made it work by ignoring the ua.StatusBadNoSubscription in the autoreconnect monitor but the way I did it does not seem ideal. client.go:
|
I also ran into this issue. I found a workaround:
|
Workaround for gopcua/opcua#434
I'll try to have a look |
|
Any updates on this? Currently all subscriptions end in an endless recreate loop with StatusBadSessionIDInvalid, when the connection between client and server are interrupted. |
Hi,
When I cancel a subscription, without closing the client connection, sometimes the code gets stuck in a loop trying to create secure channel indefinitely.
Following is the code I'm using that can reproduce the issue. It doesn't happen always so to reproduce you might have to run it a couple of times.
I have attached the log files with debugging enabled, for when the code works fine (logs_ok.txt) and when it doesn't (logs_not_ok.txt).
The text was updated successfully, but these errors were encountered: