Page 1 of 1

Frequent Watchdog failure

Posted: 12 Sep 2021, 04:09
by meethemant
UaExpert: 1.5.1
UA Client SDK:3.0.9
I getting frequent disconnection trigged by WatchdogTimeout as per below log.. I am not sure why it is frequent ?
In some cases it is being recovered by reconnect and refresh.
Any idea why getting "Cannot access a disposed object.
Object name: 'TapTcpConnection" and what it means . Is session disconnected ?
**************************************************************************************************************************************************************************************

2021-09-12 05:55:16,887 [399] INFO UAConnection - ConnectionStatusUpdate: Connected -> ConnectionWarningWatchdogTimeout
2021-09-12 05:55:16,887 [399] ERROR UAConnection - Connection Status Error Code:0x80010000, Error Code Text:BadUnexpectedError, Description: One or more errors occurred. (Cannot access a disposed object.
Object name: 'TapTcpConnection'.)
2021-09-12 05:55:21,884 [412] INFO UAConnection - ConnectionStatusUpdate: ConnectionWarningWatchdogTimeout -> ConnectionErrorClientReconnect
2021-09-12 05:55:21,884 [412] ERROR UAConnection - Connection Status Error Code:0x80010000, Error Code Text:BadUnexpectedError, Description: One or more errors occurred. (Cannot access a disposed object.
Object name: 'TapTcpConnection'.)
2021-09-12 05:55:22,448 [396] INFO UAConnection - ConnectionStatusUpdate: Connected -> SessionAutomaticallyRecreated
2021-09-12 05:55:22,462 [396] INFO UAConnection - ConnectionStatusUpdate: ConnectionErrorClientReconnect -> Connected
2021-09-12 05:55:22,574 [399] INFO UASubscriptions - Subscription recreated as a result of reconnect.
2021-09-12 05:55:22,574 [399] INFO UASubscriptions - ConditionRefresh is invoked to fetch missed alarms while reconnect was attempted.

**************************************************************************************************************************************************************************************

Re: Frequent Watchdog failure

Posted: 26 Oct 2021, 18:12
by Support Team
Hi,

it seems like you have implemented your own reconnect mechanizm.

The idea of the client side SDK is to let the SDK do the job in case of failure. You should not interfere with the SDK reconnect mechanizm, you (the application) is getting informed by connection status handler, however there is nothing to do, the SDK takes care on it's watchdog and it's reconnect attempt, including getting the session and subscription back to work.

It seems like you have interfered and disposed some object that was not yours, or at least still in use by the SDK in a running reconnect attempt.