Release: 2.0.7.102 (canary) 2024-04-03

2.0.7.102-2.0.7.102_canary_2024-04-03

This build is intended to be the last build that uses .Net4 (aka .Net Desktop).
Future builds are expected to use .Net8 and will require a manual update,
because the .Net builds are no longer operating system independent.

The upside is that there are fewer dependencies (no more Mono),
and execution times are greatly improved.

  • Removed donation messages
  • Updated MacOS Installer license text
  • Updated installer to support future manual upgrade
  • Added information to reports when encountering an exception
3 Likes

Issues to report I’m afraid - all were working on previous canary release, from duplicati_2.0.7.101-1 to duplicati_2.0.7.102-1. Upgraded the following and performed a test backup to local destinations:

RPiOS (Deb 12) - Raspberry Pi-4, backup stays at “Starting”, even after rebooting results in:

RPiOS (Deb 11) - Raspberry Pi-4, was fine

Debian 12 - Proxmox VM, was fine

Fedora 39 - Proxmox VM, was fine

Windows Server 2022 - Proxmox VM, was fine except still reports:

I may have an update on the RPiOS (Deb 12) as while writing this up the backup still started - have to wait for it to complete and see if the problem persist.

Thanks for testing and reporting!
The error messages indicates that the mentioed libraries cannot be loaded as .Net libraries, which is odd because they are all libraries that belong to the .Net runtime and not something that is from Duplicati itself.

This happens when you run from the zip file, because it also has MacOS support, altough Windows does not use it. You can delete the file in question with no ill effects, which is what the MSI packager does.

Future builds will be OS dependent, so this problem goes away.

:crossed_fingers:

Yeah, not sure what’s going on with the RPI-4 as the older one running Debian 11 is fine:

What I just noticed is that the backup starts, nothing is logged, then after 10-15min it starts and the errors are logged at the end after it completes.

As for the Windows 2022, I always use the MSI installer deployed through Manage Engine Endpoint Central with the parameter: FORSERVICE=“true” - I will delete the files and see if it goes away.

Ok, then there is a bug in the packager. It is supposed to delete the non-Windows files before building the MSI file.

Are there any indications of high cpu usage for the wait period? Best guess is that it precompiles something from the files?

In the screenshot, it appears that you have errors. Is the screenshot from Debian 11?

I’ll do another check later and monitor with HTOP to see what happens. The screenshot is the Deb12 based Pi.

I deleted that dll from the Windows machines after first stopping the service to release it, and they are all fine now, thanks.

I’ll still do the check later, but realised that CPU usage was graphed and during the tests it does look like there was high CPU spike:

I would not expect any difference in the mentioned dlls. The file System.IO.Compression.dll for instance should be exactly the same in 2.0.7.101 and 2.0.7.102, as it was built from the same source, same machine, and no source changes that could trigger an updated.

On my machine, I get:

> shasum -a 256 duplicati-2.0.7.101_canary_2024-03-08/System.IO.Compression.dll
76fcaccf84313bf78f523b3bc8198c2d040dabdc04a5dc863b46c8af7ac10a88  duplicati-2.0.7.101_canary_2024-03-08/System.IO.Compression.dll

> shasum -a 256 duplicati-2.0.7.102_canary_2024-04-03/System.IO.Compression.dll
76fcaccf84313bf78f523b3bc8198c2d040dabdc04a5dc863b46c8af7ac10a88  duplicati-2.0.7.102_canary_2024-04-03/System.IO.Compression.dll

I suppose it’s possible the same error was posted in the previous build but as backups worked I didn’t go looking for problems as I did today.

I get the same shasum results and even compared them to other machines both Linux and Windows - all identical.

Hopefully we can ignore it for now until the versions that don’t need Mono are released, but I will do some more checks after the next scheduled backups run.

1 Like

I updated a Windows 11 PC to this build and I get these errors now:

LimitedWarnings: [
    2024-04-04 22:24:50 +02 - [Warning-Duplicati.Library.Main.Operation.Backup.FileEnumerationProcess-FileAccessError]: Error reported while accessing file: C:\Users\Fernando\AppData\Local\Temp\tmpdyj5fb9v\
UnauthorizedAccessException: Access to the path '\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\Users\Fernando\AppData\Local\Temp\tmpdyj5fb9v' is denied.,
    2024-04-04 22:24:50 +02 - [Warning-Duplicati.Library.Main.Operation.Backup.FileEnumerationProcess-FileAccessError]: Error reported while accessing file: C:\Users\Fernando\AppData\Local\Temp\tmpdyj5fb9v\
UnauthorizedAccessException: Access to the path '\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\Users\Fernando\AppData\Local\Temp\tmpdyj5fb9v' is denied.,
    2024-04-04 22:27:35 +02 - [Warning-Duplicati.Library.Main.Operation.Backup.FileEnumerationProcess-FileAccessError]: Error reported while accessing file: C:\Users\Fernando\AppData\Local\Temp\tmpdyj5fb9v\
UnauthorizedAccessException: Access to the path '\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\Users\Fernando\AppData\Local\Temp\tmpdyj5fb9v' is denied.,
    2024-04-04 22:27:35 +02 - [Warning-Duplicati.Library.Main.Operation.Backup.MetadataGenerator.Metadata-MetadataProcessFailed]: Failed to process metadata for "C:\Users\Fernando\AppData\Local\Temp\tmpdyj5fb9v\", storing empty metadata
UnauthorizedAccessException: Attempted to perform an unauthorized operation.,
    2024-04-04 22:27:35 +02 - [Warning-Duplicati.Library.Main.Operation.Backup.FileEnumerationProcess-FileAccessError]: Error reported while accessing file: C:\Users\Fernando\AppData\Local\Temp\tmpdyj5fb9v\
UnauthorizedAccessException: Access to the path '\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\Users\Fernando\AppData\Local\Temp\tmpdyj5fb9v' is denied.
]
LimitedErrors: []
Log data:
2024-04-04 22:24:50 +02 - [Warning-Duplicati.Library.Main.Operation.Backup.FileEnumerationProcess-FileAccessError]: Error reported while accessing file: C:\Users\Fernando\AppData\Local\Temp\tmpdyj5fb9v\
System.UnauthorizedAccessException: Access to the path '\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\Users\Fernando\AppData\Local\Temp\tmpdyj5fb9v' is denied.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileSystemEnumerableIterator`1.CommonInit()
   at System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost)
   at System.IO.Directory.GetDirectories(String path)
   at Duplicati.Library.Snapshots.WindowsSnapshot.ListFolders(String localFolderPath)
   at Duplicati.Library.Utility.Utility.<EnumerateFileSystemEntries>d__23.MoveNext()
2024-04-04 22:24:50 +02 - [Warning-Duplicati.Library.Main.Operation.Backup.FileEnumerationProcess-FileAccessError]: Error reported while accessing file: C:\Users\Fernando\AppData\Local\Temp\tmpdyj5fb9v\
System.UnauthorizedAccessException: Access to the path '\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\Users\Fernando\AppData\Local\Temp\tmpdyj5fb9v' is denied.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileSystemEnumerableIterator`1.CommonInit()
   at System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost)
   at System.IO.Directory.GetFiles(String path)
   at Duplicati.Library.Snapshots.WindowsSnapshot.ListFiles(String localFolderPath)
   at Duplicati.Library.Utility.Utility.<EnumerateFileSystemEntries>d__23.MoveNext()
2024-04-04 22:27:35 +02 - [Warning-Duplicati.Library.Main.Operation.Backup.FileEnumerationProcess-FileAccessError]: Error reported while accessing file: C:\Users\Fernando\AppData\Local\Temp\tmpdyj5fb9v\
System.UnauthorizedAccessException: Access to the path '\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\Users\Fernando\AppData\Local\Temp\tmpdyj5fb9v' is denied.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileSystemEnumerableIterator`1.CommonInit()
   at System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost)
   at System.IO.Directory.GetDirectories(String path)
   at Duplicati.Library.Snapshots.WindowsSnapshot.ListFolders(String localFolderPath)
   at Duplicati.Library.Utility.Utility.<EnumerateFileSystemEntries>d__23.MoveNext()
2024-04-04 22:27:35 +02 - [Warning-Duplicati.Library.Main.Operation.Backup.MetadataGenerator.Metadata-MetadataProcessFailed]: Failed to process metadata for "C:\Users\Fernando\AppData\Local\Temp\tmpdyj5fb9v\", storing empty metadata
System.UnauthorizedAccessException: Attempted to perform an unauthorized operation.
   at System.Security.AccessControl.Win32.GetSecurityInfo(ResourceType resourceType, String name, SafeHandle handle, AccessControlSections accessControlSections, RawSecurityDescriptor& resultSd)
   at System.Security.AccessControl.NativeObjectSecurity.CreateInternal(ResourceType resourceType, Boolean isContainer, String name, SafeHandle handle, AccessControlSections includeSections, Boolean createByName, ExceptionFromErrorCode exceptionFromErrorCode, Object exceptionContext)
   at System.Security.AccessControl.FileSystemSecurity..ctor(Boolean isContainer, String name, AccessControlSections includeSections, Boolean isDirectory)
   at System.Security.AccessControl.DirectorySecurity..ctor(String name, AccessControlSections includeSections)
   at Duplicati.Library.Common.IO.SystemIOWindows.GetMetadata(String path, Boolean isSymlink, Boolean followSymlink)
   at Duplicati.Library.Main.Operation.Backup.MetadataGenerator.GenerateMetadata(String path, FileAttributes attributes, Options options, ISnapshotService snapshot)
2024-04-04 22:27:35 +02 - [Warning-Duplicati.Library.Main.Operation.Backup.FileEnumerationProcess-FileAccessError]: Error reported while accessing file: C:\Users\Fernando\AppData\Local\Temp\tmpdyj5fb9v\
System.UnauthorizedAccessException: Access to the path '\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\Users\Fernando\AppData\Local\Temp\tmpdyj5fb9v' is denied.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileSystemEnumerableIterator`1.CommonInit()
   at System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost)
   at System.IO.Directory.GetFiles(String path)
   at Duplicati.Library.Snapshots.WindowsSnapshot.ListFiles(String localFolderPath)
   at Duplicati.Library.Utility.Utility.<EnumerateFileSystemEntries>d__23.MoveNext()

This backup is not scheduled as I run it manually once or twice per month, but until now it’s not reported anything like this.

Is that file still around? If so, what is its date? Maybe it just showed up. Can you access it as whatever user Duplicati is running as? If you can’t, then Duplicati as same user can’t either.

EDIT:

Alternatively, you could see if now-inaccessible file already got in a previous backup version. Typically I expect any access error to be consistent, provided the user trying it didn’t change.

I’ll check when I get home later, but Duplicati runs as the System account on all my Windows machines. I also checked the Windows Server 2022 and its backup was fine. I also have another Windows 11 PC I can test tonight, along with my other servers.

You can check that in Duplicati About → System info in UserName, but System account is subject to access control too. Typically a file’s permissions grant it access, but sometimes access is removed.

I just finished checking and it appears the folder had some weird permissions and once I granted myself full ownership, it was empty. Once I deleted it the backups worked, but the issue now is why it was being backed up at all because it was in the Temp folder in profile of a user account and the Temporary files in exclusions is enabled. For now I have manually added a directory filter to exclude “AppData\Local\Temp”.

That’s a better plan. This section is Filters and is path based, and you know the path.

This entire section is attribute based not path based, and you often don’t know attributes.
You can browse with File Explorer, right click its header to add Attributes, look around.
Based on seeing one of my files show a T, I’d guess that’s temporary, but it’s just one file.

exclude-files-attributes is probably the command line version of this, with more attributes.
Personally, I think offering Temporary in GUI is confusing. Some think it’s .tmp extension.

At least Hidden and System are known to the dir and attrib commands. Temporary is not.
This note is kind of Windows-centric. Attributes on other systems may have similar issue.

Linux ls omits files and folders beginning with a dot, but I don’t know if Hidden does it too.
This is somewhat beyond Duplicati choice. It’s likely what File.GetAttributes Method says.

EDIT:

I would also stress that this is nothing new on this release. If you think it is, let’s talk more.

1 Like

I would agree, I suspect I added this to backups way back in my early days of using Duplicati and never bothered to untick it.

Apart from this minor hiccup which is now sorted, I’d say this release is running well for me on all the systems I run Duplicati on.

2 Likes

Getting the following error when starting with docker :

No usable version of libssl was found
info: Duplicati.WebserverCore.ApplicationPartsLogger[0]
      Found the following application parts: 'Duplicati.Server, Duplicati.WebserverCore' with the following controllers: 'RESTHandlerCoreController'
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: http://localhost:3001
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
      Content root path: /
No usable version of libssl was found
No usable version of libssl was found

http://localhost:3001 reminds me of a glitch in a newer release. Are you sure you’re 2.0.7.102?

Unfortunately, Duplicati seems to be releasing these new .NET 8 Dockers to the world (so it appears):

https://hub.docker.com/r/duplicati/duplicati/tags shows 2.0.8.100 and 2.0.8.103. I’m not sure how smart Docker updaters are about release channels, but I also don’t know how we get brave testers otherwise.

EDIT:

Automatic updaters exist, and I’m thankful they haven’t failed in mass. Do you run an automatic update?

I follow the “latest” channel which still points to 2.0.7.1.

1 Like