Tray icon won't launch after update

I’ve been running Duplicati for a few years now on my Linux Mint (currently 21.3, with Cinnamon) computer, and it has been great. A couple days ago I saw the notice of a new update (2.1.0.2_beta_2024-11-29) requiring manual install, so I downloaded it and installed.

Now the tray icon won’t run, either on startup or manually. The command line in Startup Applications is
duplicati --no-hosted-server --serverurl=http://localhost:8200

What do I need to do to fix this?

Is that up? You can try it in a browser, or run systemctl status duplicati for its opinion.

Yes, it is. My backups are running, and I can get to the UI via
http://localhost:8200/ngax/index.html#/

systemctl shows an “Authorization failed due to missing cookie” message that concerns me though.

duplicati.service - Duplicati web-server
     Loaded: loaded (/lib/systemd/system/duplicati.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2024-12-20 07:51:37 PST; 1 day 10h ago
   Main PID: 2467 (duplicati-serve)
      Tasks: 20 (limit: 18861)
     Memory: 1.0G
        CPU: 1h 58.085s
     CGroup: /system.slice/duplicati.service
             └─2467 /usr/bin/duplicati-server

Dec 21 11:12:34 Aardvark duplicati-server[2467]:       Duplicati.WebserverCore.Exceptions.UnauthorizedException: Authorization failed due to missing cookie.
Dec 21 11:12:34 Aardvark duplicati-server[2467]:          at Duplicati.WebserverCore.Endpoints.V1.Auth.<>c.<<Map>b__3_0>d.MoveNext()
Dec 21 11:12:34 Aardvark duplicati-server[2467]:       --- End of stack trace from previous location ---
Dec 21 11:12:34 Aardvark duplicati-server[2467]:          at Microsoft.AspNetCore.Http.RequestDelegateFactory.<TaskOfTToValueTaskOfObject>g__ExecuteAwaited|92_0[T](Task`1 task)
Dec 21 11:12:34 Aardvark duplicati-server[2467]:          at Duplicati.WebserverCore.Middlewares.HostnameFilter.InvokeAsync(EndpointFilterInvocationContext context, EndpointFilterDelegate next)
Dec 21 11:12:34 Aardvark duplicati-server[2467]:          at Duplicati.WebserverCore.Middlewares.LanguageFilter.InvokeAsync(EndpointFilterInvocationContext context, EndpointFilterDelegate next)
Dec 21 11:12:34 Aardvark duplicati-server[2467]:          at Microsoft.AspNetCore.Http.RequestDelegateFactory.<ExecuteValueTaskOfObject>g__ExecuteAwaited|129_0(ValueTask`1 valueTask, HttpContext httpContext, JsonTypeInfo`1 jsonTypeInfo)
Dec 21 11:12:34 Aardvark duplicati-server[2467]:          at Duplicati.WebserverCore.Middlewares.WebsocketExtensions.<>c__DisplayClass0_0.<<UseNotifications>b__0>d.MoveNext()
Dec 21 11:12:34 Aardvark duplicati-server[2467]:       --- End of stack trace from previous location ---
Dec 21 11:12:34 Aardvark duplicati-server[2467]:          at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.<Invoke>g__Awaited|10_0(ExceptionHandlerMiddlewareImpl middleware, HttpContext context, Task task)

With 2.1.0.2 there is now a mandatory API password.

If the tray icon (aka the duplicati command) is running in a different user context than the server, you need to supply the password:

duplicati --no-hosted-server --serverurl=http://localhost:8200` --webservice-password=<password>

You can also set it via the environment variable DUPLICATI__WEBSERVICE_PASSWORD, or use one of the secret provider methods if you like.

I added the password parameter to the Startup command to launch the Tray Icon, but the Tray Icon won’t launch the UI.

Installing a new version shouldn’t cause things to stop working. If that’s unavoidable, there needs to be ample, clear instructions provided during the process for how to handle it. This is really frustrating.

What is a “different context?”

Not sure if I’m having same issue, as header is different to last post. Does tray icon itself not launch or does tray icon not launch the web UI?

In my case it is second. I updated Duplicati from 2.0.8.1_beta_2024-05-07 to 2.1.0.2_beta_2024-11-29. Stopped windows service and all running processes before. Password is set since first installation. Backups are running fine, from tray icon “Pause/Resume” is working, icon is green while backup is running, just “Open” is not working. After selecting it, windows is complaining about app is not responding anymore. I can just kill Duplicati.GUI.TrayIcon.exe in Task-Manager then.

What I also noticed, but not sure if related:

  • There are 2 processes running now, after service is started:
    Duplicati.Server (as before) and addtitional Duplicati.WindowsService
  • There is a delay after entering password in UI before showing backups on “Home” screen of 1-2 seconds. Did not note it in old version.

Do you get any error messages from the TrayIcon at all?

It is still not clear to me what the exact problem is, if it is the connection or the TrayIcon itself.
If it is a problem with authentication, there should be warning messages printed to the console.

If this is a problem with Avalonia failing to show the TrayIcon, we should investigate that part.

You can enable verbose logging with:

DEBUG_AVALONIA=2 duplicati --no-hosted-server --serverurl=http://localhost:8200` --webservice-password=<password>

This is exactly the intention. Unfortunately, the Mono runtime (and the similar Windows .NET 4 runtime) is not being maintained so we had to change many things at the same time for this release. It has been tested, but not seen as wide use the previous version before now.

For most users, the TrayIcon hosts the server and for this setup there should be no change required. For other users the instructions are “supply a password if you are not already using one”.

Essentially a different user running the program. Duplicati uses the environment to figure out what paths to use, so running as a different user will cause it to use different paths on the system.

That is a different issue (I think). This has been resolved in the canary build for 2.1.0.101:

You can install the 2.1.0.103 version:

Initially the tray icon would not launch. After adding the --webservice-password= parameter, the try icon launches, but the icon will not launch the web UI.

Ok, then it could be the same as @ThomasV suggests. This has been fixed in canary builds, but a new beta release with the fix is not yet released.

Ok, I’ll watch for that.

Thanks! Will wait for the beta, as indicating running backup is most important function of tray icon for me and this is still working. I always have browser open including one tab for Duplicati, so using “Open” very rarely.

2.1.0.3_beta_2025-01-22 did not fix it for me. Same behavior as before.

Ok, that suggests you have a different issue then.

Just to clarify, you are running the TrayIcon with --no-hosted-server and the symptom is that the TrayIcon starts hanging when clicking the “Open” menu?

Any other symptoms or details that could help to reproduce or track this down?

Yes, running with --no-hosted-server=true and --webserver-password=*****.

No other symptoms, all is working as far I can see. Even what I wrote above, about delay after entering password, is gone with this version.

I have registered an issue for hanging TrayIcon.

@ThomasV you are using Windows I can guess and I assume you have updated Duplicati so both the TrayIcon and the Server is running 2.1.0.3.

@Beckfield reported using Linux Mint, is it still an issue there?

Yes. Now running Duplicati - 2.1.0.3_beta_2025-01-22.

The tray icon is launched on startup, but the ‘Open’ command does not launch the UI. Also, the ‘Quit’ command does not close the tray icon. I presume ‘Pause’ doesn’t work either, but I haven’t tried.

Edit: On further testing, ‘Quit’ and ‘Pause’ work if I haven’t first run ‘Open,’ causing it to hang.

1 Like

Yes, using windows. Used duplicati-2.1.0.3_beta_2025-01-22-win-x64-gui.msi for update, so it should always update both and no older version should be kept somewhere, or? But double checked the exe behind TrayIcon autostart entry now. Is also 2.1.0.3.

Can I help somehow? Maybe for better understanding: “Open” command is just opening browser window/tab with GUI page and entering password, or?

There is a related post:
Windows 11 2024H2 - TrayIcon won’t load when starting Duplicati as a service

The “Open” command tries to first create a sign-in token, which is a special short-lived token that can be used instead of the password. If the sign-in token is generated, it will open the /signin.html page with the token, and that will cause the browser to obtain a valid login.

If that fails, it will just open /index.html and let the user sign in.

The hang that I previously fixed was caused by a deadlock on the signin page, where the TrayIcon UI thread would be blocked by the call, and the call wanted to return to the UI thread with the result. (For developers: missing ConfigureAwait(false) ).

I am guessing that the issue described here is something similar.