Hi,
Tried to upgrade to the latest canary release. I am getting the following error:
A task may only be disposed if it is in a completion state (RanToCompletion, Faulted or Canceled).
I’m running duplicati with the default Docker image and rclone backend. Docker-compose as follows:
duplicati:
deploy:
resources:
limits:
memory: 1GB
cpus: '2'
image: duplicati/duplicati:2.1.0.117
container_name: duplicati
environment:
- TZ=Europe/Brussels
- DUPLICATI__WEBSERVICE_ALLOWED_HOSTNAMES=**redacted**
volumes:
- **redacted**
- duplicati-data:/data/Duplicati/ #/opt/duplicati/data/ #/data/Duplicati/
- duplicati-rclone:/data/rclone/
- /volume1:/volume1
ports:
- 8200:8200
restart: no
hostname: duplicati-odroid
I have tried to pinpoint which release introduced the issue, but for some reason I can’t start some of the older canary releases. I am upgrading from 2.1.0.110 which is working OK. [edit]: 111 was not working [/edit]
Full error message:
System.InvalidOperationException: A task may only be disposed if it is in a completion state (RanToCompletion, Faulted or Canceled).
at System.Threading.Tasks.Task.Dispose(Boolean disposing)
at System.Threading.Tasks.Task.Dispose()
at Duplicati.Library.Backend.Rclone.RcloneCommandExecuter(String command, String arguments, TimeSpan timeout, CancellationToken cancelToken)
at Duplicati.Library.Backend.Rclone.ListAsync(CancellationToken cancelToken)+MoveNext()
at Duplicati.Library.Backend.Rclone.ListAsync(CancellationToken cancelToken)+System.Threading.Tasks.Sources.IValueTaskSource<System.Boolean>.GetResult()
at System.Linq.AsyncEnumerable.<ToListAsync>g__Core|424_0[TSource](IAsyncEnumerable`1 source, CancellationToken cancellationToken) in /_/Ix.NET/Source/System.Linq.Async/System/Linq/Operators/ToList.cs:line 36
at System.Linq.AsyncEnumerable.<ToListAsync>g__Core|424_0[TSource](IAsyncEnumerable`1 source, CancellationToken cancellationToken) in /_/Ix.NET/Source/System.Linq.Async/System/Linq/Operators/ToList.cs:line 36
at Duplicati.Library.Main.Backend.BackendManager.ListOperation.ExecuteAsync(IBackend backend, CancellationToken cancelToken)
at Duplicati.Library.Main.Backend.BackendManager.Handler.Execute[TResult](PendingOperation`1 op, CancellationToken cancellationToken)
at Duplicati.Library.Main.Backend.BackendManager.Handler.Execute(PendingOperationBase op, CancellationToken cancellationToken)
at Duplicati.Library.Main.Backend.BackendManager.Handler.ExecuteWithRetry(PendingOperationBase op, CancellationToken cancellationToken)
at Duplicati.Library.Main.Backend.BackendManager.ListAsync(CancellationToken cancelToken)
at Duplicati.Library.Main.Operation.FilelistProcessor.RemoteListAnalysis(IBackendManager backendManager, Options options, LocalDatabase database, IDbTransaction transaction, IBackendWriter log, IEnumerable`1 protectedFiles, IEnumerable`1 strictExcemptFiles, VerifyMode verifyMode)
at Duplicati.Library.Main.Operation.FilelistProcessor.VerifyRemoteList(IBackendManager backend, Options options, LocalDatabase database, IDbTransaction transaction, IBackendWriter log, IEnumerable`1 protectedFiles, IEnumerable`1 strictExcemptFiles, Boolean logErrors, VerifyMode verifyMode)
at Duplicati.Library.Main.Operation.BackupHandler.PreBackupVerify(Options options, BackupResults result, IBackendManager backendManager)
at Duplicati.Library.Main.Operation.BackupHandler.RunAsync(String[] sources, IBackendManager backendManager, IFilter filter)
at Duplicati.Library.Main.Controller.<>c__DisplayClass23_0.<<Backup>b__0>d.MoveNext()
--- End of stack trace from previous location ---
at Duplicati.Library.Utility.Utility.Await(Task task)
at Duplicati.Library.Main.Controller.RunAction[T](T result, String[]& paths, IFilter& filter, Func`3 method)
at Duplicati.Library.Main.Controller.Backup(String[] inputsources, IFilter filter)
at Duplicati.Server.Runner.Run(IRunnerData data, Boolean fromQueue)