Skip to content

[Client] PUBLISH x - Unhandled error 0x80850000 during Publish. --> Client should handle BadPublishTimeout code from the Server gracefully #3459

Description

@romanett

Test logs are full of log entries like:

SubscriptionTest TransferSubscriptionOnlyAsync(DisconnectedRepublishDelayedAck,False,False)
	TEST 22:07:00.437 [Opc.Ua.Client.Session] PUBLISH #10 - Unhandled error 0x80850000 during Publish.
	[AggregateException] One or more errors occurred.
	---    at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
	---    at Opc.Ua.Client.Session.OnPublishComplete(Task`1 task, NodeId sessionId, SubscriptionAcknowledgementCollection acknowledgementsToSend, RequestHeader requestHeader) in /_/Libraries/Opc.Ua.Client/Session/Session.cs:line 3444
	>>>> (Inner #1) >>>>
	[ServiceResultException] [80850000]
	---    at Opc.Ua.Bindings.ChannelAsyncOperation`1.<EndAsync>d__12.MoveNext() in /_/Stack/Opc.Ua.Core/Stack/Tcp/ChannelAsyncOperation.cs:line 317
	--- --- End of stack trace from previous location where exception was thrown ---
	---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
	---    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	---    at Opc.Ua.Bindings.UaSCUaBinaryClientChannel.<SendRequestAsync>d__4.MoveNext() in /_/Stack/Opc.Ua.Core/Stack/Tcp/UaSCBinaryClientChannel.cs:line 339
	--- --- End of stack trace from previous location where exception was thrown ---
	---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
	---    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	---    at Opc.Ua.SessionClient.<PublishAsync>d__127.MoveNext() in /_/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.Client.cs:line 10490
SubscriptionTest TransferSubscriptionOnlyAsync(DisconnectedRepublishDelayedAck,False,False)
	TEST 22:07:00.437 [Opc.Ua.Client.Session] PUBLISH #8 - Unhandled error 0x80850000 during Publish.
	[AggregateException] One or more errors occurred.
	---    at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
	---    at Opc.Ua.Client.Session.OnPublishComplete(Task`1 task, NodeId sessionId, SubscriptionAcknowledgementCollection acknowledgementsToSend, RequestHeader requestHeader) in /_/Libraries/Opc.Ua.Client/Session/Session.cs:line 3444
	>>>> (Inner #1) >>>>
	[ServiceResultException] [80850000]
	---    at Opc.Ua.Bindings.ChannelAsyncOperation`1.<EndAsync>d__12.MoveNext() in /_/Stack/Opc.Ua.Core/Stack/Tcp/ChannelAsyncOperation.cs:line 317
	--- --- End of stack trace from previous location where exception was thrown ---
	---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
	---    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	---    at Opc.Ua.Bindings.UaSCUaBinaryClientChannel.<SendRequestAsync>d__4.MoveNext() in /_/Stack/Opc.Ua.Core/Stack/Tcp/UaSCBinaryClientChannel.cs:line 339
	--- --- End of stack trace from previous location where exception was thrown ---
	---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
	---    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	---    at Opc.Ua.SessionClient.<PublishAsync>d__127.MoveNext() in /_/Stack/Opc.Ua.Core/Stack/Generated/Opc.Ua.Client.cs:line 10490

Those indicate a BadPublishTimeout StatusCode returned from the Server. Such StatusCodes need to be handled gracefully by the Client, as those are expected to be returned by the server.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions