I’m not sure how far I’ll get chasing those, but. Initial finding is that Debug output shows:
19:34:24.147 Exception thrown: 'System.InvalidOperationException' in Microsoft.IdentityModel.Protocols.dll
19:34:24.152 Additional information: IDX20803: Unable to obtain configuration from: 'https://duplicati/.well-known/openid-configuration'. Will retry at '12/15/2024 12:36:11 AM +00:00'. Exception: 'System.IO.IOException: IDX20804: Unable to retrieve document from: '[PII of type 'System.String' is hidden. For more details, see https://aka.ms/IdentityModel/PII.]'.
19:34:24.154 ---> System.Net.Http.HttpRequestException: No such host is known. (duplicati:443)
19:34:24.156 ---> System.Net.Sockets.SocketException (11001): No such host is known.
19:34:24.157 at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
19:34:24.158 at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
19:34:24.159 at System.Net.Sockets.Socket.<ConnectAsync>g__WaitForConnectWithCancellation|285_0(AwaitableSocketAsyncEventArgs saea, ValueTask connectTask, CancellationToken cancellationToken)
19:34:24.160 at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
19:34:24.161 --- End of inner exception stack trace ---
19:34:24.162 at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
19:34:24.164 at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
19:34:24.165 at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
19:34:24.166 at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem queueItem)
19:34:24.167 at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
19:34:24.168 at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
19:34:24.169 at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
19:34:24.170 at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
19:34:24.171 at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
19:34:24.172 at Microsoft.IdentityModel.Protocols.HttpDocumentRetriever.SendAsyncAndRetryOnNetworkError(HttpClient httpClient, Uri uri)
19:34:24.173 at Microsoft.IdentityModel.Protocols.HttpDocumentRetriever.GetDocumentAsync(String address, CancellationToken cancel)
19:34:24.175 --- End of inner exception stack trace ---
19:34:24.176 at Microsoft.IdentityModel.Protocols.HttpDocumentRetriever.GetDocumentAsync(String address, CancellationToken cancel)
19:34:24.176 at Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectConfigurationRetriever.GetAsync(String address, IDocumentRetriever retriever, CancellationToken cancel)
19:34:24.177 at Microsoft.IdentityModel.Protocols.ConfigurationManager`1.GetConfigurationAsync(CancellationToken cancel)'.
19:34:24.179 Exception thrown: 'System.InvalidOperationException' in System.Private.CoreLib.dll
19:34:24.180 Additional information: IDX20803: Unable to obtain configuration from: 'https://duplicati/.well-known/openid-configuration'. Will retry at '12/15/2024 12:36:11 AM +00:00'. Exception: 'System.IO.IOException: IDX20804: Unable to retrieve document from: '[PII of type 'System.String' is hidden. For more details, see https://aka.ms/IdentityModel/PII.]'.
19:34:24.181 ---> System.Net.Http.HttpRequestException: No such host is known. (duplicati:443)
19:34:24.182 ---> System.Net.Sockets.SocketException (11001): No such host is known.
19:34:24.183 at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
19:34:24.184 at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
19:34:24.185 at System.Net.Sockets.Socket.<ConnectAsync>g__WaitForConnectWithCancellation|285_0(AwaitableSocketAsyncEventArgs saea, ValueTask connectTask, CancellationToken cancellationToken)
19:34:24.186 at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
19:34:24.187 --- End of inner exception stack trace ---
19:34:24.188 at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
19:34:24.189 at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
19:34:24.190 at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
19:34:24.191 at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem queueItem)
19:34:24.194 at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
19:34:24.195 at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
19:34:24.196 at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
19:34:24.197 at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
19:34:24.198 at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
19:34:24.199 at Microsoft.IdentityModel.Protocols.HttpDocumentRetriever.SendAsyncAndRetryOnNetworkError(HttpClient httpClient, Uri uri)
19:34:24.199 at Microsoft.IdentityModel.Protocols.HttpDocumentRetriever.GetDocumentAsync(String address, CancellationToken cancel)
19:34:24.200 --- End of inner exception stack trace ---
19:34:24.201 at Microsoft.IdentityModel.Protocols.HttpDocumentRetriever.GetDocumentAsync(String address, CancellationToken cancel)
19:34:24.202 at Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectConfigurationRetriever.GetAsync(String address, IDocumentRetriever retriever, CancellationToken cancel)
19:34:24.203 at Microsoft.IdentityModel.Protocols.ConfigurationManager`1.GetConfigurationAsync(CancellationToken cancel)'.
19:34:24.204 Exception thrown: 'System.InvalidOperationException' in System.Private.CoreLib.dll
19:34:24.206 Additional information: IDX20803: Unable to obtain configuration from: 'https://duplicati/.well-known/openid-configuration'. Will retry at '12/15/2024 12:36:11 AM +00:00'. Exception: 'System.IO.IOException: IDX20804: Unable to retrieve document from: '[PII of type 'System.String' is hidden. For more details, see https://aka.ms/IdentityModel/PII.]'.
19:34:24.207 ---> System.Net.Http.HttpRequestException: No such host is known. (duplicati:443)
19:34:24.208 ---> System.Net.Sockets.SocketException (11001): No such host is known.
19:34:24.209 at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
19:34:24.210 at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
19:34:24.211 at System.Net.Sockets.Socket.<ConnectAsync>g__WaitForConnectWithCancellation|285_0(AwaitableSocketAsyncEventArgs saea, ValueTask connectTask, CancellationToken cancellationToken)
19:34:24.212 at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
19:34:24.213 --- End of inner exception stack trace ---
19:34:24.213 at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
19:34:24.214 at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
19:34:24.215 at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
19:34:24.219 at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem queueItem)
19:34:24.219 at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
19:34:24.220 at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
19:34:24.221 at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
19:34:24.222 at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
19:34:24.223 at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
19:34:24.224 at Microsoft.IdentityModel.Protocols.HttpDocumentRetriever.SendAsyncAndRetryOnNetworkError(HttpClient httpClient, Uri uri)
19:34:24.225 at Microsoft.IdentityModel.Protocols.HttpDocumentRetriever.GetDocumentAsync(String address, CancellationToken cancel)
19:34:24.226 --- End of inner exception stack trace ---
19:34:24.227 at Microsoft.IdentityModel.Protocols.HttpDocumentRetriever.GetDocumentAsync(String address, CancellationToken cancel)
19:34:24.228 at Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectConfigurationRetriever.GetAsync(String address, IDocumentRetriever retriever, CancellationToken cancel)
19:34:24.229 at Microsoft.IdentityModel.Protocols.ConfigurationManager`1.GetConfigurationAsync(CancellationToken cancel)'.
19:34:24.230 Exception thrown: 'Microsoft.IdentityModel.Tokens.SecurityTokenExpiredException' in Microsoft.IdentityModel.Tokens.dll
19:34:24.231 Additional information: IDX10223: Lifetime validation failed. The token is expired. ValidTo (UTC): '12/12/2024 3:43:30 PM', Current time (UTC): '12/15/2024 12:34:24 AM'.
19:34:24.233 Exception thrown: 'Microsoft.IdentityModel.Tokens.SecurityTokenExpiredException' in System.Private.CoreLib.dll
19:34:24.234 Additional information: IDX10223: Lifetime validation failed. The token is expired. ValidTo (UTC): '12/12/2024 3:43:30 PM', Current time (UTC): '12/15/2024 12:34:24 AM'.
19:34:24.241 Exception thrown: 'System.Net.Http.HttpRequestException' in System.Net.Http.dll
19:34:24.245 Additional information: Response status code does not indicate success: 401 (Unauthorized).
19:34:24.258 Exception thrown: 'System.Net.Http.HttpRequestException' in System.Private.CoreLib.dll
19:34:24.260 Additional information: Response status code does not indicate success: 401 (Unauthorized).
That sort of output repeats every 10 seconds.
FWIW breakpoints in that area of code aren’t going off (if I set it up right).
I’m looking at LongPollRunner. It tries UpdateStatus
, but gets exception:
{System.Net.Http.HttpRequestException: Response status code does not indicate success: 401 (Unauthorized).
at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
at Duplicati.GUI.TrayIcon.HttpServerConnection.PerformRequestInternalAsync[T](String method, String endpoint, String body, Nullable1 timeout) at Duplicati.Library.Utility.Utility.Await[T](Task
1 task)
at Duplicati.GUI.TrayIcon.HttpServerConnection.PerformRequest[T](String method, String urlfragment, String body, Nullable`1 timeout)
at Duplicati.GUI.TrayIcon.HttpServerConnection.LongPollRunner()}
EDIT 1:
Perhaps not surprisingly, 2.1.0.102 does this too:
GET /api/v1/serverstate?longpoll=true&lastEventId=29&duration=5m HTTP/1.1
Host: localhost:8400
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXAiOiJBY2Nlc3NUb2tlbiIsInNpZCI6InRyYXlpY29uIiwiZmFtIjoidGVtcG9yYXJ5IiwibmJmIjoxNzM0MTg3MDEyLCJleHAiOjE3MzQxODc5MTIsImlzcyI6Imh0dHBzOi8vZHVwbGljYXRpIiwiYXVkIjoiaHR0cHM6Ly9kdXBsaWNhdGkifQ.AnCKi6ixwikjwLQ_ElOXsA_8eKPU80vzBW9l3UNsLwA
User-Agent: Duplicati-TrayIcon-Monitor/2.1.0.102
HTTP/1.1 401 Unauthorized
Content-Length: 0
Date: Sun, 15 Dec 2024 12:59:15 GMT
Server: Kestrel
WWW-Authenticate: Bearer error="invalid_token", error_description="The token expired at '12/14/2024 14:51:52'"
Run circumstances are a bit better known. Process started at 9:36:35 AM 12/14/2024.
Computer slept overnight. Today I wanted to Quit, but wanted to ensure I got right one.
Put it in pause in Web UI, went to look for paused icon. None, so looked in Wireshark.
I’m not sure when it first broke. This Duplicati has no jobs and hasn’t been used much.
C:\>netstat -ano | findstr 8400
TCP 0.0.0.0:8400 0.0.0.0:0 LISTENING 33900
TCP [::]:8400 [::]:0 LISTENING 33900
TCP [::1]:8400 [::1]:61522 ESTABLISHED 33900
TCP [::1]:8400 [::1]:64519 ESTABLISHED 33900
TCP [::1]:61522 [::1]:8400 ESTABLISHED 33900
TCP [::1]:64519 [::1]:8400 ESTABLISHED 9568
C:\>
PID 9568 is Edge. I “think” this Duplicati has only had one tab so far, unlike some others.