-
Notifications
You must be signed in to change notification settings - Fork 139
Unhandled Exception when domain name cannot be resolved [v4.0.2] #422
Copy link
Copy link
Open
Description
Hello,
I think this line can throw unhandled exceptions because it is never awaited and it has a throw in its catch block.
When the server is offline and i attempt a connection, i get:
[2026-03-27 17:01:50.2954] [georg] [Fatal] [WPFApp] Unobserved task exception SocketIOClient.Exceptions.ConnectionException: Cannot connect to server 'SOME_SERVER_URL'
---> SocketIOClient.Session.ConnectionFailedException: Failed to connect to the server
---> System.Net.Http.HttpRequestException: No such host is known. (SOME_SERVER_URL)
---> System.Net.Sockets.SocketException (11001): No such host is known.
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.InjectNewHttp11ConnectionAsync(QueueItem queueItem)
at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.SocketsHttpHandler.<SendAsync>g__CreateHandlerAndSendAsync|115_0(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
at SocketIOClient.Protocol.Http.SystemHttpClient.SendAsync(HttpRequest req, CancellationToken cancellationToken)
at SocketIOClient.Protocol.Http.HttpAdapter.SendAsync(HttpRequest req, CancellationToken cancellationToken)
at SocketIOClient.Session.Http.HttpSession.ConnectCoreAsync(Uri uri, CancellationToken cancellationToken)
at SocketIOClient.Session.SessionBase`1.ConnectAsync(CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at SocketIOClient.Session.SessionBase`1.ConnectAsync(CancellationToken cancellationToken)
at SocketIOClient.SocketIO.TryConnectAsync(ISession session, CancellationToken cancellationToken)
at SocketIOClient.SocketIO.ConnectCoreAsync(CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at SocketIOClient.SocketIO.ConnectCoreAsync(CancellationToken cancellationToken)
[2026-03-27 17:01:50.2954] [georg] [Fatal] [WPFApp] Unobserved task exception System.InvalidOperationException: An attempt was made to transition a task to a final state when it had already completed.
at System.Threading.Tasks.TaskCompletionSource`1.SetResult(TResult result)
at SocketIOClient.SocketIO.<ConnectAsync>b__62_1()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.CancellationTokenSource.ExecuteCallbackHandlers(Boolean throwOnFirstException)
[2026-03-27 17:01:50.3093] [georg] [Fatal] [WPFApp] Unobserved task exception System.InvalidOperationException: An attempt was made to transition a task to a final state when it had already completed.
at System.Threading.Tasks.TaskCompletionSource`1.SetResult(TResult result)
at SocketIOClient.SocketIO.<ConnectAsync>b__62_1()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.CancellationTokenSource.ExecuteCallbackHandlers(Boolean throwOnFirstException)
[2026-03-27 17:01:50.3093] [georg] [Fatal] [WPFApp] Unobserved task exception SocketIOClient.Exceptions.ConnectionException: Cannot connect to server 'SOME_SERVER_URL'
---> SocketIOClient.Session.ConnectionFailedException: Failed to connect to the server
---> System.Net.Http.HttpRequestException: No such host is known. (SOME_SERVER_URL)
---> System.Net.Sockets.SocketException (11001): No such host is known.
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.InjectNewHttp11ConnectionAsync(QueueItem queueItem)
at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.SocketsHttpHandler.<SendAsync>g__CreateHandlerAndSendAsync|115_0(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
at SocketIOClient.Protocol.Http.SystemHttpClient.SendAsync(HttpRequest req, CancellationToken cancellationToken)
at SocketIOClient.Protocol.Http.HttpAdapter.SendAsync(HttpRequest req, CancellationToken cancellationToken)
at SocketIOClient.Session.Http.HttpSession.ConnectCoreAsync(Uri uri, CancellationToken cancellationToken)
at SocketIOClient.Session.SessionBase`1.ConnectAsync(CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at SocketIOClient.Session.SessionBase`1.ConnectAsync(CancellationToken cancellationToken)
at SocketIOClient.SocketIO.TryConnectAsync(ISession session, CancellationToken cancellationToken)
at SocketIOClient.SocketIO.ConnectCoreAsync(CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at SocketIOClient.SocketIO.ConnectCoreAsync(CancellationToken cancellationToken)
I got this error after registering a callback to TaskScheduler.UnobservedTaskException.
Please let me know if you need a sample application.
The problem is that i want to be able to catch these errors when awaiting socket.ConnectAsync().
Many thanks,
George
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels