"Duplicati.GUI.TrayIcon.exe --no-hosted-server" not working

Hi,
Yesterday I manually updated Duplicati to duplicati-2.1.0.2_beta_2024-11-29-win-x64-gui (the one suggested by Duplicati itself).

Duplicati was setup correctly (years ago) as Windows service, and everything always worked fine. I was able to reach the web GUI through the systray icon (customized with --no-hosted-server “target” parameter in the launcher).

Today I am not able to run the systray anymore. If I launch it from the CLI I get a long backtrace and errors:

PS C:\Users\frapox> & 'C:\Program Files\Duplicati 2\Duplicati.GUI.TrayIcon.exe' --no-hosted-server --webservice-password=xxxxxxxxx
PS C:\Users\frapox> Stack overflow.
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean)
   at System.Threading.Tasks.Task`1[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].GetResultCore(Boolean)
   at Duplicati.GUI.TrayIcon.HttpServerConnection.PerformRequestInternal[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.String, System.String, System.String, System.Nullable`1<System.TimeSpan>)
   at Duplicati.GUI.TrayIcon.HttpServerConnection.PerformRequest[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.String, System.String, System.String, System.Nullable`1<System.TimeSpan>)
   at Duplicati.GUI.TrayIcon.HttpServerConnection.IssueSigninToken(System.String)
   at Duplicati.GUI.TrayIcon.HttpServerConnection.ObtainSignInToken()
   at Duplicati.GUI.TrayIcon.HttpServerConnection.ObtainAccessToken()
   at Duplicati.GUI.TrayIcon.HttpServerConnection.PerformRequest[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.String, System.String, System.String, System.Nullable`1<System.TimeSpan>)
   at Duplicati.GUI.TrayIcon.HttpServerConnection.IssueSigninToken(System.String)
   at Duplicati.GUI.TrayIcon.HttpServerConnection.ObtainSignInToken()
   at Duplicati.GUI.TrayIcon.HttpServerConnection.ObtainAccessToken()
   at Duplicati.GUI.TrayIcon.HttpServerConnection.PerformRequest[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.String, System.String, System.String, System.Nullable`1<System.TimeSpan>)
   at Duplicati.GUI.TrayIcon.HttpServerConnection.IssueSigninToken(System.String)
   at Duplicati.GUI.TrayIcon.HttpServerConnection.ObtainSignInToken()
   at Duplicati.GUI.TrayIcon.HttpServerConnection.ObtainAccessToken()
   at Duplicati.GUI.TrayIcon.HttpServerConnection.PerformRequest[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.String, System.String, System.String, System.Nullable`1<System.TimeSpan>)
   at Duplicati.GUI.TrayIcon.HttpServerConnection.IssueSigninToken(System.String)
   at Duplicati.GUI.TrayIcon.HttpServerConnection.ObtainSignInToken()
   at Duplicati.GUI.TrayIcon.HttpServerConnection.ObtainAccessToken()
   at Duplicati.GUI.TrayIcon.HttpServerConnection.PerformRequest[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.String, System.String, System.String, System.Nullable`1<System.TimeSpan>)
   at Duplicati.GUI.TrayIcon.HttpServerConnection.IssueSigninToken(System.String)
   at Duplicati.GUI.TrayIcon.HttpServerConnection.ObtainSignInToken()
   at Duplicati.GUI.TrayIcon.HttpServerConnection.ObtainAccessToken()
   at Duplicati.GUI.TrayIcon.HttpServerConnection.PerformRequest[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.String, System.String, System.String, System.Nullable`1<System.TimeSpan>)
   at Duplicati.GUI.TrayIcon.HttpServerConnection.IssueSigninToken(System.String)
   at Duplicati.GUI.TrayIcon.HttpServerConnection.ObtainSignInToken()
   at Duplicati.GUI.TrayIcon.HttpServerConnection.ObtainAccessToken()
   at Duplicati.GUI.TrayIcon.HttpServerConnection.PerformRequest[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.String, System.String, System.String, System.Nullable`1<System.TimeSpan>)
   at Duplicati.GUI.TrayIcon.HttpServerConnection.IssueSigninToken(System.String)
   at Duplicati.GUI.TrayIcon.HttpServerConnection.ObtainSignInToken()
   at Duplicati.GUI.TrayIcon.HttpServerConnection.ObtainAccessToken()
   at Duplicati.GUI.TrayIcon.HttpServerConnection.PerformRequest[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.String, System.String, System.String, System.Nullable`1<System.TimeSpan>)
...

That repeats over and over. Note that I added the “–webservice-password” with the password I used to encrypt my backup, even tough I don’t think it’s the right one.

In fact, trying to access via URL “localhost:8200” in the browser, it says: “Login failed: Failed to log in”. Honestly I don’t remember that I have ever added a psw to access the GUI…

So, here I’m asking: is there a way to cancel that password request or reset the password, without reinstalling Duplicati as service? (and therefore keeping all my current settings)

thank you,
Francesco

Welcome to the forum @frapox

Release: 2.1.0.2 (Beta) 2024-11-29

Duplicati Access Password

Example change with a different context (if you have a custom database path, use it instead).

The GUI password is unrelated, although some people might opt to use one password for both.

Try again after you’re sure you have a GUI password in the Windows service and know what it is.

Cannot make 2.0.9 work as Windows Service has a similar symptom, but I “think” you have its fix.

Further comment would have to come from the developer, but please at least set up a password.

1 Like

As @ts678 mentions, you need to configure the webservice password (which is not the backup encryption password, nor the database encryption password).

I have registered an issue to fix the output, so it can instead say “Incorrect password”.

1 Like

Thank you guys for the precious informations and links (I was stuck to the old docs I bookmarked years ago).

I’ve managed to fix by the following steps:

  1. Changed the password of db via powerShell admin prompt.
    PS C:\Program Files\Duplicati 2> .\Duplicati.CommandLine.ServerUtil.exe --server-datafolder=C:\ProgramData\Duplicati\datafolder change-password <NEWPSW>

  2. Stopped Duplicati’s service via services.msc.

  3. Edited Duplicati.lnk properties, filling the Target field with:
    "C:\Program Files\Duplicati 2\Duplicati.GUI.TrayIcon.exe" --no-hosted-server --hosturl=http://localhost:8200/ --read-config-from-db --server-datafolder=C:\ProgramData\Duplicati\datafolder

  4. Copied this edited launcher to Startup folder, overwrited the previous one.

  5. Fixed filesystem ACLs for the datafolder, to allow my Win user access to it.

  6. Restarted the Duplicati service and trayicon.

Done.

Now everything is back to working as before. :grinning:

Just a side note. the GUI process in idle, I’m seeing it using some CPU (low but not zero) basically doing nothing. Between 0-1% on my old i7 3th gen. Is it intentional, should it act this way or…

There is a bunch of old code in there using threads and timers. I think this is causing some unwanted CPU load and should be fixed.

On MacOS, it is usually reported around 0.1% CPU in idle mode.

You can try to look at the logs to figure out if there is something happening that should not be there.

Honestly, I did’t remember such “spikes” on previous version of Duplicati. But I can remember wrong.

Ok, where can I find those logs? (Windows 11).

This should be in the Windows Event Viewer, under “Application” and the source “Duplicati”.

Could someone explain to a noob how to fix this?
In the past I was running Duplicati as a service and started the TrayIcon.exe with " --no-hosted-server".
After Duplicati - 2.1.0.2_beta_2024-11-29 the tray don’t start anymore (i.e. command was overwritten without start properties). I see that the server is still running and doing backups, I can open the web GUI with the link provided in the system events after start.
Ok, next steps will be to change the server passphrase. But then, what are the following steps to get the trayIcon. exe running again(Server already started with Windows Service). I sure am not alone whith this problem.
best regard and thanks in advance for a useful answer
manu

How? Below sounds like maybe you edited a shortcut. That still works (but changed a bit).

Do you mean start at login? Any customized shortcuts will lose custom options on reinstall.
Bypassing Duplicati is always possible, e.g. type startup in Explorer then set up as you like.

I don’t know if any program changes can be done to guess correctly at what your goal was.
This is a bigger issue than before, because previously the autoupdate didn’t alter shortcuts.

New step is add --webservice-password=<password> in addition to --no-hosted-server.

Detached TrayIcon (a term I find to be a contradiction in terms) says how to attach TrayIcon.