Backups fail after update to October 20 canary - missing lib?

I updated to Creators update 1709 yesterday, after which my Duplicati instance still worked (I let it run with admin priveleges but not as service so creators update did not trash my config).

This morning I was notified of the Oct 20 canary so I hit update which failed. Decided to do it manually (x64-msi) which worked until I tried running a backup at which point I am greeted with:

Failed: Could not load file or assembly 'FasterHashing, Version=1.1.2.23404, Culture=neutral, PublicKeyToken=65ca7d3f764f480a' or one of its dependencies. The system cannot find the file specified.
Details: System.IO.FileNotFoundException: Could not load file or assembly 'FasterHashing, Version=1.1.2.23404, Culture=neutral, PublicKeyToken=65ca7d3f764f480a' or one of its dependencies. The system cannot find the file specified.
File name: 'FasterHashing, Version=1.1.2.23404, Culture=neutral, PublicKeyToken=65ca7d3f764f480a'
   at Duplicati.Library.Utility.HashAlgorithmHelper.Create(String name)
   at Duplicati.Library.Main.Utility.Metahash..ctor(Dictionary`2 values, Options options)
   at Duplicati.Library.Main.Operation.BackupHandler..ctor(String backendurl, Options options, BackupResults results)
   at Duplicati.Library.Main.Controller.<>c__DisplayClass16_0.<Backup>b__0(BackupResults result)
   at Duplicati.Library.Main.Controller.RunAction[T](T result, String[]& paths, IFilter& filter, Action`1 method)

Looks like it cannot load that library for some reason?

FWIW downgrade to Oct 11 version fixed it.

I did a clean install with 1709 no issues with 2.0.2.12_canary_2017-10-20 no issues so far.

There is some issue with the updater, and I am working on a fix, but I cannot reproduce the problems reliably, so it will be a few iterations before it works.

The 2.0.2.11 and 2.0.2.12 versions contain a new method for loading the updated library, which should fix the problem with “Could not load file or assembly”.

Unfortunately, the problem is in the updater, so it requires that you uninstall the current version and install the 2.0.2.12 version from zip or msi.

FYI I just encountered this issue.

What version are you usinng? Are you sure it’s the exact same error: Could not load file or assembly 'FasterHashing ...

There is a known similar issue where Duplicati reports a warning: Failed to load process type Duplicati.Library.Common.IO.VssBackupComponents

This is on non-Windows platforms, and the error can be safely ignored. It should be fixed soon in an upcoming version.

Yes exact same issue. Fixed it by uninstalling and reinstalling. 2.0.5.1 beta.
“Could not load file or assembly ‘FasterHashing’”
Was very odd… it was working one day, and not the next.

Hi,

I did run into exactly the same issue here today. I am running 2.0.51beta since March, it worked fine. After a period not using Duplicati any more, I tried to reactivate it and now got this error.

The problem is also described in this thread:

In both threads I could not find a solution for it. Neither repairing the installation or uninstalling and re-installing fixed the issue. Any ideas how to solve it?

Thanks a lot in advance!

Welcome to the forum @whege

What OS are you using, and do you see a FasterHashing.dll file (location varies with OS)?

It is Win 10 x64, Version 1909. And yes, the FasterHashing.dll is present in the installation folder.
Sorry, that I did not mention this before.

I’m not an expert in how searching for dll files gets done, but I assume you can see its efforts by using Sysinternals Process Monitor as a suitable user (or just as you if Duplicati runs as you). You can filter:

Path contains FasterHashing.dll

Then do whatever you usually do to get the error, and maybe we can get a clue of how search worked.
There might also be a chance of a damaged file even though it’s there. I don’t know how that would fail.

The SysInternals ProcMonitor is for me not really helpful here. So I used Microsoft’s Assembly Binding Log Viewer now, which is part of Visual Studio (Fuslogvw.exe (Assembly Binding Log Viewer-Tool) | Microsoft Docs).

I did a restart of Duplicati with full assembly binding log enabled. Mysteriosly, the loading of FasterHashing.dll worked fine according to this log. But I still see this error in the Duplicati dialog on my browser, and the backup process does not succeed. No Duplicati log is visible.

I have no idea, what to do next.

How so?

Even though you have a more specialized tool (which I don’t use, so you know more about this than I do), simpler methods might still work, or maybe this will just be a mystery until someone more expert helps…

One thing I will point out is that Duplicati is typically two processes, so make sure you watch the right one. Probably you want the child. The parent is the originally installed Duplicati (base version) which checks for updates on the drive and starts the latest version, which does the actual work. Uninstalling and reinstalling should fix the Program Files\Duplicati 2 base version though, and unless you had Duplicati run a later one, 2.0.5.1 is the latest Beta. There are newer Canary builds though, and they would hang around to be run…
Downgrading / reverting to a lower version shows where they might be (it varies depending on the install). Based on what I heard, I assumed there was no new update, but it might be worth checking to make sure.

If you want to avoid the double-process behavior, you can set an environment variable. An example of this:

set AUTOUPDATER_Duplicati_SKIP_UPDATE=true

If you want to confirm your file’s hash, here are some:
22fe5d4a42031f1b9f756b9b716b6180 MD5
b8d1ccb0c54e9af5ffe497fc328f07ab4260e4ad SHA-1

Sysinternals Process Explorer can show the loaded .NET Assemblies and the path assembly came from.

Thanks for your detailed explanation. I checked the file’s MD5, that is fine. If have traced the process ‘Duplicati.GUI.TrayIcon.exe’, which successfully loaded ~200 assemblies (according to the mentioned assembly binding log viewer). I have no experience with this tool either, I was just looking for a suitable tool for .NET applications.

I will try to get more information using ProcMonitor, but I will not find time for it before Monday. Maybe I will also try one of the Canary builds. I will get back then.

I am sorry for not getting back earlier.

  1. I have tested the latest Canary build 2.0.5.111_canary_2020-09-26. Same problem also with this release.

  2. I have also tried to trace the problem with SysInternal ProcMonitor, filtering for all events related to FasterHashing.dll. I could not see any problems there: Various operations could be successfully executed on the default installation path, but there were also operations in other folders (GAC, NativeImages, also in the Registry), that failed.

I have also checked another PC, where Duplicati runs without problems. Surprisingly, I could not see any operations at all in ProcMonitor related to FasterHashing.dll.

So, this issue remains mysteriosly for me. If it is of any help for you, I have put the ProcMonitor log with all FasterHashing related operations in XML format on a public Dropbox link here:

Also, if you have any ideas how I can further investigate this issue, just let me know.

FWIW I checked mine, though my Duplicati install is unusual, and it was accessed at startup.
I’m not an expert in assembly loading, so maybe somebody else can de-mystify some of this.