Failed to bind tcp port due to missing permissions
Author: svengoCreated Sep 16, 2026Updated Sep 16, 2026
- I have searched open and closed issues for duplicates.
- I have searched the forum for related topics.
Issue #6321 seems to describe the same problem but is marked as fixed.
Environment info
- Duplicati version: 2.4.0.0_stable_2026-09-03
- Operating system: Windows 11 Version 25H2 (Build 26200.9457)
- Backend: OneDrive
Description
Duplicati.GUI.TrayIcon.exe and Duplicati.Server.exe crash on startup because access to the socket localhost:8200 was denied due to the socket's access permissions (sorry, the error messages are in German).
Duplicati.Library.Interface.UserInformationException: Server crashed on startup
---> System.Exception: Ein schwerwiegender Fehler trat in Duplicati auf: System.IO.IOException: Failed to bind to address http://localhost:8200.
---> System.AggregateException: One or more errors occurred. (Der Zugriff auf einen Socket war aufgrund der Zugriffsrechte des Sockets unzulässig.) (Der Zugriff auf einen Socket war aufgrund der Zugriffsrechte des Sockets unzulässig.)
---> System.Net.Sockets.SocketException (10013): Der Zugriff auf einen Socket war aufgrund der Zugriffsrechte des Sockets unzulässig.Port 8200 is blocked by docker, wsl or Hyper-V:
PS C:\Users\sveng> netsh interface ipv4 show excludedportrange protocol=tcp
Portausschlussbereiche für das Protokoll "tcp"
Startport Endport
---------- --------
2869 2869
5357 5357
7966 8065
8066 8165
8166 8265
8266 8365
38868 38967
38968 39067
49690 49789
49790 49889
49890 49989
50000 50059 *
50060 50159
* - Verwaltete Portausschlüsse.However, I can run Duplicati by setting the port to 8400 manually.
PS C:\Program Files\Duplicati 2> .\Duplicati.GUI.TrayIcon.exe --webservice-port=8400
PS C:\Program Files\Duplicati 2> Die Datenbank scheint verschlüsselt zu sein, aber es wurde kein Schlüssel angegeben. Das Öffnen der Datenbank wird scheitern. Benutzen Sie die Environment-Variable SETTINGS_ENCRYPTION_KEY um den Schlüssel einzugeben.
Server gestartet und hört auf localhost, Port 8400Steps to reproduce
- Run Duplicati.GUI.TrayIcon.exe
- Actual result: Crash on startup.
- Expected result: Starts GUI.
Screenshots
Debug log
c:\Users\sveng\AppData\Local\Duplicati\Duplicati.GUI.TrayIcon-crashlog.txt
Duplicati.Library.Interface.UserInformationException: Server crashed on startup
---> System.Exception: Ein schwerwiegender Fehler trat in Duplicati auf: System.IO.IOException: Failed to bind to address http://localhost:8200.
---> System.AggregateException: One or more errors occurred. (Der Zugriff auf einen Socket war aufgrund der Zugriffsrechte des Sockets unzulässig.) (Der Zugriff auf einen Socket war aufgrund der Zugriffsrechte des Sockets unzulässig.)
---> System.Net.Sockets.SocketException (10013): Der Zugriff auf einen Socket war aufgrund der Zugriffsrechte des Sockets unzulässig.
at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, Boolean disconnectOnFailure, String callerName)
at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.Bind(EndPoint localEP)
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportOptions.CreateDefaultBoundListenSocket(EndPoint endpoint)
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind()
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportFactory.BindAsync(EndPoint endpoint, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.TransportManager.BindAsync(EndPoint endPoint, ConnectionDelegate connectionDelegate, EndpointConfig endpointConfig, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.<>c__DisplayClass28_0`1.<<StartAsync>g__OnBind|0>d.MoveNext()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync(ListenOptions endpoint, AddressBindContext context, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.LocalhostListenOptions.BindAsync(AddressBindContext context, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
---> (Inner Exception #1) System.Net.Sockets.SocketException (10013): Der Zugriff auf einen Socket war aufgrund der Zugriffsrechte des Sockets unzulässig.
at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, Boolean disconnectOnFailure, String callerName)
at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.Bind(EndPoint localEP)
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportOptions.CreateDefaultBoundListenSocket(EndPoint endpoint)
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind()
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportFactory.BindAsync(EndPoint endpoint, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.TransportManager.BindAsync(EndPoint endPoint, ConnectionDelegate connectionDelegate, EndpointConfig endpointConfig, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.<>c__DisplayClass28_0`1.<<StartAsync>g__OnBind|0>d.MoveNext()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync(ListenOptions endpoint, AddressBindContext context, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.LocalhostListenOptions.BindAsync(AddressBindContext context, CancellationToken cancellationToken)<---
--- End of inner exception stack trace ---
at Microsoft.AspNetCore.Server.Kestrel.Core.LocalhostListenOptions.BindAsync(AddressBindContext context, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.EndpointsStrategy.BindAsync(AddressBindContext context, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.BindAsync(CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.StartAsync[TContext](IHttpApplication`1 application, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Hosting.GenericWebHostService.StartAsync(CancellationToken cancellationToken)
at Microsoft.Extensions.Hosting.Internal.Host.<StartAsync>b__14_1(IHostedService service, CancellationToken token)
at Microsoft.Extensions.Hosting.Internal.Host.ForeachService[T](IEnumerable`1 services, CancellationToken token, Boolean concurrent, Boolean abortOnFirstException, List`1 exceptions, Func`3 operation)
at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
at Duplicati.Server.Program.<>c__DisplayClass45_0.<<StartWebServerAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
at Duplicati.Server.WebServerLoader.TryRunServerAsync[TServer](IReadOnlyDictionary`2 options, Connection connection, Func`2 createServer)
at Duplicati.Server.Program.StartWebServerAsync(IReadOnlyDictionary`2 options, Connection connection, ILogWriteHandler logWriteHandler, IApplicationSettings applicationSettings)
at Duplicati.Server.Program.Main(IApplicationSettings applicationSettings, String[] _args)
---> System.IO.IOException: Failed to bind to address http://localhost:8200.
---> System.AggregateException: One or more errors occurred. (Der Zugriff auf einen Socket war aufgrund der Zugriffsrechte des Sockets unzulässig.) (Der Zugriff auf einen Socket war aufgrund der Zugriffsrechte des Sockets unzulässig.)
---> System.Net.Sockets.SocketException (10013): Der Zugriff auf einen Socket war aufgrund der Zugriffsrechte des Sockets unzulässig.
at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, Boolean disconnectOnFailure, String callerName)
at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.Bind(EndPoint localEP)
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportOptions.CreateDefaultBoundListenSocket(EndPoint endpoint)
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind()
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportFactory.BindAsync(EndPoint endpoint, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.TransportManager.BindAsync(EndPoint endPoint, ConnectionDelegate connectionDelegate, EndpointConfig endpointConfig, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.<>c__DisplayClass28_0`1.<<StartAsync>g__OnBind|0>d.MoveNext()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync(ListenOptions endpoint, AddressBindContext context, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.LocalhostListenOptions.BindAsync(AddressBindContext context, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
---> (Inner Exception #1) System.Net.Sockets.SocketException (10013): Der Zugriff auf einen Socket war aufgrund der Zugriffsrechte des Sockets unzulässig.
at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, Boolean disconnectOnFailure, String callerName)
at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.Bind(EndPoint localEP)
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportOptions.CreateDefaultBoundListenSocket(EndPoint endpoint)
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind()
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportFactory.BindAsync(EndPoint endpoint, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.TransportManager.BindAsync(EndPoint endPoint, ConnectionDelegate connectionDelegate, EndpointConfig endpointConfig, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.<>c__DisplayClass28_0`1.<<StartAsync>g__OnBind|0>d.MoveNext()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync(ListenOptions endpoint, AddressBindContext context, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.LocalhostListenOptions.BindAsync(AddressBindContext context, CancellationToken cancellationToken)<---
--- End of inner exception stack trace ---
at Microsoft.AspNetCore.Server.Kestrel.Core.LocalhostListenOptions.BindAsync(AddressBindContext context, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.EndpointsStrategy.BindAsync(AddressBindContext context, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.BindAsync(CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServerImpl.StartAsync[TContext](IHttpApplication`1 application, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Hosting.GenericWebHostService.StartAsync(CancellationToken cancellationToken)
at Microsoft.Extensions.Hosting.Internal.Host.<StartAsync>b__14_1(IHostedService service, CancellationToken token)
at Microsoft.Extensions.Hosting.Internal.Host.ForeachService[T](IEnumerable`1 services, CancellationToken token, Boolean concurrent, Boolean abortOnFirstException, List`1 exceptions, Func`3 operation)
at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
at Duplicati.Server.Program.<>c__DisplayClass45_0.<<StartWebServerAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
at Duplicati.Server.WebServerLoader.TryRunServerAsync[TServer](IReadOnlyDictionary`2 options, Connection connection, Func`2 createServer)
at Duplicati.Server.Program.StartWebServerAsync(IReadOnlyDictionary`2 options, Connection connection, ILogWriteHandler logWriteHandler, IApplicationSettings applicationSettings)
at Duplicati.Server.Program.Main(IApplicationSettings applicationSettings, String[] _args)
--- End of inner exception stack trace ---
at Duplicati.Server.Program.Main(IApplicationSettings applicationSettings, String[] _args)
at Duplicati.GUI.TrayIcon.HostedInstanceKeeper.<>c__DisplayClass5_0.<.ctor>b__0(Object _)
--- End of inner exception stack trace ---
at Duplicati.GUI.TrayIcon.HostedInstanceKeeper..ctor(IApplicationSettings applicationSettings, String[] args)
at Duplicati.GUI.TrayIcon.Program.RunMain(String[] _args)
at Duplicati.GUI.TrayIcon.Program.Main(String[] _args)Source: duplicati/duplicati