Early preview of .Net8 packages, codename `debug-2.0.8.104`

image

Linux Mint 20, in support for another year. Based on Ubuntu 20.04 which I think has libicu66, however I also seem to have libicu60 somehow. Duplicati apt show seems to want libicu70 | libicu71 | libicu72.

EDIT:

Installs on Linux Mint 21.2, which seems to have libicu70, however TrayIcon doesn’t seem to show me one.
This used manual start of typing duplicati then confirming that it’s really the TrayIcon executable running.

Web UI is showing 2.0.8.104, but with (maybe remembered from before) “New update found” for 2.0.7.102.
Of course I have to try the buttons. Download doesn’t seem to do anything, and Show’s display is amusing:

image

It was probably a leftover, or at least a Dismiss then Check for updates isn’t bringing it back immediately.

Starting with systemctl uses a different database, and it didn’t come up with the offer of an update-to-lower.
What it did come up with is some new warnings in journaltl -u duplicati if one actually looks there…

Example’s (there are a lot logged):

Apr 11 11:07:11 LinuxMint21 duplicati-server[102472]: SQLite warning (28): double-quoted string literal: "Uploading"
Apr 11 11:07:11 LinuxMint21 duplicati-server[102472]: SQLite warning (28): double-quoted string literal: "Temporary"
Apr 11 11:07:13 LinuxMint21 duplicati-server[102472]: SQLite warning (28): double-quoted string literal: "Deleted"
Apr 11 11:07:13 LinuxMint21 duplicati-server[102472]: SQLite warning (28): double-quoted string literal: "Deleting"
Apr 11 11:07:13 LinuxMint21 duplicati-server[102472]: SQLite warning (28): double-quoted string literal: "Deleted"
Apr 11 11:07:13 LinuxMint21 duplicati-server[102472]: SQLite warning (28): double-quoted string literal: "Deleting"
Apr 11 11:07:13 LinuxMint21 duplicati-server[102472]: SQLite warning (284): automatic index on LatestBlocksetIds-12DBA642AF7FDD45AB12913CC2D4165B(PATH)
Apr 11 11:07:13 LinuxMint21 duplicati-server[102472]: SQLite warning (284): automatic index on BB(VolumeID)
Apr 11 11:07:14 LinuxMint21 duplicati-server[102472]: SQLite warning (28): double-quoted string literal: ""

What’s odd is that the system SQLite should have been new enough to warn on double quotes too, as per
Double-quoted String Literals Are Accepted

As of SQLite 3.27.0 (2019-02-07) the use of a double-quoted string literal causes a warning message to be sent to the error log.

GUI seems to come up on port 3001 as well as where it should be. This interferes with multiple Duplicati as seen in this start when the systemd root Duplicati surprised me by LISTEN on port 3001 in addition to 8200.

$ duplicati-server --webservice-port=8300
info: Duplicati.WebserverCore.ApplicationPartsLogger[0]
      Found the following application parts: 'Duplicati.Server, Duplicati.WebserverCore' with the following controllers: 'RESTHandlerCoreController'
fail: Microsoft.Extensions.Hosting.Internal.Host[11]
      Hosting failed to start
      System.IO.IOException: Failed to bind to address http://127.0.0.1:3001: address already in use.
       ---> Microsoft.AspNetCore.Connections.AddressInUseException: Address already in use
       ---> System.Net.Sockets.SocketException (98): Address already in use
         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()
         --- End of inner exception stack trace ---
         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)
         --- End of inner exception stack trace ---
         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)
         at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.AddressesStrategy.BindAsync(AddressBindContext context, CancellationToken cancellationToken)
         at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindAsync(ListenOptions[] listenOptions, AddressBindContext context, Func`2 useHttps, 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__15_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)