I have upgraded from .101 on all my Win11,Win2025,Debian,Fedora, RPI-OS (Arm7/Arm64) and so far no installation issues and backups seem to be fine.
I did see with the previous Windows canary, all versions, an issue with the tray icon process causing an exception to pop up on-screen when restarting or shutting down the machine. I will post a screen shot if this canary does the same thing.
Some jobs work as before. I think the database rebuild no longer works (it wasn’t a problem in the previous version):
14. Dez. 2024 07:49: Operation Get with file duplicati-b8f3bd1d27b2f4bed8b609b283f1e9cee.dblock.zip attempt 1 of 5 failed with message: A task was canceled.
System.Threading.Tasks.TaskCanceledException: A task was canceled.
at Duplicati.StreamUtil.TimeoutObservingStream.WriteImplAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken cancellationToken)
at Duplicati.Library.Utility.ThrottledStream.Write(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.Stream.<>c.<BeginWriteInternal>b__52_0(Object <p0>)
at System.Threading.Tasks.Task`1.InnerInvoke()
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- End of stack trace from previous location ---
at Duplicati.Library.Utility.Utility.CopyStreamAsync(Stream source, Stream target, Boolean tryRewindSource, CancellationToken cancelToken, Byte[] buf)
at Duplicati.Library.Utility.Utility.CopyStreamAsync(Stream source, Stream target, CancellationToken cancelToken)
at Duplicati.Library.Backend.MicrosoftGraphBackend.GetAsync(String remotename, Stream stream, CancellationToken cancelToken)
at Duplicati.Library.Main.BackendManager.DoGetFile(FileEntryItem item, IEncryption useDecrypter, CancellationToken cancellationToken)
at Duplicati.Library.Main.BackendManager.DoGetAsync(FileEntryItem item, CancellationToken cancellationToken)
at Duplicati.Library.Utility.Utility.Await(Task task)
at Duplicati.Library.Main.BackendManager.ThreadRun()
I was just wondering if cancellation requests that were registered at some point in the past are suddenly being processed. Past means - in an older version, and despite server restarts in the meantime.
I’m still a Canary behind this one, but it looks like the CLI updater broke.
Also confirming a similar issue with the mystery release announcement.
C:\Duplicati\duplicati-2.0.9.106_canary_2024-09-03-win-x64-gui>Duplicati.CommandLine.AutoUpdater check
New version is available: Duplicati v2.1.0.103 - Canary
C:\Duplicati\duplicati-2.0.9.106_canary_2024-09-03-win-x64-gui>cd ..\*2.0.9.107_*
C:\Duplicati\duplicati-2.0.9.107_canary_2024-09-11-win-x64-gui>Duplicati.CommandLine.AutoUpdater check
Error detected: System.NullReferenceException: Object reference not set to an instance of an object.
at Duplicati.Library.Utility.HttpClientExtensions.DownloadFile(HttpClient client, HttpRequestMessage request, String filename, Action`1 progressReportingAction, CancellationToken cancellationToken)
at Duplicati.Library.AutoUpdater.UpdaterManager.CheckForUpdate(ReleaseType channel)
Error detected: System.NullReferenceException: Object reference not set to an instance of an object.
at Duplicati.Library.Utility.HttpClientExtensions.DownloadFile(HttpClient client, HttpRequestMessage request, String filename, Action`1 progressReportingAction, CancellationToken cancellationToken)
at Duplicati.Library.AutoUpdater.UpdaterManager.CheckForUpdate(ReleaseType channel)
No updates found
C:\Duplicati\duplicati-2.0.9.107_canary_2024-09-11-win-x64-gui>
EDIT:
C:\Duplicati\duplicati-2.1.0.102_canary_2024-12-12-win-x64-gui>Duplicati.CommandLine.AutoUpdater check
Error detected: System.NullReferenceException: Object reference not set to an instance of an object.
at Duplicati.Library.Utility.HttpClientExtensions.DownloadFile(HttpClient client, HttpRequestMessage request, String filename, Action`1 progressReportingAction, CancellationToken cancellationToken)
at Duplicati.Library.AutoUpdater.UpdaterManager.CheckForUpdate(ReleaseType channel)
Error detected: System.NullReferenceException: Object reference not set to an instance of an object.
at Duplicati.Library.Utility.HttpClientExtensions.DownloadFile(HttpClient client, HttpRequestMessage request, String filename, Action`1 progressReportingAction, CancellationToken cancellationToken)
at Duplicati.Library.AutoUpdater.UpdaterManager.CheckForUpdate(ReleaseType channel)
No updates found
C:\Duplicati\duplicati-2.1.0.102_canary_2024-12-12-win-x64-gui>cd ..\*2.1.0.2_*
C:\Duplicati\duplicati-2.1.0.2_beta_2024-11-29-win-x64-gui>Duplicati.CommandLine.AutoUpdater check
Error detected: System.NullReferenceException: Object reference not set to an instance of an object.
at Duplicati.Library.Utility.HttpClientExtensions.DownloadFile(HttpClient client, HttpRequestMessage request, String filename, Action`1 progressReportingAction, CancellationToken cancellationToken)
at Duplicati.Library.AutoUpdater.UpdaterManager.CheckForUpdate(ReleaseType channel)
Error detected: System.NullReferenceException: Object reference not set to an instance of an object.
at Duplicati.Library.Utility.HttpClientExtensions.DownloadFile(HttpClient client, HttpRequestMessage request, String filename, Action`1 progressReportingAction, CancellationToken cancellationToken)
at Duplicati.Library.AutoUpdater.UpdaterManager.CheckForUpdate(ReleaseType channel)
No updates found
C:\Duplicati\duplicati-2.1.0.2_beta_2024-11-29-win-x64-gui>
https://updates.duplicati.com/canary/latest-v2.manifest does indeed talk about 2.1.0.103.
Still looking for anything they might share. You can certainly try more tests with them.
Easy is Verify files button, which (in addition to DB tests) downloads a file sample.
Harder would be GUI Export As Command-line then run BackendToolget some files. BackendTester is automatic, but you’d have to modify the URL to use an empty folder.
Ultimately this is going to need dev help, but we can poke around to get the first clues.
This looks like a problem with the new timeout detection feature. Looking at the code, it might be caused by the retry-backoff feature in SharePoint. If there is a retry wait period, nothing will happen in this period, so the timeout will kick in.
Can you try to set the option --read-write-timeout=1h to allow it to wait 1 hour (as opposed to 30s) ? I would imagine this would fix the issue. I have created an issue to track the premature timeout.
In short it means: a task was started, but then cancelled (read: stopped) before it could complete.
Unfortunately, the read-write-timeout option does not change this behavior. It may well be that the abort message always comes after 30 seconds, even if the option is set to one hour.