# Release: 2.2.0.0 (Stable) 2025-10-23

**URL:** <https://forum.duplicati.com/t/release-2-2-0-0-stable-2025-10-23/21453>\
**Category:** Releases\
**Created:** [October 23, 2025, 11:52am UTC](https://forum.duplicati.com/t/release-2-2-0-0-stable-2025-10-23/21453 "2025-10-23T11:52:46Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![kenkendk](https://forum.duplicati.com/user_avatar/forum.duplicati.com/kenkendk/32/5305_2.png) [@kenkendk](https://forum.duplicati.com/u/kenkendk)\
**Post date:** [October 23, 2025, 11:52am UTC](https://forum.duplicati.com/t/release-2-2-0-0-stable-2025-10-23/21453/1 "2025-10-23T11:52:46Z")

</div>

# [2.2.0.0\_stable\_2025-10-23](https://github.com/duplicati/duplicati/releases/tag/v2.2.0.0_stable_2025-10-23)

# About this release

This is the next stable release building on the 2.1 line and adds more features and stability fixes, and we are super excited to share this version!

A big thanks to the supportive Duplicati user base who continues to contribute with fixes, issue reports and feature requests.

The most visual change for this version is the use of the new user interface, but there is also a massive list of fixes and improvements in this version. Below is a summary of some of the larger changes.

If you have already been using the beta release, this release is the same as v2.1.2.3.

## New user interface

The new user interface is rewritten from scratch and has the same general structure as the previous one, but we made some things more user friendly and more visually appealing.

Should you find a function that is lacking, we have included buttons to switch back-n-forth between the two user interfaces.

## New backends

We added support for using the cloud services pCloud, Filen and Filejump.

We also added support for connections with SMB.  
The new SMB backend can connect directly to a Windows share without needing to mount the folder or install SMB support, and it works on Windows, Linux and macOS.

## New restore flow

The new restore flow is enabled by default and you should not notice anything other than faster restores!  
In case there is an issue with this, it is possible to set the option `--restore-legacy=true` to fall back to the previous restore flow.

## New signing keys

The packages are now signed by Duplicati Inc, and the Windows packages are signed with EV certificates.

## Remote source support

With this version it is now possible to make backups of local and some remote data.

In this version, S3, IDrive, SSH and CIFS sources are supported.  
The UI does not yet support editing this nicely, but you can enter a path in the special format to “mount” the remote source.

For the commandline (and manual text entry in the UI) enter sources such as:

```plaintext
// Linux/MacOS
@/mnt/s3-data|s3://example?auth-username=...

// Windows
@X:\server1|smb://server/share?auth-username=...

```

This will cause the backups to fetch data from the remote sources.  
We will add an editor to the UI to allow browsing the remote sources, similar to the local files.

## Archive attributes support

For AWS S3 and Azure Blob Storage, Duplicati will now respect the archive attributes and not attempt to read and verify files that have been moved to cold storage.

## Database updates

This version updates the format of the local database to version 17.  
This version updates the format of the settings database to v9.

To assist in downgrades there is now a bundled `CommandLine.DatabaseTool.exe` / `duplicati-database-tool` that can downgrade databases with minimal data loss.  
For a downgrade from this version to 2.1.0.5 this will only drop a few indexes and not cause any data loss.  
Be sure to run the database tool _before_ downgrading the install as the tool needs to be in the latest version.

# Throttle updated

For backups that throttle the transfer speeds, the new throttle logic uses a shared limit for the backup, where previous versions would apply the throttle for each individual stream.

## Removed backends

The Sia backend has been removed due to an incompatible hardfork.

The Mega backend has been marked as unmaintained due to lack of a supported library.  
For now, the Mega library still works, but you should migrate away from it. The new Mega S4 storage might be an option.

## Updates to all backends

All backends are updated to handle timeouts in a granular manner.

This means the option `--http-operations-timeout` is no longer present, but instead there are now `--read-write-timeout`, `--list-timeout`, and `-short-timeout`. These have sensible defaults but are open for tweaking.

The option `--allowed-ssl-versions` is only present for the FTP backend, all other backends use the operating system to figure out what version to use.

## New datafolder default location

For Duplicati running as a service there are now changes for the default folder location.  
If you are not running Duplicati as a service/daemon, this change has no effect.

**Windows** : Avoid storing data in `C:\Windows\System32\config\systemprofile\AppData\Local\Duplicati` and prefer `{CommonProgramData}\Duplicati`, usually resolving to `C:\ProgramData\Duplicati`.

This change is to counter an issue where Windows will wipe the `C:\Windows` folder on major updates, and destroy the backup configuration in the process. If your service stores data under `C:\Windows` you will see a warning in the user interface on startup.

**Linux** : Avoid storing data in `/Duplicati` and prefer `/var/lib/Duplicati`.  
This was caused by the update to .NET8 where the data folder was not resolved correctly and returned `/`, which is not the ideal place for storing data.

If you are using `--server-datafolder` or `DUPLICATI_HOME`, this has no effect on the database, but may cause your machineid and installid to change.

The `machineid.txt` and `installid.txt` would previously be stored in the local app data folder, even when using portable mode or choosing a specific data folder.

This has been fixed, so the files will now follow the database.  
If you are using the Duplicati console or otherwise depend on these values, you need to move them into the folder where the database is stored.

This update also sets permissions on the data folder and the databases to prevent unauthorized access from local accounts.  
To opt out of setting permissions on each startup, place a file named `insecure-permissions.txt` inside the data folder.

## Other large changes

- New file and folder enumeration logic
- Timeout logic on all backend operations
- Improved database validation and repair logic
- ServerUtil can output JSON for script integration
- Improved support for having Duplicati behind a proxy
- Updated throttle logic, all streams share the throttle
- Improved repair logic
- VSS is automatically on if running on Windows with sufficient privileges
- Improved backend test function
- Ability to suppress warnings
- Support for remotely provided reporting url and remotely managed backup configs
- Added support for Google IAM on Google Drive

---

<div class="post-metadata">

**Author:** ![DCinME](https://forum.duplicati.com/letter_avatar_proxy/v4/letter/d/d6d6ee/32.png) [@DCinME](https://forum.duplicati.com/u/DCinME)\
**Post date:** [October 23, 2025, 5:08pm UTC](https://forum.duplicati.com/t/release-2-2-0-0-stable-2025-10-23/21453/2 "2025-10-23T17:08:57Z")

</div>

There is an issue in the UI, wherein if you have a very _verbose_ error message, it stretches way off the screen. So far, that you can’t see the button to dismiss it without zooming _way_ out.

The error shown below happened in an older version of Duplicati, not the current stable version, but I’m unable to clear the error dialog in the current stable version without zooming way out.

 ![image](https://forum.duplicati.com/uploads/default/original/2X/1/1fd3bcdf5dd37362a1f28229b4368137f07c73ef.png)

Even at 30% zoom, I can only barely see the “Show Log” and “Dismiss” buttons.

_In case anyone is curious, the message showed related to the old “The stream was already consumed. It cannot be read again.” error, which I am not sure has been fixed in this stable version or not._

Edit:

The error still occurs even with the current stable version, using the OneDrive backend. Here is the sequence of events in the log:

```plaintext
"2025-10-23 13:15:24 -04 - [Warning-Duplicati.Library.Main.Backend.Handler-BackendManagerHandlerFailure]: Error in handler: Failed to parse response\nMethod: DELETE, RequestUri: 'https://xxxxxxxxxxxxxxx-my.sharepoint.com/personal/xxxxxxx_xxxxxxxxxxxxxxx_com/_api/v2.0/drive/items/01O3D4LCZ24WXHEWPNOFEJPXKUQSCC2OQ3/uploadSession?guid='2745ad63-eba2-47e2-92ec-22df83434421'&overwrite=True&rename=False&dc=0&tempauth=REDACTED', Version: 1.1, Content: <null>, Headers:\r\n{\r\n User-Agent: Duplicati/2.2.0.0\r\n traceparent: 00-95ccb87524fe7109505eda16388a775f-ea47ac4ff99ee722-00\r\n}\nStatusCode: 204, ReasonPhrase: 'No Content', Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent, Headers:\r\n{\r\n Cache-Control: no-cache, no-store\r\n Pragma: no-cache\r\n P3P: CP=\"ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI\"\r\n X-NetworkStatistics: 0,4194720,0,2,587463,525568,525568,6797\r\n X-SharePointHealthScore: 1\r\n X-SP-SERVERSTATE: ReadOnly=0\r\n ODATA-VERSION: 4.0\r\n SPClientServiceRequestDuration: 208\r\n X-AspNet-Version: 4.0.30319\r\n IsOCDI: 0\r\n X-DataBoundary: NONE\r\n X-1DSCollectorUrl: https://mobile.events.data.microsoft.com/OneCollector/1.0/\r\n X-AriaCollectorURL: https://browser.pipe.aria.microsoft.com/Collector/3.0/\r\n SPRequestGuid: e443d2a1-0092-a000-8a40-80ea31826dd3\r\n request-id: e443d2a1-0092-a000-8a40-80ea31826dd3\r\n MS-CV: odJD5JIAAKCKQIDqMYJt0w.0\r\n SPLogId: e443d2a1-0092-a000-8a40-80ea31826dd3\r\n SPRequestDuration: 234\r\n Strict-Transport-Security: max-age=31536000\r\n X-Frame-Options: SAMEORIGIN\r\n Content-Security-Policy: frame-ancestors 'self' teams.microsoft.com *.teams.microsoft.com *.skype.com *.teams.microsoft.us local.teams.office.com teams.cloud.microsoft *.office365.com goals.cloud.microsoft *.powerapps.com *.powerbi.com *.yammer.com engage.cloud.microsoft word.cloud.microsoft excel.cloud.microsoft powerpoint.cloud.microsoft *.officeapps.live.com *.office.com *.microsoft365.com m365.cloud.microsoft *.cloud.microsoft *.stream.azure-test.net *.dynamics.com *.microsoft.com onedrive.live.com *.onedrive.live.com securebroker.sharepointonline.com;\r\n X-Powered-By: ASP.NET\r\n MicrosoftSharePointTeamServices: 16.0.0.26608\r\n X-Content-Type-Options: nosniff\r\n X-MS-InvokeApp: 1; RequireReadOnly\r\n X-Cache: CONFIG_NOCACHE\r\n X-MSEdge-Ref: Ref A: 230CD7ED1DD742ECAD071A6D7A545AD5 Ref B: EWR311000108051 Ref C: 2025-10-23T17:15:24Z\r\n Date: Thu, 23 Oct 2025 17:15:23 GMT\r\n Expires: -1\r\n}\n<error reading body>: The stream was already consumed. It cannot be read again.\r\nMicrosoftGraphException: Failed to parse response\nMethod: DELETE, RequestUri: 'https://xxxxxxxxxxxxxxx-my.sharepoint.com/personal/xxxxxxx_xxxxxxxxxxxxxxx_com/_api/v2.0/drive/items/01O3D4LCZ24WXHEWPNOFEJPXKUQSCC2OQ3/uploadSession?guid='2745ad63-eba2-47e2-92ec-22df83434421'&overwrite=True&rename=False&dc=0&tempauth=REDACTED', Version: 1.1, Content: <null>, Headers:\r\n{\r\n User-Agent: Duplicati/2.2.0.0\r\n traceparent: 00-95ccb87524fe7109505eda16388a775f-ea47ac4ff99ee722-00\r\n}\nStatusCode: 204, ReasonPhrase: 'No Content', Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent, Headers:\r\n{\r\n Cache-Control: no-cache, no-store\r\n Pragma: no-cache\r\n P3P: CP=\"ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI\"\r\n X-NetworkStatistics: 0,4194720,0,2,587463,525568,525568,6797\r\n X-SharePointHealthScore: 1\r\n X-SP-SERVERSTATE: ReadOnly=0\r\n ODATA-VERSION: 4.0\r\n SPClientServiceRequestDuration: 208\r\n X-AspNet-Version: 4.0.30319\r\n IsOCDI: 0\r\n X-DataBoundary: NONE\r\n X-1DSCollectorUrl: https://mobile.events.data.microsoft.com/OneCollector/1.0/\r\n X-AriaCollectorURL: https://browser.pipe.aria.microsoft.com/Collector/3.0/\r\n SPRequestGuid: e443d2a1-0092-a000-8a40-80ea31826dd3\r\n request-id: e443d2a1-0092-a000-8a40-80ea31826dd3\r\n MS-CV: odJD5JIAAKCKQIDqMYJt0w.0\r\n SPLogId: e443d2a1-0092-a000-8a40-80ea31826dd3\r\n SPRequestDuration: 234\r\n Strict-Transport-Security: max-age=31536000\r\n X-Frame-Options: SAMEORIGIN\r\n Content-Security-Policy: frame-ancestors 'self' teams.microsoft.com *.teams.microsoft.com *.skype.com *.teams.microsoft.us local.teams.office.com teams.cloud.microsoft *.office365.com goals.cloud.microsoft *.powerapps.com *.powerbi.com *.yammer.com engage.cloud.microsoft word.cloud.microsoft excel.cloud.microsoft powerpoint.cloud.microsoft *.officeapps.live.com *.office.com *.microsoft365.com m365.cloud.microsoft *.cloud.microsoft *.stream.azure-test.net *.dynamics.com *.microsoft.com onedrive.live.com *.onedrive.live.com securebroker.sharepointonline.com;\r\n X-Powered-By: ASP.NET\r\n MicrosoftSharePointTeamServices: 16.0.0.26608\r\n X-Content-Type-Options: nosniff\r\n X-MS-InvokeApp: 1; RequireReadOnly\r\n X-Cache: CONFIG_NOCACHE\r\n X-MSEdge-Ref: Ref A: 230CD7ED1DD742ECAD071A6D7A545AD5 Ref B: EWR311000108051 Ref C: 2025-10-23T17:15:24Z\r\n Date: Thu, 23 Oct 2025 17:15:23 GMT\r\n Expires: -1\r\n}\n<error reading body>: The stream was already consumed. It cannot be read again."
"2025-10-23 13:15:24 -04 - [Warning-Duplicati.Library.Main.Backend.Handler-BackendManagerDisposeWhileActive]: Terminating 3 active uploads"
"2025-10-23 13:15:24 -04 - [Warning-Duplicati.Library.Main.Backend.Handler-BackendManagerDisposeError]: Error in active upload: Cancelled"
"2025-10-23 13:15:24 -04 - [Warning-Duplicati.Library.Main.Backend.Handler-BackendManagerDisposeError]: Terminating, but 2 active upload(s) are still active"
"2025-10-23 13:15:24 -04 - [Warning-Duplicati.Library.Main.Backend.Handler-BackendManagerDisposeError]: Error in active upload: Cancelled"
"2025-10-23 13:15:24 -04 - [Warning-Duplicati.Library.Main.Backend.Handler-BackendManagerDisposeError]: Terminating, but 1 active upload(s) are still active"
"2025-10-23 13:15:24 -04 - [Warning-Duplicati.Library.Main.Backend.Handler-BackendManagerDisposeError]: Error in active upload: Cancelled"
"2025-10-23 13:15:26 -04 - [Warning-Duplicati.Library.Main.Backend.BackendManager-BackendManagerShutdown]: Backend manager queue runner crashed\r\nAggregateException: One or more errors occurred. (Failed to parse response\nMethod: DELETE, RequestUri: 'https://xxxxxxxxxxxxxxx-my.sharepoint.com/personal/xxxxxxx_xxxxxxxxxxxxxxx_com/_api/v2.0/drive/items/01O3D4LCZ24WXHEWPNOFEJPXKUQSCC2OQ3/uploadSession?guid='2745ad63-eba2-47e2-92ec-22df83434421'&overwrite=True&rename=False&dc=0&tempauth=REDACTED', Version: 1.1, Content: <null>, Headers:\r\n{\r\n User-Agent: Duplicati/2.2.0.0\r\n traceparent: 00-95ccb87524fe7109505eda16388a775f-ea47ac4ff99ee722-00\r\n}\nStatusCode: 204, ReasonPhrase: 'No Content', Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent, Headers:\r\n{\r\n Cache-Control: no-cache, no-store\r\n Pragma: no-cache\r\n P3P: CP=\"ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI\"\r\n X-NetworkStatistics: 0,4194720,0,2,587463,525568,525568,6797\r\n X-SharePointHealthScore: 1\r\n X-SP-SERVERSTATE: ReadOnly=0\r\n ODATA-VERSION: 4.0\r\n SPClientServiceRequestDuration: 208\r\n X-AspNet-Version: 4.0.30319\r\n IsOCDI: 0\r\n X-DataBoundary: NONE\r\n X-1DSCollectorUrl: https://mobile.events.data.microsoft.com/OneCollector/1.0/\r\n X-AriaCollectorURL: https://browser.pipe.aria.microsoft.com/Collector/3.0/\r\n SPRequestGuid: e443d2a1-0092-a000-8a40-80ea31826dd3\r\n request-id: e443d2a1-0092-a000-8a40-80ea31826dd3\r\n MS-CV: odJD5JIAAKCKQIDqMYJt0w.0\r\n SPLogId: e443d2a1-0092-a000-8a40-80ea31826dd3\r\n SPRequestDuration: 234\r\n Strict-Transport-Security: max-age=31536000\r\n X-Frame-Options: SAMEORIGIN\r\n Content-Security-Policy: frame-ancestors 'self' teams.microsoft.com *.teams.microsoft.com *.skype.com *.teams.microsoft.us local.teams.office.com teams.cloud.microsoft *.office365.com goals.cloud.microsoft *.powerapps.com *.powerbi.com *.yammer.com engage.cloud.microsoft word.cloud.microsoft excel.cloud.microsoft powerpoint.cloud.microsoft *.officeapps.live.com *.office.com *.microsoft365.com m365.cloud.microsoft *.cloud.microsoft *.stream.azure-test.net *.dynamics.com *.microsoft.com onedrive.live.com *.onedrive.live.com securebroker.sharepointonline.com;\r\n X-Powered-By: ASP.NET\r\n MicrosoftSharePointTeamServices: 16.0.0.26608\r\n X-Content-Type-Options: nosniff\r\n X-MS-InvokeApp: 1; RequireReadOnly\r\n X-Cache: CONFIG_NOCACHE\r\n X-MSEdge-Ref: Ref A: 230CD7ED1DD742ECAD071A6D7A545AD5 Ref B: EWR311000108051 Ref C: 2025-10-23T17:15:24Z\r\n Date: Thu, 23 Oct 2025 17:15:23 GMT\r\n Expires: -1\r\n}\n<error reading body>: The stream was already consumed. It cannot be read again.)"

```

---

<div class="post-metadata">

**Author:** ![DCinME](https://forum.duplicati.com/letter_avatar_proxy/v4/letter/d/d6d6ee/32.png) [@DCinME](https://forum.duplicati.com/u/DCinME)\
**Post date:** [October 23, 2025, 6:46pm UTC](https://forum.duplicati.com/t/release-2-2-0-0-stable-2025-10-23/21453/3 "2025-10-23T18:46:37Z")

</div>

I have another question, not necessarily specific to this version of Duplicati but in general.

When using the “suppress specific warnings” option on a backup, it requests a comma-separated list of warning IDs that you would like it to suppress.

How does one find these? In particular, I would like to suppress this one:

```plaintext
Warning while running XXXXXXXXXXXXXXXXXXXX
2025-10-23 14:25:34 -04 - [Warning-Duplicati.Library.Modules.Builtin.HyperVOptions-HyperVOnServerOnly]: This is client version of Windows. Hyper-V VSS writer is present only on Server version. Backup will continue, but will be crash consistent only in opposite to application consistent in Server version

```

… but I’m unable to find the warning ID.

Hopefully it’s not somewhere right under my nose.

Edit: Question still stands, but I found out in the meantime that there is a specific setting toggle for this particular error. Specifically: hyperv-ignore-client-warning=True will cause this specific warning to be ignored.

---

<div class="post-metadata">

**Author:** ![ts678](https://forum.duplicati.com/letter_avatar_proxy/v4/letter/t/8491ac/32.png) [@ts678](https://forum.duplicati.com/u/ts678)\
**Post date:** [October 23, 2025, 8:59pm UTC](https://forum.duplicati.com/t/release-2-2-0-0-stable-2025-10-23/21453/4 "2025-10-23T20:59:32Z")

</div>

> [@DCinME](#):
>
> When using the “suppress specific warnings” option

This reference shows the challenge I was fretting over in new UI, which hides option names.  
Trying to get the option help from its short help message that you mentioned found it was at:

```plaintext
  --suppress-warnings (String): Suppress specific warnings
    Suppress warnings and log them as information instead. Use this if you need
    to silence specific warnings. This option accepts a comma separated list
    of warning IDs.

```

which could probably give better explanations of how to get the ID, but I had an idea already.

> [@DCinME](#):
>
> I’m unable to find the warning ID.

It’s probably a descriptive final word. Did you try `HyperVOnServerOnly`?

---

<div class="post-metadata">

**Author:** ![Folgore101](https://forum.duplicati.com/user_avatar/forum.duplicati.com/folgore101/32/421_2.png) [@Folgore101](https://forum.duplicati.com/u/Folgore101)\
**Post date:** [October 24, 2025, 7:28am UTC](https://forum.duplicati.com/t/release-2-2-0-0-stable-2025-10-23/21453/5 "2025-10-24T07:28:18Z")

</div>

I had already reported them [Release: 2.1.1.102 (Canary) 2025-09-23 - #6 by Folgore101](https://forum.duplicati.com/t/release-2-1-1-102-canary-2025-09-23/21342/6) , it seems like he couldn’t find a fix before the stable release, which is a shame because it’s a stable release anyway.

---

<div class="post-metadata">

**Author:** ![Mathionine](https://forum.duplicati.com/letter_avatar_proxy/v4/letter/m/e8c25b/32.png) [@Mathionine](https://forum.duplicati.com/u/Mathionine)\
**Post date:** [October 24, 2025, 11:58am UTC](https://forum.duplicati.com/t/release-2-2-0-0-stable-2025-10-23/21453/6 "2025-10-24T11:58:35Z")

</div>

Hello,

How exciting, to have a stable version!

I was so far using the canary version (as I am a long-term user and missed that there is a beta and stable)

And I was wondering if it is possible to update to this one from a canary version? (Without risking backup corruption)

If yes, from which canary version is it safe to switch to this one?

Thank you!

---

<div class="post-metadata">

**Author:** ![DCinME](https://forum.duplicati.com/letter_avatar_proxy/v4/letter/d/d6d6ee/32.png) [@DCinME](https://forum.duplicati.com/u/DCinME)\
**Post date:** [October 24, 2025, 1:55pm UTC](https://forum.duplicati.com/t/release-2-2-0-0-stable-2025-10-23/21453/7 "2025-10-24T13:55:47Z")

</div>

I have encountered a strange behavior with the scheduler.

On one of my PCs I have many Hyper-V virtual machines that are scheduled to back up daily. I have them all scheduled to go at the same time, 10:00PM and 11:00PM, and Duplicati usually runs them all sequentially.

However, since installing 2.2.0.0, something strange has happened. I have my backup jobs set up to phone home to my Zabbix monitoring system every time they run. I got an alert last night that one of my jobs hadn’t reported that it had run in a longer-than-expected length of time.

I checked my jobs, and several of them have “Next scheduled run” dates a day or two in the future, and for one job, an entire week into the future:

 ![image](https://forum.duplicati.com/uploads/default/original/2X/f/fe49ca67dfd2da3b894afa8b3f819f64bf772ee9.png)

… I have others like this one, that I would have expected to run again last night, but for some reason it didn’t run last night, and will instead run tonight at its normal time.

 ![image](https://forum.duplicati.com/uploads/default/original/2X/d/d25415729768c7e1aac3ebef399393a0b7b5406d.png)

Despite all of the above, I have several other backup jobs that ran just fine at their appointed times, and are scheduled to run again exactly as expected.

I’m going to keep an eye on these, hopefully it’s just a one-time thing.

---

<div class="post-metadata">

**Author:** ![vbs](https://forum.duplicati.com/user_avatar/forum.duplicati.com/vbs/32/10905_2.png) [@vbs](https://forum.duplicati.com/u/vbs)\
**Post date:** [October 24, 2025, 4:47pm UTC](https://forum.duplicati.com/t/release-2-2-0-0-stable-2025-10-23/21453/8 "2025-10-24T16:47:38Z")

</div>

The new UI looks really neat! Big improvement! Thank you! 💪

---

<div class="post-metadata">

**Author:** ![kmand](https://forum.duplicati.com/letter_avatar_proxy/v4/letter/k/e68b1a/32.png) [@kmand](https://forum.duplicati.com/u/kmand)\
**Post date:** [October 25, 2025, 4:40pm UTC](https://forum.duplicati.com/t/release-2-2-0-0-stable-2025-10-23/21453/9 "2025-10-25T16:40:51Z")

</div>

I’m running 2.1.0.5\_stable\_2025-03-04 on Linux (Ubuntu 24.04). What are the steps to upgrade to 2.2.0.0 stable. Is it any more than stop duplicati, run dpkg -i on duplicati-2.2.0.0\_stable\_2025-10-23-linux-x64-gui.deb? It does several 200GB backups to google drive, so it would be a real problem if this update fails.

---

<div class="post-metadata">

**Author:** ![ts678](https://forum.duplicati.com/letter_avatar_proxy/v4/letter/t/8491ac/32.png) [@ts678](https://forum.duplicati.com/u/ts678)\
**Post date:** [October 26, 2025, 12:30am UTC](https://forum.duplicati.com/t/release-2-2-0-0-stable-2025-10-23/21453/10 "2025-10-26T00:30:55Z")

</div>

> [@kmand](#):
>
> Is it any more than stop duplicati, run dpkg -i on duplicati-2.2.0.0\_stable\_2025-10-23-linux-x64-gui.deb?

[Install Duplicati on Linux](https://docs.duplicati.com/getting-started/installation) shows dpkg -i although I’m not fully convinced it installs dependencies.  
Generally I let browser download the `.deb` then open a file browser to let it install using `gdebi`.

Running `apt install` works too, but you have to persuade it with something like `./` file prefix. Additionally it can finish with harmless but scary [Download is performed unsandboxed](https://www.reddit.com/r/linuxquestions/comments/mw84n3/download_performed_unsandboxed/) if the `.deb` is in a protected folder such as your home directory might use. A root shell seems to avoid issue.

Basically it’s a `.deb` file, and there are probably a lot of different tools available to do that install.

Back to `dpkg -i`, I stopped Duplicati with `systemctl stop duplicati` (because I had a service), ran `apt remove duplicati`, then used dpkg for 2.1.0.5, then for 2.2.0.0: The output of that was:

```plaintext
Selecting previously unselected package duplicati.
(Reading database ... 613530 files and directories currently installed.)
Preparing to unpack duplicati-2.1.0.5_stable_2025-03-04-linux-x64-gui.deb ...
Unpacking duplicati (2.1.0.5) ...
Setting up duplicati (2.1.0.5) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu3) ...
Processing triggers for desktop-file-utils (0.26+mint3+victoria) ...
Processing triggers for mailcap (3.70+nmu1ubuntu1) ...

```

```plaintext
(Reading database ... 614807 files and directories currently installed.)
Preparing to unpack duplicati-2.2.0.0_stable_2025-10-23-linux-x64-gui.deb ...
Unpacking duplicati (2.2.0.0) over (2.1.0.5) ...
Setting up duplicati (2.2.0.0) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu3) ...
Processing triggers for desktop-file-utils (0.26+mint3+victoria) ...
Processing triggers for mailcap (3.70+nmu1ubuntu1) ...

```

> [@Mathionine](#):
>
> And I was wondering if it is possible to update to this one from a canary version? (Without risking backup corruption)
> 
> If yes, from which canary version is it safe to switch to this one?

I can’t think of any safety issues. It’s sometimes possible for Canary database to get ahead of Stable, but I don’t think it is now (as of 2.1.1.105\_canary\_2025-10-10). [Database updates](https://forum.duplicati.com/t/release-2-2-0-0-stable-2025-10-23/21453#p-79970-database-updates-9) has information on what this version wants, and there’s Duplicati.CommandLine.DatabaseTool.exe (Windows, and others use `duplicati-database-tool`) that can downgrade. It gives help text.

Database version upgrades (say from older Canary or anything needing it) should be automatic. There’s a backup file made before that, so I’ll remind both of you to have some free space for it.

EDIT 1:

In the other direction (database version is newer than old Duplicati knows), it just refuses to run.  
There’s no corruption risk. You just have to downgrade that database to what old version knows.  
But this isn’t even an issue with current Canary and this Stable, as they are on the same version.

---

<div class="post-metadata">

**Author:** ![kmand](https://forum.duplicati.com/letter_avatar_proxy/v4/letter/k/e68b1a/32.png) [@kmand](https://forum.duplicati.com/u/kmand)\
**Post date:** [October 26, 2025, 2:48pm UTC](https://forum.duplicati.com/t/release-2-2-0-0-stable-2025-10-23/21453/11 "2025-10-26T14:48:32Z")

</div>

Is the apt remove really necessary before dpkg -i? I don’t want to lose any configuration. As comparison dpkg -i on the zoom deb is perfectly happy to upgrade the last installed version without me removing it myself,

---

<div class="post-metadata">

**Author:** ![kenkendk](https://forum.duplicati.com/user_avatar/forum.duplicati.com/kenkendk/32/5305_2.png) [@kenkendk](https://forum.duplicati.com/u/kenkendk)\
**Post date:** [October 26, 2025, 3:31pm UTC](https://forum.duplicati.com/t/release-2-2-0-0-stable-2025-10-23/21453/12 "2025-10-26T15:31:45Z")

</div>

> [@DCinME](#):
>
> Even at 30% zoom, I can only barely see the “Show Log” and “Dismiss” buttons.

Thanks for reporting, I have created [an issue for it](https://github.com/duplicati/ngclient/issues/378).

> [@DCinME](#):
>
> “The stream was already consumed. It cannot be read again.” error, which I am not sure has been fixed in this stable version or not.

There is a fix for this with the MSGraph backend, but it only means that we can now read the actual error message.

> [@DCinME](#):
>
> Here is the sequence of events in the log:

Thanks for sharing. It looks like the problem is that the server responds “204 - No content” and Duplicati tries to parse the empty string, causing the failure.

However, it looks like this happens during cancellation of an upload, which means we are still looking for the actual trigger. Do you have a stack trace so I can confirm that this is what happens?

I have [a PR ready that handles the 204 issue](https://github.com/duplicati/duplicati/pull/6566).

> [@DCinME](#):
>
> When using the “suppress specific warnings” option on a backup, it requests a comma-separated list of warning IDs that you would like it to suppress.
> 
> How does one find these?

You can look at the message you want to suppress:

```plaintext
[Warning-Duplicati.Library.Modules.Builtin.HyperVOptions-HyperVOnServerOnly]

```

It has the format:

```plaintext
[Type-Tag-Id]

```

So, in this case, the id is `HyperVOnServerOnly`.

The plan is to add a button in the logs, so you can simply click it and say “Suppress this warning” and it will add the ID automatically, but for now you need to manually do it.

> [@ts678](#):
>
> This reference shows the challenge I was fretting over in new UI, which hides option names.

The name is hidden only when the advanced option is added, you still use the name when adding the option.

> [@ts678](#):
>
> Trying to get the option help from its short help message that you mentioned found it was at:

The message you quote here is actually also shown on the page.

> [@Folgore101](#):
>
> which is a shame because it’s a stable release anyway.

The plan is to make a 2.2.0.1 release with fixes to some of the minor issues that are discovered.

> [@Mathionine](#):
>
> And I was wondering if it is possible to update to this one from a canary version? (Without risking backup corruption)

This was already answered by @ts678, but you can just update from the canary to the stable.

> [@DCinME](#):
>
> Despite all of the above, I have several other backup jobs that ran just fine at their appointed times, and are scheduled to run again exactly as expected.
> 
> I’m going to keep an eye on these, hopefully it’s just a one-time thing.

Which version did you update from? I have no good explanation as to why it would suddenly skip ahead. Could it be related to the Daylight Savings time that happens around now?

> [@kmand](#):
>
> Is the apt remove really necessary before dpkg -i? I don’t want to lose any configuration. As comparison dpkg -i on the zoom deb is perfectly happy to upgrade the last installed version without me removing it myself,

It is not needed, but it does no harm either. The configuration files are considered “user documents” so they are not deleted if you uninstall Duplicati.

---

<div class="post-metadata">

**Author:** ![ts678](https://forum.duplicati.com/letter_avatar_proxy/v4/letter/t/8491ac/32.png) [@ts678](https://forum.duplicati.com/u/ts678)\
**Post date:** [October 26, 2025, 4:10pm UTC](https://forum.duplicati.com/t/release-2-2-0-0-stable-2025-10-23/21453/13 "2025-10-26T16:10:47Z")

</div>

> [@kenkendk](#):
>
> The message you quote here is actually also shown on the page.

No, there was only a short rewrite. I wanted to get original message.

Many times users won’t even post a short rewrite, just the short help.

[Show the option name in advanced options #380](https://github.com/duplicati/ngclient/issues/380) was filed by you to help reverse it. Thanks.

For the 204 issue, I had this. Not sure if it’s the same. I have more. Maybe bad network day?

```plaintext
<error reading body>: The stream was already consumed. It cannot be read again.
   at Duplicati.Library.Backend.MicrosoftGraphBackend.ParseResponseAsync[T](HttpResponseMessage response, CancellationToken cancelToken)
   at Duplicati.Library.Backend.MicrosoftGraphBackend.ThrowUploadSessionException(UploadSession uploadSession, HttpResponseMessage createSessionResponse, Int32 fragment, Int32 fragmentCount, Exception ex, CancellationToken cancelToken)
   at Duplicati.Library.Backend.MicrosoftGraphBackend.PutAsync(String remotename, Stream stream, CancellationToken cancelToken)
   at Duplicati.Library.Main.Backend.BackendManager.PutOperation.PerformUpload(IBackend backend, String hash, Int64 size, CancellationToken cancelToken)
   at Duplicati.Library.Main.Backend.BackendManager.PutOperation.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)
2025-10-17 08:53:45 -04 - [Profiling-Timer.Finished-Duplicati.Library.Main.Backend.Handler-RemoteOperationPut]: RemoteOperationPut took 0:00:00:46.599
2025-10-17 08:53:46 -04 - [Retry-Duplicati.Library.Main.Backend.Handler-RetryPut]: Operation Put with file duplicati-ba65e5308d3244348bfcce5763e768dbf.dblock.zip.aes attempt 1 of 0 failed with message: Failed to parse response
Method: DELETE, RequestUri: 'https://my.microsoftpersonalcontent.com/personal/7dfee4690d9f4711/_api/v2.0/drive/items/01U3VB7BRT5Y5PTEO3AZHIWULIEE2XGFBG/uploadSession?guid='1c2097a5-bdd2-4995-a61f-15addf48a3b5'&overwrite=True&rename=False&dc=0&tempauth=v1e.eyJzaXRlaWQiOiI3MjJkMjBmZC02NGM0LTQxMTgtOTkzMC03MDI4MDhlNzFmY2YiLCJhcHBfZGlzcGxheW5hbWUiOiJEdXBsaWNhdGkiLCJhcHBpZCI6IjE1MzQ5ODM3LTFjOTktNDZjMy05YzIxLWY1OGMzN2E3NDk4NSIsImF1ZCI6IjAwMDAwMDAzLTAwMDAtMGZmMS1jZTAwLTAwMDAwMDAwMDAwMC9teS5taWNyb3NvZnRwZXJzb25hbGNvbnRlbnQuY29tQDkxODgwNDBkLTZjNjctNGM1Yi1iMTEyLTM2YTMwNGI2NmRhZCIsImV4cCI6IjE3NjA3OTE5OTAifQ.XJanXQU1uBtCz6LCe9ap-TEczYOhzXTMxOvOpbcJDrx8XJecWgU9A-wcfnGC1xO6ps3vFKctChMmj9Vj9Zddt7rwC7vCiEh7-74GLb2EiFxz2sepOi0rWO0jRPTQKN-wD_HP7Kg2RMQ2vBDU4wyyLMtBccCCo6xb4idrJRN1O99PX1A7kuDzc7UZy2K0V3BwM46D4TF-Y8btdet3rLvGMIPFe2SxRfDsqhhYCFjxocBqzQ7hKIlsvb7YHSYlI8AbnCEiKJY4oNm-XSVSotCZI049mtFEc2MnB5aHXmRxvR2Q6GLm5XoXcZiMCXDKK-_Sk4fZrzTZe9rNha8wuVuDJJdGoAoO9UX5deDMo5CLwMHquiMt3Bdad8eySNPPCLoixEe_5uOFaWN7F2acS-xL2b9fz3fjs_2OHIkWcbloEcYYBhgP4R9jcf31BYDoneoW.dngHte_ALJrTnkOM2a8MajaMThhUkm6FQPsvOK5jU3w', Version: 1.1, Content: <null>, Headers:

```

---

<div class="post-metadata">

**Author:** ![kenkendk](https://forum.duplicati.com/user_avatar/forum.duplicati.com/kenkendk/32/5305_2.png) [@kenkendk](https://forum.duplicati.com/u/kenkendk)\
**Post date:** [October 26, 2025, 6:08pm UTC](https://forum.duplicati.com/t/release-2-2-0-0-stable-2025-10-23/21453/14 "2025-10-26T18:08:22Z")

</div>

> [@ts678](#):
>
> No, there was only a short rewrite. I wanted to get original message.
> 
> Many times users won’t even post a short rewrite, just the short help.

There is the tooltip, which shows this:

 ![Screenshot 2025-10-26 at 19.05.05](https://forum.duplicati.com/uploads/default/original/2X/e/ec9b6608bfa6cdd387b5dd1add1cef601864083c.png)

Is it something else you are considering?

> [@ts678](#):
>
> For the 204 issue, I had this. Not sure if it’s the same. I have more. Maybe bad network day?

Could be. The error appears to happen when the code wants to stop a failed upload. The way to do this is to post a `DELETE` command at the upload session. It seems this situation always (or at least often) returns an empty body and the 204 status code.

However, since the cleanup fails in this way, we see the error message from the cleanup, not the error message that caused the upload to fail. Hopefully we will get the real error message with the next canary build.

---

<div class="post-metadata">

**Author:** ![ts678](https://forum.duplicati.com/letter_avatar_proxy/v4/letter/t/8491ac/32.png) [@ts678](https://forum.duplicati.com/u/ts678)\
**Post date:** [October 26, 2025, 7:08pm UTC](https://forum.duplicati.com/t/release-2-2-0-0-stable-2025-10-23/21453/15 "2025-10-26T19:08:47Z")

</div>

> [@kenkendk](#):
>
> There is the tooltip, which shows this:

It’s not really relevant. There is no tooltip posted in this topic from the support post.  
In order to read long help in old UI Duplicati, I have to figure out option name to get.

New UI search makes it a bit easier sometimes. Algorithm seems a little incomplete.  
Example `--upload-unchanged-backups` has short help and long help in new UI of:

 ![image](https://forum.duplicati.com/uploads/default/original/2X/a/a08b3e44c4d89694a2a5a2a02d1f18d3b8d99bb5.png)

Clear (because use blocks search), search for `empty` from short, or `backupset` from long.  
Neither one finds it. I don’t know the plan, but in this case it can’t turn short help into option.  
I can find it using `unchanged`, but that works best if I already know the actual option name.

The [docs search engine](https://docs.duplicati.com/) does quite well. All three searches work, but its page might be old.  
Sometimes CommandLine `help advanced` can also give me large output for locating stuff.

> [@kenkendk](#):
>
> Is it something else you are considering?

Considering what? I don’t intend to do a PR. This isn’t earth-shattering, just a little lacking.

---

<div class="post-metadata">

**Author:** ![DCinME](https://forum.duplicati.com/letter_avatar_proxy/v4/letter/d/d6d6ee/32.png) [@DCinME](https://forum.duplicati.com/u/DCinME)\
**Post date:** [October 27, 2025, 12:25am UTC](https://forum.duplicati.com/t/release-2-2-0-0-stable-2025-10-23/21453/16 "2025-10-27T00:25:48Z")

</div>

> [@kenkendk](#):
>
> Do you have a stack trace so I can confirm that this is what happens?

Will this do?

```plaintext
2025-10-23 13:15:24 -04 - [Warning-Duplicati.Library.Main.Backend.Handler-BackendManagerHandlerFailure]: Error in handler: Failed to parse response
Method: DELETE, RequestUri: 'https://xxxxxxxxxxxxx-my.sharepoint.com/personal/xxxxxxx_xxxxxxxxxxxxxxx_com/_api/v2.0/drive/items/01O3D4LCZ24WXHEWPNOFEJPXKUQSCC2OQ3/uploadSession?guid='2745ad63-eba2-47e2-92ec-22df83434421'&overwrite=True&rename=False&dc=0&tempauth=REDACTED', Version: 1.1, Content: <null>, Headers:
{
  User-Agent: Duplicati/2.2.0.0
  traceparent: 00-95ccb87524fe7109505eda16388a775f-ea47ac4ff99ee722-00
}
StatusCode: 204, ReasonPhrase: 'No Content', Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent, Headers:
{
  Cache-Control: no-cache, no-store
  Pragma: no-cache
  P3P: CP=\"ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI\"
  X-NetworkStatistics: 0,4194720,0,2,587463,525568,525568,6797
  X-SharePointHealthScore: 1
  X-SP-SERVERSTATE: ReadOnly=0
  ODATA-VERSION: 4.0
  SPClientServiceRequestDuration: 208
  X-AspNet-Version: 4.0.30319
  IsOCDI: 0
  X-DataBoundary: NONE
  X-1DSCollectorUrl: https://mobile.events.data.microsoft.com/OneCollector/1.0/
  X-AriaCollectorURL: https://browser.pipe.aria.microsoft.com/Collector/3.0/
  SPRequestGuid: e443d2a1-0092-a000-8a40-80ea31826dd3
  request-id: e443d2a1-0092-a000-8a40-80ea31826dd3
  MS-CV: odJD5JIAAKCKQIDqMYJt0w.0
  SPLogId: e443d2a1-0092-a000-8a40-80ea31826dd3
  SPRequestDuration: 234
  Strict-Transport-Security: max-age=31536000
  X-Frame-Options: SAMEORIGIN
  Content-Security-Policy: frame-ancestors 'self' teams.microsoft.com *.teams.microsoft.com *.skype.com *.teams.microsoft.us local.teams.office.com teams.cloud.microsoft *.office365.com goals.cloud.microsoft *.powerapps.com *.powerbi.com *.yammer.com engage.cloud.microsoft word.cloud.microsoft excel.cloud.microsoft powerpoint.cloud.microsoft *.officeapps.live.com *.office.com *.microsoft365.com m365.cloud.microsoft *.cloud.microsoft *.stream.azure-test.net *.dynamics.com *.microsoft.com onedrive.live.com *.onedrive.live.com securebroker.sharepointonline.com;
  X-Powered-By: ASP.NET
  MicrosoftSharePointTeamServices: 16.0.0.26608
  X-Content-Type-Options: nosniff
  X-MS-InvokeApp: 1; RequireReadOnly
  X-Cache: CONFIG_NOCACHE
  X-MSEdge-Ref: Ref A: 230CD7ED1DD742ECAD071A6D7A545AD5 Ref B: EWR311000108051 Ref C: 2025-10-23T17:15:24Z
  Date: Thu, 23 Oct 2025 17:15:23 GMT
  Expires: -1
}
<error reading body>: The stream was already consumed. It cannot be read again.
Duplicati.Library.Backend.MicrosoftGraph.MicrosoftGraphException: Failed to parse response
Method: DELETE, RequestUri: 'https://xxxxxxxxxxxxx-my.sharepoint.com/personal/xxxxxxx_xxxxxxxxxxxxxxx_com/_api/v2.0/drive/items/01O3D4LCZ24WXHEWPNOFEJPXKUQSCC2OQ3/uploadSession?guid='2745ad63-eba2-47e2-92ec-22df83434421'&overwrite=True&rename=False&dc=0&tempauth=REDACTED', Version: 1.1, Content: <null>, Headers:
{
  User-Agent: Duplicati/2.2.0.0
  traceparent: 00-95ccb87524fe7109505eda16388a775f-ea47ac4ff99ee722-00
}
StatusCode: 204, ReasonPhrase: 'No Content', Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent, Headers:
{
  Cache-Control: no-cache, no-store
  Pragma: no-cache
  P3P: CP=\"ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI\"
  X-NetworkStatistics: 0,4194720,0,2,587463,525568,525568,6797
  X-SharePointHealthScore: 1
  X-SP-SERVERSTATE: ReadOnly=0
  ODATA-VERSION: 4.0
  SPClientServiceRequestDuration: 208
  X-AspNet-Version: 4.0.30319
  IsOCDI: 0
  X-DataBoundary: NONE
  X-1DSCollectorUrl: https://mobile.events.data.microsoft.com/OneCollector/1.0/
  X-AriaCollectorURL: https://browser.pipe.aria.microsoft.com/Collector/3.0/
  SPRequestGuid: e443d2a1-0092-a000-8a40-80ea31826dd3
  request-id: e443d2a1-0092-a000-8a40-80ea31826dd3
  MS-CV: odJD5JIAAKCKQIDqMYJt0w.0
  SPLogId: e443d2a1-0092-a000-8a40-80ea31826dd3
  SPRequestDuration: 234
  Strict-Transport-Security: max-age=31536000
  X-Frame-Options: SAMEORIGIN
  Content-Security-Policy: frame-ancestors 'self' teams.microsoft.com *.teams.microsoft.com *.skype.com *.teams.microsoft.us local.teams.office.com teams.cloud.microsoft *.office365.com goals.cloud.microsoft *.powerapps.com *.powerbi.com *.yammer.com engage.cloud.microsoft word.cloud.microsoft excel.cloud.microsoft powerpoint.cloud.microsoft *.officeapps.live.com *.office.com *.microsoft365.com m365.cloud.microsoft *.cloud.microsoft *.stream.azure-test.net *.dynamics.com *.microsoft.com onedrive.live.com *.onedrive.live.com securebroker.sharepointonline.com;
  X-Powered-By: ASP.NET
  MicrosoftSharePointTeamServices: 16.0.0.26608
  X-Content-Type-Options: nosniff
  X-MS-InvokeApp: 1; RequireReadOnly
  X-Cache: CONFIG_NOCACHE
  X-MSEdge-Ref: Ref A: 230CD7ED1DD742ECAD071A6D7A545AD5 Ref B: EWR311000108051 Ref C: 2025-10-23T17:15:24Z
  Date: Thu, 23 Oct 2025 17:15:23 GMT
  Expires: -1
}
<error reading body>: The stream was already consumed. It cannot be read again.
   at Duplicati.Library.Main.Backend.BackendManager.Handler.ExecuteWithRetry(PendingOperationBase op, CancellationToken cancellationToken)
   at Duplicati.Library.Main.Backend.BackendManager.Handler.ReclaimCompletedTasks(List`1 tasks)
   at Duplicati.Library.Main.Backend.BackendManager.Handler.EnsureAtMostNActiveTasks(Int32 n, List`1 tasks)
   at Duplicati.Library.Main.Backend.BackendManager.Handler.EnsureAtMostNActiveTasks(Int32 uploads, Int32 downloads)
   at Duplicati.Library.Main.Backend.BackendManager.Handler.Run(IReadChannel`1 requestChannel)","2025-10-23 13:15:24 -04 - [Warning-Duplicati.Library.Main.Backend.Handler-BackendManagerDisposeWhileActive]: Terminating 3 active uploads","2025-10-23 13:15:24 -04 - [Warning-Duplicati.Library.Main.Backend.Handler-BackendManagerDisposeError]: Error in active upload: Cancelled","2025-10-23 13:15:24 -04 - [Warning-Duplicati.Library.Main.Backend.Handler-BackendManagerDisposeError]: Terminating, but 2 active upload(s) are still active","2025-10-23 13:15:24 -04 - [Warning-Duplicati.Library.Main.Backend.Handler-BackendManagerDisposeError]: Error in active upload: Cancelled","2025-10-23 13:15:24 -04 - [Warning-Duplicati.Library.Main.Backend.Handler-BackendManagerDisposeError]: Terminating, but 1 active upload(s) are still active","2025-10-23 13:15:24 -04 - [Warning-Duplicati.Library.Main.Backend.Handler-BackendManagerDisposeError]: Error in active upload: Cancelled","2025-10-23 13:15:26 -04 - [Error-Duplicati.Library.Main.Operation.BackupHandler-FatalError]: Fatal error
Duplicati.Library.Backend.MicrosoftGraph.MicrosoftGraphException: Failed to parse response
Method: DELETE, RequestUri: 'https://xxxxxxxxxxxxx-my.sharepoint.com/personal/xxxxxxx_xxxxxxxxxxxxxxx_com/_api/v2.0/drive/items/01O3D4LCZ24WXHEWPNOFEJPXKUQSCC2OQ3/uploadSession?guid='2745ad63-eba2-47e2-92ec-22df83434421'&overwrite=True&rename=False&dc=0&tempauth=REDACTED', Version: 1.1, Content: <null>, Headers:
{
  User-Agent: Duplicati/2.2.0.0
  traceparent: 00-95ccb87524fe7109505eda16388a775f-ea47ac4ff99ee722-00
}
StatusCode: 204, ReasonPhrase: 'No Content', Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent, Headers:
{
  Cache-Control: no-cache, no-store
  Pragma: no-cache
  P3P: CP=\"ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI\"
  X-NetworkStatistics: 0,4194720,0,2,587463,525568,525568,6797
  X-SharePointHealthScore: 1
  X-SP-SERVERSTATE: ReadOnly=0
  ODATA-VERSION: 4.0
  SPClientServiceRequestDuration: 208
  X-AspNet-Version: 4.0.30319
  IsOCDI: 0
  X-DataBoundary: NONE
  X-1DSCollectorUrl: https://mobile.events.data.microsoft.com/OneCollector/1.0/
  X-AriaCollectorURL: https://browser.pipe.aria.microsoft.com/Collector/3.0/
  SPRequestGuid: e443d2a1-0092-a000-8a40-80ea31826dd3
  request-id: e443d2a1-0092-a000-8a40-80ea31826dd3
  MS-CV: odJD5JIAAKCKQIDqMYJt0w.0
  SPLogId: e443d2a1-0092-a000-8a40-80ea31826dd3
  SPRequestDuration: 234
  Strict-Transport-Security: max-age=31536000
  X-Frame-Options: SAMEORIGIN
  Content-Security-Policy: frame-ancestors 'self' teams.microsoft.com *.teams.microsoft.com *.skype.com *.teams.microsoft.us local.teams.office.com teams.cloud.microsoft *.office365.com goals.cloud.microsoft *.powerapps.com *.powerbi.com *.yammer.com engage.cloud.microsoft word.cloud.microsoft excel.cloud.microsoft powerpoint.cloud.microsoft *.officeapps.live.com *.office.com *.microsoft365.com m365.cloud.microsoft *.cloud.microsoft *.stream.azure-test.net *.dynamics.com *.microsoft.com onedrive.live.com *.onedrive.live.com securebroker.sharepointonline.com;
  X-Powered-By: ASP.NET
  MicrosoftSharePointTeamServices: 16.0.0.26608
  X-Content-Type-Options: nosniff
  X-MS-InvokeApp: 1; RequireReadOnly
  X-Cache: CONFIG_NOCACHE
  X-MSEdge-Ref: Ref A: 230CD7ED1DD742ECAD071A6D7A545AD5 Ref B: EWR311000108051 Ref C: 2025-10-23T17:15:24Z
  Date: Thu, 23 Oct 2025 17:15:23 GMT
  Expires: -1
}
<error reading body>: The stream was already consumed. It cannot be read again.
   at Duplicati.Library.Main.Backend.BackendManager.Handler.ExecuteWithRetry(PendingOperationBase op, CancellationToken cancellationToken)
   at Duplicati.Library.Main.Backend.BackendManager.Handler.ReclaimCompletedTasks(List`1 tasks)
   at Duplicati.Library.Main.Backend.BackendManager.Handler.EnsureAtMostNActiveTasks(Int32 n, List`1 tasks)
   at Duplicati.Library.Main.Backend.BackendManager.Handler.EnsureAtMostNActiveTasks(Int32 uploads, Int32 downloads)
   at Duplicati.Library.Main.Backend.BackendManager.Handler.Run(IReadChannel`1 requestChannel)
   at Duplicati.Library.Main.Backend.BackendManager.PutAsync(VolumeWriterBase volume, IndexVolumeWriter indexVolume, Action indexVolumeFinished, Boolean waitForComplete, Func`1 onDbUpdate, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.DataBlockProcessor.<>c __DisplayClass0_0.<<Run>b__ 0>d.MoveNext()
--- End of stack trace from previous location ---
   at Duplicati.Library.Main.Operation.Backup.DataBlockProcessor.<>c __DisplayClass0_0.<<Run>b__ 0>d.MoveNext()
--- End of stack trace from previous location ---
   at CoCoL.AutomationExtensions.RunTask[T](T channels, Func`2 method, Boolean catchRetiredExceptions)
   at Duplicati.Library.Main.Operation.BackupHandler.RunMainOperation(Channels channels, ISourceProvider source, UsnJournalService journalService, BackupDatabase database, IBackendManager backendManager, BackupStatsCollector stats, Options options, IFilter filter, BackupResults result, ITaskReader taskreader, Int64 filesetid, Int64 lastfilesetid)
   at Duplicati.Library.Main.Operation.BackupHandler.RunAsync(String[] sources, IBackendManager backendManager, IFilter filter)","2025-10-23 13:15:26 -04 - [Warning-Duplicati.Library.Main.Backend.BackendManager-BackendManagerShutdown]: Backend manager queue runner crashed
System.AggregateException: One or more errors occurred. (Failed to parse response
Method: DELETE, RequestUri: 'https://xxxxxxxxxxxxx-my.sharepoint.com/personal/xxxxxxx_xxxxxxxxxxxxxxx_com/_api/v2.0/drive/items/01O3D4LCZ24WXHEWPNOFEJPXKUQSCC2OQ3/uploadSession?guid='2745ad63-eba2-47e2-92ec-22df83434421'&overwrite=True&rename=False&dc=0&tempauth=REDACTED', Version: 1.1, Content: <null>, Headers:
{
  User-Agent: Duplicati/2.2.0.0
  traceparent: 00-95ccb87524fe7109505eda16388a775f-ea47ac4ff99ee722-00
}
StatusCode: 204, ReasonPhrase: 'No Content', Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent, Headers:
{
  Cache-Control: no-cache, no-store
  Pragma: no-cache
  P3P: CP=\"ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI\"
  X-NetworkStatistics: 0,4194720,0,2,587463,525568,525568,6797
  X-SharePointHealthScore: 1
  X-SP-SERVERSTATE: ReadOnly=0
  ODATA-VERSION: 4.0
  SPClientServiceRequestDuration: 208
  X-AspNet-Version: 4.0.30319
  IsOCDI: 0
  X-DataBoundary: NONE
  X-1DSCollectorUrl: https://mobile.events.data.microsoft.com/OneCollector/1.0/
  X-AriaCollectorURL: https://browser.pipe.aria.microsoft.com/Collector/3.0/
  SPRequestGuid: e443d2a1-0092-a000-8a40-80ea31826dd3
  request-id: e443d2a1-0092-a000-8a40-80ea31826dd3
  MS-CV: odJD5JIAAKCKQIDqMYJt0w.0
  SPLogId: e443d2a1-0092-a000-8a40-80ea31826dd3
  SPRequestDuration: 234
  Strict-Transport-Security: max-age=31536000
  X-Frame-Options: SAMEORIGIN
  Content-Security-Policy: frame-ancestors 'self' teams.microsoft.com *.teams.microsoft.com *.skype.com *.teams.microsoft.us local.teams.office.com teams.cloud.microsoft *.office365.com goals.cloud.microsoft *.powerapps.com *.powerbi.com *.yammer.com engage.cloud.microsoft word.cloud.microsoft excel.cloud.microsoft powerpoint.cloud.microsoft *.officeapps.live.com *.office.com *.microsoft365.com m365.cloud.microsoft *.cloud.microsoft *.stream.azure-test.net *.dynamics.com *.microsoft.com onedrive.live.com *.onedrive.live.com securebroker.sharepointonline.com;
  X-Powered-By: ASP.NET
  MicrosoftSharePointTeamServices: 16.0.0.26608
  X-Content-Type-Options: nosniff
  X-MS-InvokeApp: 1; RequireReadOnly
  X-Cache: CONFIG_NOCACHE
  X-MSEdge-Ref: Ref A: 230CD7ED1DD742ECAD071A6D7A545AD5 Ref B: EWR311000108051 Ref C: 2025-10-23T17:15:24Z
  Date: Thu, 23 Oct 2025 17:15:23 GMT
  Expires: -1
}
<error reading body>: The stream was already consumed. It cannot be read again.)
 ---> Duplicati.Library.Backend.MicrosoftGraph.MicrosoftGraphException: Failed to parse response
Method: DELETE, RequestUri: 'https://xxxxxxxxxxxxx-my.sharepoint.com/personal/xxxxxxx_xxxxxxxxxxxxxxx_com/_api/v2.0/drive/items/01O3D4LCZ24WXHEWPNOFEJPXKUQSCC2OQ3/uploadSession?guid='2745ad63-eba2-47e2-92ec-22df83434421'&overwrite=True&rename=False&dc=0&tempauth=REDACTED', Version: 1.1, Content: <null>, Headers:
{
  User-Agent: Duplicati/2.2.0.0
  traceparent: 00-95ccb87524fe7109505eda16388a775f-ea47ac4ff99ee722-00
}
StatusCode: 204, ReasonPhrase: 'No Content', Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent, Headers:
{
  Cache-Control: no-cache, no-store
  Pragma: no-cache
  P3P: CP=\"ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI\"
  X-NetworkStatistics: 0,4194720,0,2,587463,525568,525568,6797
  X-SharePointHealthScore: 1
  X-SP-SERVERSTATE: ReadOnly=0
  ODATA-VERSION: 4.0
  SPClientServiceRequestDuration: 208
  X-AspNet-Version: 4.0.30319
  IsOCDI: 0
  X-DataBoundary: NONE
  X-1DSCollectorUrl: https://mobile.events.data.microsoft.com/OneCollector/1.0/
  X-AriaCollectorURL: https://browser.pipe.aria.microsoft.com/Collector/3.0/
  SPRequestGuid: e443d2a1-0092-a000-8a40-80ea31826dd3
  request-id: e443d2a1-0092-a000-8a40-80ea31826dd3
  MS-CV: odJD5JIAAKCKQIDqMYJt0w.0
  SPLogId: e443d2a1-0092-a000-8a40-80ea31826dd3
  SPRequestDuration: 234
  Strict-Transport-Security: max-age=31536000
  X-Frame-Options: SAMEORIGIN
  Content-Security-Policy: frame-ancestors 'self' teams.microsoft.com *.teams.microsoft.com *.skype.com *.teams.microsoft.us local.teams.office.com teams.cloud.microsoft *.office365.com goals.cloud.microsoft *.powerapps.com *.powerbi.com *.yammer.com engage.cloud.microsoft word.cloud.microsoft excel.cloud.microsoft powerpoint.cloud.microsoft *.officeapps.live.com *.office.com *.microsoft365.com m365.cloud.microsoft *.cloud.microsoft *.stream.azure-test.net *.dynamics.com *.microsoft.com onedrive.live.com *.onedrive.live.com securebroker.sharepointonline.com;
  X-Powered-By: ASP.NET
  MicrosoftSharePointTeamServices: 16.0.0.26608
  X-Content-Type-Options: nosniff
  X-MS-InvokeApp: 1; RequireReadOnly
  X-Cache: CONFIG_NOCACHE
  X-MSEdge-Ref: Ref A: 230CD7ED1DD742ECAD071A6D7A545AD5 Ref B: EWR311000108051 Ref C: 2025-10-23T17:15:24Z
  Date: Thu, 23 Oct 2025 17:15:23 GMT
  Expires: -1
}
<error reading body>: The stream was already consumed. It cannot be read again.
   at Duplicati.Library.Main.Backend.BackendManager.Handler.ExecuteWithRetry(PendingOperationBase op, CancellationToken cancellationToken)
   at Duplicati.Library.Main.Backend.BackendManager.Handler.ReclaimCompletedTasks(List`1 tasks)
   at Duplicati.Library.Main.Backend.BackendManager.Handler.EnsureAtMostNActiveTasks(Int32 n, List`1 tasks)
   at Duplicati.Library.Main.Backend.BackendManager.Handler.EnsureAtMostNActiveTasks(Int32 uploads, Int32 downloads)
   at Duplicati.Library.Main.Backend.BackendManager.Handler.Run(IReadChannel`1 requestChannel)
   at Duplicati.Library.Main.Backend.BackendManager.PutAsync(VolumeWriterBase volume, IndexVolumeWriter indexVolume, Action indexVolumeFinished, Boolean waitForComplete, Func`1 onDbUpdate, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.DataBlockProcessor.<>c __DisplayClass0_0.<<Run>b__ 0>d.MoveNext()
--- End of stack trace from previous location ---
   at Duplicati.Library.Main.Operation.Backup.DataBlockProcessor.<>c __DisplayClass0_0.<<Run>b__ 0>d.MoveNext()
--- End of stack trace from previous location ---
   at CoCoL.AutomationExtensions.RunTask[T](T channels, Func`2 method, Boolean catchRetiredExceptions)
   at Duplicati.Library.Main.Operation.BackupHandler.RunMainOperation(Channels channels, ISourceProvider source, UsnJournalService journalService, BackupDatabase database, IBackendManager backendManager, BackupStatsCollector stats, Options options, IFilter filter, BackupResults result, ITaskReader taskreader, Int64 filesetid, Int64 lastfilesetid)
   at Duplicati.Library.Main.Operation.BackupHandler.RunAsync(String[] sources, IBackendManager backendManager, IFilter filter)
   at Duplicati.Library.Main.Controller.<>c __DisplayClass22_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)
   --- End of inner exception stack trace ---","2025-10-23 13:15:26 -04 - [Error-Duplicati.Library.Main.Controller-FailedOperation]: The operation Backup has failed
Duplicati.Library.Backend.MicrosoftGraph.MicrosoftGraphException: Failed to parse response
Method: DELETE, RequestUri: 'https://xxxxxxxxxxxxx-my.sharepoint.com/personal/xxxxxxx_xxxxxxxxxxxxxxx_com/_api/v2.0/drive/items/01O3D4LCZ24WXHEWPNOFEJPXKUQSCC2OQ3/uploadSession?guid='2745ad63-eba2-47e2-92ec-22df83434421'&overwrite=True&rename=False&dc=0&tempauth=REDACTED', Version: 1.1, Content: <null>, Headers:
{
  User-Agent: Duplicati/2.2.0.0
  traceparent: 00-95ccb87524fe7109505eda16388a775f-ea47ac4ff99ee722-00
}
StatusCode: 204, ReasonPhrase: 'No Content', Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent, Headers:
{
  Cache-Control: no-cache, no-store
  Pragma: no-cache
  P3P: CP=\"ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI\"
  X-NetworkStatistics: 0,4194720,0,2,587463,525568,525568,6797
  X-SharePointHealthScore: 1
  X-SP-SERVERSTATE: ReadOnly=0
  ODATA-VERSION: 4.0
  SPClientServiceRequestDuration: 208
  X-AspNet-Version: 4.0.30319
  IsOCDI: 0
  X-DataBoundary: NONE
  X-1DSCollectorUrl: https://mobile.events.data.microsoft.com/OneCollector/1.0/
  X-AriaCollectorURL: https://browser.pipe.aria.microsoft.com/Collector/3.0/
  SPRequestGuid: e443d2a1-0092-a000-8a40-80ea31826dd3
  request-id: e443d2a1-0092-a000-8a40-80ea31826dd3
  MS-CV: odJD5JIAAKCKQIDqMYJt0w.0
  SPLogId: e443d2a1-0092-a000-8a40-80ea31826dd3
  SPRequestDuration: 234
  Strict-Transport-Security: max-age=31536000
  X-Frame-Options: SAMEORIGIN
  Content-Security-Policy: frame-ancestors 'self' teams.microsoft.com *.teams.microsoft.com *.skype.com *.teams.microsoft.us local.teams.office.com teams.cloud.microsoft *.office365.com goals.cloud.microsoft *.powerapps.com *.powerbi.com *.yammer.com engage.cloud.microsoft word.cloud.microsoft excel.cloud.microsoft powerpoint.cloud.microsoft *.officeapps.live.com *.office.com *.microsoft365.com m365.cloud.microsoft *.cloud.microsoft *.stream.azure-test.net *.dynamics.com *.microsoft.com onedrive.live.com *.onedrive.live.com securebroker.sharepointonline.com;
  X-Powered-By: ASP.NET
  MicrosoftSharePointTeamServices: 16.0.0.26608
  X-Content-Type-Options: nosniff
  X-MS-InvokeApp: 1; RequireReadOnly
  X-Cache: CONFIG_NOCACHE
  X-MSEdge-Ref: Ref A: 230CD7ED1DD742ECAD071A6D7A545AD5 Ref B: EWR311000108051 Ref C: 2025-10-23T17:15:24Z
  Date: Thu, 23 Oct 2025 17:15:23 GMT
  Expires: -1
}
<error reading body>: The stream was already consumed. It cannot be read again.
   at Duplicati.Library.Main.Backend.BackendManager.Handler.ExecuteWithRetry(PendingOperationBase op, CancellationToken cancellationToken)
   at Duplicati.Library.Main.Backend.BackendManager.Handler.ReclaimCompletedTasks(List`1 tasks)
   at Duplicati.Library.Main.Backend.BackendManager.Handler.EnsureAtMostNActiveTasks(Int32 n, List`1 tasks)
   at Duplicati.Library.Main.Backend.BackendManager.Handler.EnsureAtMostNActiveTasks(Int32 uploads, Int32 downloads)
   at Duplicati.Library.Main.Backend.BackendManager.Handler.Run(IReadChannel`1 requestChannel)
   at Duplicati.Library.Main.Backend.BackendManager.PutAsync(VolumeWriterBase volume, IndexVolumeWriter indexVolume, Action indexVolumeFinished, Boolean waitForComplete, Func`1 onDbUpdate, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.DataBlockProcessor.<>c __DisplayClass0_0.<<Run>b__ 0>d.MoveNext()
--- End of stack trace from previous location ---
   at Duplicati.Library.Main.Operation.Backup.DataBlockProcessor.<>c __DisplayClass0_0.<<Run>b__ 0>d.MoveNext()
--- End of stack trace from previous location ---
   at CoCoL.AutomationExtensions.RunTask[T](T channels, Func`2 method, Boolean catchRetiredExceptions)
   at Duplicati.Library.Main.Operation.BackupHandler.RunMainOperation(Channels channels, ISourceProvider source, UsnJournalService journalService, BackupDatabase database, IBackendManager backendManager, BackupStatsCollector stats, Options options, IFilter filter, BackupResults result, ITaskReader taskreader, Int64 filesetid, Int64 lastfilesetid)
   at Duplicati.Library.Main.Operation.BackupHandler.RunAsync(String[] sources, IBackendManager backendManager, IFilter filter)
   at Duplicati.Library.Main.Controller.<>c __DisplayClass22_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)"],"Exception":"Duplicati.Library.Backend.MicrosoftGraph.MicrosoftGraphException: Failed to parse response
Method: DELETE, RequestUri: 'https://xxxxxxxxxxxxx-my.sharepoint.com/personal/xxxxxxx_xxxxxxxxxxxxxxx_com/_api/v2.0/drive/items/01O3D4LCZ24WXHEWPNOFEJPXKUQSCC2OQ3/uploadSession?guid='2745ad63-eba2-47e2-92ec-22df83434421'&overwrite=True&rename=False&dc=0&tempauth=REDACTED', Version: 1.1, Content: <null>, Headers:
{
  User-Agent: Duplicati/2.2.0.0
  traceparent: 00-95ccb87524fe7109505eda16388a775f-ea47ac4ff99ee722-00
}
StatusCode: 204, ReasonPhrase: 'No Content', Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent, Headers:
{
  Cache-Control: no-cache, no-store
  Pragma: no-cache
  P3P: CP=\"ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI\"
  X-NetworkStatistics: 0,4194720,0,2,587463,525568,525568,6797
  X-SharePointHealthScore: 1
  X-SP-SERVERSTATE: ReadOnly=0
  ODATA-VERSION: 4.0
  SPClientServiceRequestDuration: 208
  X-AspNet-Version: 4.0.30319
  IsOCDI: 0
  X-DataBoundary: NONE
  X-1DSCollectorUrl: https://mobile.events.data.microsoft.com/OneCollector/1.0/
  X-AriaCollectorURL: https://browser.pipe.aria.microsoft.com/Collector/3.0/
  SPRequestGuid: e443d2a1-0092-a000-8a40-80ea31826dd3
  request-id: e443d2a1-0092-a000-8a40-80ea31826dd3
  MS-CV: odJD5JIAAKCKQIDqMYJt0w.0
  SPLogId: e443d2a1-0092-a000-8a40-80ea31826dd3
  SPRequestDuration: 234
  Strict-Transport-Security: max-age=31536000
  X-Frame-Options: SAMEORIGIN
  Content-Security-Policy: frame-ancestors 'self' teams.microsoft.com *.teams.microsoft.com *.skype.com *.teams.microsoft.us local.teams.office.com teams.cloud.microsoft *.office365.com goals.cloud.microsoft *.powerapps.com *.powerbi.com *.yammer.com engage.cloud.microsoft word.cloud.microsoft excel.cloud.microsoft powerpoint.cloud.microsoft *.officeapps.live.com *.office.com *.microsoft365.com m365.cloud.microsoft *.cloud.microsoft *.stream.azure-test.net *.dynamics.com *.microsoft.com onedrive.live.com *.onedrive.live.com securebroker.sharepointonline.com;
  X-Powered-By: ASP.NET
  MicrosoftSharePointTeamServices: 16.0.0.26608
  X-Content-Type-Options: nosniff
  X-MS-InvokeApp: 1; RequireReadOnly
  X-Cache: CONFIG_NOCACHE
  X-MSEdge-Ref: Ref A: 230CD7ED1DD742ECAD071A6D7A545AD5 Ref B: EWR311000108051 Ref C: 2025-10-23T17:15:24Z
  Date: Thu, 23 Oct 2025 17:15:23 GMT
  Expires: -1
}
<error reading body>: The stream was already consumed. It cannot be read again.
   at Duplicati.Library.Main.Backend.BackendManager.Handler.ExecuteWithRetry(PendingOperationBase op, CancellationToken cancellationToken)
   at Duplicati.Library.Main.Backend.BackendManager.Handler.ReclaimCompletedTasks(List`1 tasks)
   at Duplicati.Library.Main.Backend.BackendManager.Handler.EnsureAtMostNActiveTasks(Int32 n, List`1 tasks)
   at Duplicati.Library.Main.Backend.BackendManager.Handler.EnsureAtMostNActiveTasks(Int32 uploads, Int32 downloads)
   at Duplicati.Library.Main.Backend.BackendManager.Handler.Run(IReadChannel`1 requestChannel)
   at Duplicati.Library.Main.Backend.BackendManager.PutAsync(VolumeWriterBase volume, IndexVolumeWriter indexVolume, Action indexVolumeFinished, Boolean waitForComplete, Func`1 onDbUpdate, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.DataBlockProcessor.<>c __DisplayClass0_0.<<Run>b__ 0>d.MoveNext()
--- End of stack trace from previous location ---
   at Duplicati.Library.Main.Operation.Backup.DataBlockProcessor.<>c __DisplayClass0_0.<<Run>b__ 0>d.MoveNext()
--- End of stack trace from previous location ---
   at CoCoL.AutomationExtensions.RunTask[T](T channels, Func`2 method, Boolean catchRetiredExceptions)
   at Duplicati.Library.Main.Operation.BackupHandler.RunMainOperation(Channels channels, ISourceProvider source, UsnJournalService journalService, BackupDatabase database, IBackendManager backendManager, BackupStatsCollector stats, Options options, IFilter filter, BackupResults result, ITaskReader taskreader, Int64 filesetid, Int64 lastfilesetid)
   at Duplicati.Library.Main.Operation.BackupHandler.RunAsync(String[] sources, IBackendManager backendManager, IFilter filter)
   at Duplicati.Library.Main.Controller.<>c __DisplayClass22_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)"

```

---

<div class="post-metadata">

**Author:** ![kmand](https://forum.duplicati.com/letter_avatar_proxy/v4/letter/k/e68b1a/32.png) [@kmand](https://forum.duplicati.com/u/kmand)\
**Post date:** [October 27, 2025, 7:19pm UTC](https://forum.duplicati.com/t/release-2-2-0-0-stable-2025-10-23/21453/17 "2025-10-27T19:19:45Z")

</div>

I did the 2.1.0.5 to 2.2.0.0 upgrade on Ubuntu 24.04. I do 4 backups 2 to google drive, 2 to one drive. All worked without error on 2.1.0.5. After 2.2.0.0 the google drives worked. One of the one drive worked after a repair. The other one drive fails even after a repair. It seems like it get almost through, but consistently fails with the following. Any help?

Failed to parse response Method: DELETE, RequestUri: ‘[https://emory-my.sharepoint.com/personal/km\_emory\_edu/\_api/v2.0/drive/items/014UQ2WV3ASIRANIG4N5AIAQWYPS6BZPHA/uploadSession?guid=‘a3a2f447-8907-4320-bba0-10948d555ed2’&overwrite=True&rename=False&dc=0&tempauth=v1.eyJzaXRlaWQiOiJkZWY4YmUzNC1hYzE4LTQ1ZTYtOTViOC01ZDkxZDExMTcwNjciLCJhcHBfZGlzcGxheW5hbWUiOiJEdXBsaWNhdGkiLCJhcHBpZCI6IjE1MzQ5ODM3LTFjOTktNDZjMy05YzIxLWY1OGMzN2E3NDk4NSIsImF1ZCI6IjAwMDAwMDAzLTAwMDAtMGZmMS1jZTAwLTAwMDAwMDAwMDAwMC9lbW9yeS1teS5zaGFyZXBvaW50LmNvbUBlMDA0ZmI5Yy1iMGE0LTQyNGYtYmNkMC0zMjI2MDZkNWRmMzgiLCJleHAiOiIxNzYxNjc1OTIxIn0.CkAKDGVudHJhX2NsYWltcxIwQ1BmZy9zY0dFQUFhRmprNU5IY3pZVUYxTWpCbFdtUnBUMlpvVVdJMFFVRXFBQT09CjIKCmFjdG9yYXBwaWQSJDAwMDAwMDAzLTAwMDAtMDAwMC1jMDAwLTAwMDAwMDAwMDAwMAoKCgRzbmlkEgI2NhILCLjn9IyH5Mo-EAUaDTQwLjEyNi4yMy4xNjMqLG9NWGtCVmZEV3RTSzl1bDE3d0dlWlJ3NVY0d1VDL0N5QWROOWFMMUVpck09MMkBOAFCEKHTkXw5gACAgJt8k7JRXIlKEGhhc2hlZHByb29mdG9rZW5SCFsia21zaSJdaiQwZmI5YWU5OS1iZTVlLTRhZGYtYWFlNy04YjcyNDY1MWYxNjVyKTBoLmZ8bWVtYmVyc2hpcHwxMDAzM2ZmZjgxNzMyOGJjQGxpdmUuY29tegEyggESCZz7BOCksE9CEbzQMiYG1d84kgEHS2VubmV0aJoBCk1hbmRlbGJlcmeiAQxrbUBlbW9yeS5lZHWqARAxMDAzM0ZGRjgxNzMyOEJDsgEcbXlmaWxlcy53cml0ZSBhbGxmaWxlcy53cml0ZcgBAQ.8kdWf76NSrb\_Fj0Nbuj1jzeEIaGeT47Yd\_BKsQ5NdoA](https://emory-my.sharepoint.com/personal/km_emory_edu/_api/v2.0/drive/items/014UQ2WV3ASIRANIG4N5AIAQWYPS6BZPHA/uploadSession?guid='a3a2f447-8907-4320-bba0-10948d555ed2'&overwrite=True&rename=False&dc=0&tempauth=v1.eyJzaXRlaWQiOiJkZWY4YmUzNC1hYzE4LTQ1ZTYtOTViOC01ZDkxZDExMTcwNjciLCJhcHBfZGlzcGxheW5hbWUiOiJEdXBsaWNhdGkiLCJhcHBpZCI6IjE1MzQ5ODM3LTFjOTktNDZjMy05YzIxLWY1OGMzN2E3NDk4NSIsImF1ZCI6IjAwMDAwMDAzLTAwMDAtMGZmMS1jZTAwLTAwMDAwMDAwMDAwMC9lbW9yeS1teS5zaGFyZXBvaW50LmNvbUBlMDA0ZmI5Yy1iMGE0LTQyNGYtYmNkMC0zMjI2MDZkNWRmMzgiLCJleHAiOiIxNzYxNjc1OTIxIn0.CkAKDGVudHJhX2NsYWltcxIwQ1BmZy9zY0dFQUFhRmprNU5IY3pZVUYxTWpCbFdtUnBUMlpvVVdJMFFVRXFBQT09CjIKCmFjdG9yYXBwaWQSJDAwMDAwMDAzLTAwMDAtMDAwMC1jMDAwLTAwMDAwMDAwMDAwMAoKCgRzbmlkEgI2NhILCLjn9IyH5Mo-EAUaDTQwLjEyNi4yMy4xNjMqLG9NWGtCVmZEV3RTSzl1bDE3d0dlWlJ3NVY0d1VDL0N5QWROOWFMMUVpck09MMkBOAFCEKHTkXw5gACAgJt8k7JRXIlKEGhhc2hlZHByb29mdG9rZW5SCFsia21zaSJdaiQwZmI5YWU5OS1iZTVlLTRhZGYtYWFlNy04YjcyNDY1MWYxNjVyKTBoLmZ8bWVtYmVyc2hpcHwxMDAzM2ZmZjgxNzMyOGJjQGxpdmUuY29tegEyggESCZz7BOCksE9CEbzQMiYG1d84kgEHS2VubmV0aJoBCk1hbmRlbGJlcmeiAQxrbUBlbW9yeS5lZHWqARAxMDAzM0ZGRjgxNzMyOEJDsgEcbXlmaWxlcy53cml0ZSBhbGxmaWxlcy53cml0ZcgBAQ.8kdWf76NSrb_Fj0Nbuj1jzeEIaGeT47Yd_BKsQ5NdoA)’, Version: 1.1, Content: , Headers: { User-Agent: Duplicati/2.2.0.0 traceparent: 00-1b50a5db5c03bfafbcffe5ffc21d6d61-c034d7800172ca32-00 } StatusCode: 204, ReasonPhrase: ‘No Content’, Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent, Headers: { Cache-Control: no-cache, no-store Pragma: no-cache P3P: CP=“ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI” X-NetworkStatistics: 0,4194720,17,103,488265,4033332,4033332,14374 X-SharePointHealthScore: 3 X-SP-SERVERSTATE: ReadOnly=0 ODATA-VERSION: 4.0 SPClientServiceRequestDuration: 233 X-AspNet-Version: 4.0.30319 IsOCDI: 0 X-DataBoundary: NONE X-1DSCollectorUrl: [https://mobile.events.data.microsoft.com/OneCollector/1.0/](https://mobile.events.data.microsoft.com/OneCollector/1.0/) X-AriaCollectorURL: [https://browser.pipe.aria.microsoft.com/Collector/3.0/](https://browser.pipe.aria.microsoft.com/Collector/3.0/) SPRequestGuid: 8391d3a1-40ae-8000-a2ff-f1410fdb5dff request-id: 8391d3a1-40ae-8000-a2ff-f1410fdb5dff MS-CV: odORg65AAICi//FBD9td/w.0 SPLogId: 8391d3a1-40ae-8000-a2ff-f1410fdb5dff SPRequestDuration: 263 Strict-Transport-Security: max-age=31536000 X-Frame-Options: SAMEORIGIN Content-Security-Policy: frame-ancestors ‘self’ [teams.microsoft.com](http://teams.microsoft.com) \*.teams.microsoft.com \*.skype.com \*.teams.microsoft.us [local.teams.office.com](http://local.teams.office.com) teams.cloud.microsoft \*.office365.com goals.cloud.microsoft \*.powerapps.com \*.powerbi.com \*.yammer.com engage.cloud.microsoft word.cloud.microsoft excel.cloud.microsoft powerpoint.cloud.microsoft \*.officeapps.live.com \*.office.com \*.microsoft365.com m365.cloud.microsoft \*.cloud.microsoft \*.stream.azure-test.net \*.dynamics.com \*.microsoft.com [onedrive.live.com](http://onedrive.live.com) \*.onedrive.live.com [securebroker.sharepointonline.com](http://securebroker.sharepointonline.com); X-Powered-By: [ASP.NET](http://ASP.NET) MicrosoftSharePointTeamServices: 16.0.0.26615 X-Content-Type-Options: nosniff X-MS-InvokeApp: 1; RequireReadOnly X-Cache: CONFIG\_NOCACHE X-MSEdge-Ref: Ref A: BC96030040F7469D82A83EEFE94B8384 Ref B: ATL331000104023 Ref C: 2025-10-27T18:25:51Z Date: Mon, 27 Oct 2025 18:25:51 GMT Expires: -1 } : The stream was already consumed. It cannot be read again.

---

<div class="post-metadata">

**Author:** ![ts678](https://forum.duplicati.com/letter_avatar_proxy/v4/letter/t/8491ac/32.png) [@ts678](https://forum.duplicati.com/u/ts678)\
**Post date:** [October 27, 2025, 8:06pm UTC](https://forum.duplicati.com/t/release-2-2-0-0-stable-2025-10-23/21453/18 "2025-10-27T20:06:42Z")

</div>

> [@kmand](#):
>
> Any help?

[Duplicati v2.2.0.0 Stable / OneDrive: Persistent “The stream was already consumed” Error (Solved with Specific Workaround) #6565](https://github.com/duplicati/duplicati/issues/6565) tried various workarounds and found one that worked for them.

[Backend MS OneDrive: RemoteOperationPut: Error in handler: Failed to parse response Method: DELETE #6549](https://github.com/duplicati/duplicati/issues/6549) is another open issue with several people in it. None are reporting a workaround.

Please also see yesterday’s update here on plan intended to diagnose to lead to a solution.

> [@kenkendk](#):
>
> I have [a PR ready that handles the 204 issue](https://github.com/duplicati/duplicati/pull/6566).

which said below and is now merged, so maybe a Canary coming? I can’t forecast exact plan.

> This should get us one step closer to figuring out what is triggering the errors.

> [@kenkendk](#):
>
> Hopefully we will get the real error message with the next canary build.

If reported workaround doesn’t help yours, other options include [rclone backend](https://docs.duplicati.com/backup-destinations/standard-based-destinations/rclone-destination), or [downgrade](https://forum.duplicati.com/t/release-2-1-2-0-beta-2025-08-20/21195#p-79185-database-updates-9).

---

<div class="post-metadata">

**Author:** ![ts678](https://forum.duplicati.com/letter_avatar_proxy/v4/letter/t/8491ac/32.png) [@ts678](https://forum.duplicati.com/u/ts678)\
**Post date:** [October 28, 2025, 5:33pm UTC](https://forum.duplicati.com/t/release-2-2-0-0-stable-2025-10-23/21453/19 "2025-10-28T17:33:35Z")

</div>

@kmand after finding that slow uploads (turning router down to 100 KByte/sec) can do this, workaround of an extra-large 10 minute `short-timeout` (“Short operation timeout”) fixed it.

Maybe you, @DCinME @Folgore101 and anyone else seeing the OneDrive issue can test.

Previously I had tried some of the workarounds in the [issue](https://github.com/duplicati/duplicati/issues/6565) I cited just above, but this is less.

Granted that a throttled router is artificial, but I’m also using unusually small remote volumes, basically attempting to simulate the problem without using much space in personal OneDrive.

It’s just a 40 MB total upload, and without workaround it errors even with 1 concurrent upload, possibly making a clean developer test case if there’s a router around that can throttle upload.

Alternative test with default 4 `asynchronous-concurrent-upload-limit` with 10 MB remote volumes fails or works similarly, but is presumably more trouble to track than a 40 MB upload.

Instead of router throttling, `throttle-upload` at 100 KByte/s is also able to cause the failure. Workaround still makes failure go away.

---

<div class="post-metadata">

**Author:** ![Folgore101](https://forum.duplicati.com/user_avatar/forum.duplicati.com/folgore101/32/421_2.png) [@Folgore101](https://forum.duplicati.com/u/Folgore101)\
**Post date:** [October 28, 2025, 6:48pm UTC](https://forum.duplicati.com/t/release-2-2-0-0-stable-2025-10-23/21453/20 "2025-10-28T18:48:33Z")

</div>

@ts678 Thanks for the tip, with 10 minutes it seems to work, it’s been running for about 15 minutes and hasn’t given me any errors yet, before errors would appear after 3/4 minutes.

The backup is about 30GB and will take a long time, if it finishes i’ll update the post.

If you want, later i can also try with `asynchronous-concurrent-upload-limit` set to 1.

[Next page](https://forum.duplicati.com/t/release-2-2-0-0-stable-2025-10-23/21453.md?page=2)
