Error after updating to Ubuntu Server 22.04 - Failed: EVP_MD_size assembly:<unknown assembly> type:<unknown type> member:(null)

Hi,

After upgrading to Ubuntu Server 22.04 LTS I now receive the following error for all back ups:

Failed: EVP_MD_size assembly: type: member:(null)

Log file details follows:
Failed: EVP_MD_size assembly: type: member:(null)
Details: System.EntryPointNotFoundException: EVP_MD_size assembly: type: member:(null)
at (wrapper managed-to-native) FasterHashing.InteropOpenSSL11_libcrypto_dll.EVP_MD_size(intptr)
at FasterHashing.OpenSSL11_libcrypto_dll_HashAlgorithmSHA256…ctor () [0x0003b] in <787629f3dc434608a1b2bf412946d433>:0
at FasterHashing.OpenSSL11_libcrypto_dll_HashAlgorithm.Create (System.String name) [0x00036] in <787629f3dc434608a1b2bf412946d433>:0
at FasterHashing.OpenSSL11HashAlgorithm.Create (System.String algorithm, FasterHashing.OpenSSL11HashAlgorithm+LibraryName library) [0x0003a] in <787629f3dc434608a1b2bf412946d433>:0
at FasterHashing.FasterHash.Create (System.String algorithm, System.Boolean allowfallback, FasterHashing.HashImplementation implementation) [0x00034] in <787629f3dc434608a1b2bf412946d433>:0
at Duplicati.Library.Utility.HashAlgorithmHelper.Create (System.String name) [0x00000] in <2a3ee711c7c04f6c957360f2cf183a7f>:0
at Duplicati.Library.Main.Options.get_BlockhashSize () [0x00025] in :0
at Duplicati.Library.Main.Volumes.VolumeBase…ctor (Duplicati.Library.Main.Options options) [0x0002b] in :0
at Duplicati.Library.Main.Volumes.VolumeWriterBase…ctor (Duplicati.Library.Main.Options options, System.DateTime timestamp) [0x00000] in :0
at Duplicati.Library.Main.Volumes.FilesetVolumeWriter…ctor (Duplicati.Library.Main.Options options, System.DateTime timestamp) [0x00000] in :0
at Duplicati.Library.Main.Operation.BackupHandler.RunAsync (System.String[] sources, Duplicati.Library.Utility.IFilter filter, System.Threading.CancellationToken token) [0x01048] in :0
at CoCoL.ChannelExtensions.WaitForTaskOrThrow (System.Threading.Tasks.Task task) [0x00050] in <9a758ff4db6c48d6b3d4d0e5c2adf6d1>:0
at Duplicati.Library.Main.Operation.BackupHandler.Run (System.String[] sources, Duplicati.Library.Utility.IFilter filter, System.Threading.CancellationToken token) [0x00009] in :0
at Duplicati.Library.Main.Controller+<>c__DisplayClass14_0.b__0 (Duplicati.Library.Main.BackupResults result) [0x0004b] in :0
at Duplicati.Library.Main.Controller.RunAction[T] (T result, System.String[]& paths, Duplicati.Library.Utility.IFilter& filter, System.Action`1[T] method) [0x0011c] in :0

Log data:
2022-05-08 16:14:04 +00 - [Error-Duplicati.Library.Main.Operation.BackupHandler-FatalError]: Fatal error
System.EntryPointNotFoundException: EVP_MD_size assembly: type: member:(null)
at (wrapper managed-to-native) FasterHashing.InteropOpenSSL11_libcrypto_dll.EVP_MD_size(intptr)
at FasterHashing.OpenSSL11_libcrypto_dll_HashAlgorithmSHA256…ctor () [0x0003b] in <787629f3dc434608a1b2bf412946d433>:0
at FasterHashing.OpenSSL11_libcrypto_dll_HashAlgorithm.Create (System.String name) [0x00036] in <787629f3dc434608a1b2bf412946d433>:0
at FasterHashing.OpenSSL11HashAlgorithm.Create (System.String algorithm, FasterHashing.OpenSSL11HashAlgorithm+LibraryName library) [0x0003a] in <787629f3dc434608a1b2bf412946d433>:0
at FasterHashing.FasterHash.Create (System.String algorithm, System.Boolean allowfallback, FasterHashing.HashImplementation implementation) [0x00034] in <787629f3dc434608a1b2bf412946d433>:0
at Duplicati.Library.Utility.HashAlgorithmHelper.Create (System.String name) [0x00000] in <2a3ee711c7c04f6c957360f2cf183a7f>:0
at Duplicati.Library.Main.Options.get_BlockhashSize () [0x00025] in :0
at Duplicati.Library.Main.Volumes.VolumeBase…ctor (Duplicati.Library.Main.Options options) [0x0002b] in :0
at Duplicati.Library.Main.Volumes.VolumeWriterBase…ctor (Duplicati.Library.Main.Options options, System.DateTime timestamp) [0x00000] in :0
at Duplicati.Library.Main.Volumes.FilesetVolumeWriter…ctor (Duplicati.Library.Main.Options options, System.DateTime timestamp) [0x00000] in :0
at Duplicati.Library.Main.Operation.BackupHandler.RunAsync (System.String[] sources, Duplicati.Library.Utility.IFilter filter, System.Threading.CancellationToken token) [0x001bb] in :0

Same here; I believe it’s an OpenSSL related bug.

Ubuntu 22.04 does not support Openssl 1.1. All software must be upgraded to use Openssl 3.0.

1 Like

Same issue with Fedora 36. Works just fine with F35, but when I upgraded to F36 this error occured. I had to revert to F35 until this issue is resolved.

1 Like

Workaround here: boot - Upgrading to Ubuntu 22.04 causes libcrypto errors, apt/dpkg broken - Ask Ubuntu

Tested and works in Pop_OS 22.04 LTS (and likely Ubuntu 22.04).

1 Like

Welcome to the forum @foxhollow

Does Fedora (unlike Ubuntu) make it easy to add libssl1.1 to supplement latest release?
You wouldn’t want two copies of the openssl command, but I think libaries are versioned.

https://repology.org/project/openssl/versions reveals which distros moved to OpenSSL 3.
I know Fedora is kind of leading edge, but I’m surprised some rolling distros didn’t move.
I’m also surprised that it looks like Ubuntu first let loose on an LTS release. Seems risky.

Thanks for the workaround and the test. This mention should link here from GitHub issue.

OneDrive backup error message: EVP_MD_size assembly:<unknown assembly> type:<unknown type> member:(null) #4716

Anybody here a developer? Please look over https://github.com/kenkendk/FasterHashing.

2.0.2.11_canary_2017-10-20

Updated FasterHashing, so it automatically picks up openssl 1.0 and 1.1 on all platforms

Possibly it needs to be taught about OpenSSL 3, but I’m surprised it doesn’t fall back safely:

falling back to the managed implementation if none are found.

as documented, after Supported libraries (OpenSSL 1.0 and 1.1 API) are found unavailable.
An open question needing test and investigation is whether the version 3 API is compatible.

Actually getting FasterHashing changed (if that is required) requires its owner’s scarce help.
Maybe a less elegant temporary workaround to at least keep running (slower) can be found.

Well, I’m pretty sure (and someone please correct me if I’m wrong) that the libraries are versioned - so there shouldn’t be any issues with OpenSSL 3.0 moving forward. I guess it’s a temporary solution and the proper one is a re-compile and rebuild against OpenSSL 3.0.

I’m not a C# developer but AFAIK this is in managed code, meaning it wouldn’t link openssl at compile.
The proper solution is maybe to look into how FasterHashing searches for libraries, then update that…
That’s hindered by not having access to do anything with that project without help from its maintainer…

I do notice in the code (now that I look a bit) that one can disable probing. I wonder if it can be forced quietly into managed code using some of the below. Or maybe that’s where we got, and it’s broken…

I think this is correct. I can run ldd to print traditional shared lib dependencies for my old openssl version:

> which openssl
/usr/bin/openssl
> ldd /usr/bin/openssl
	linux-vdso.so.1 (0x00007fff039ff000)
	libssl.so.1.1 => /usr/lib/x86_64-linux-gnu/libssl.so.1.1 (0x00007ffb19582000)
	libcrypto.so.1.1 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007ffb190b7000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ffb18e98000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ffb18aa7000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ffb188a3000)
	/lib64/ld-linux-x86-64.so.2 (0x00007ffb19ac2000)
> dpkg -S /usr/lib/x86_64-linux-gnu/libssl.so.1.1
libssl1.1:amd64: /usr/lib/x86_64-linux-gnu/libssl.so.1.1
> dpkg -S /usr/bin/openssl
openssl: /usr/bin/openssl
> 

Above is Linux Mint 19.3, a Ubuntu derivative. So lib installs probably don’t clash (and you proved it).
The openssl command itself looks like it’s probably in the same path-friendly place for all its versions.

Still looking for a developer volunteer to sort things out. Developer and other volunteers in code, test, documentation, forum, and other areas are always highly valuable to maintain and improve Duplicati.

1 Like

Hello ts678,

Does Fedora (unlike Ubuntu) make it easy to add libssl1.1 to supplement latest release?
You wouldn’t want two copies of the openssl command, but I think libaries are versioned.

This is beyond my Linux knowledge at this time.

This error is the first time I have had any issues with Duplicati, it has always been a solid piece of software which is my main backup solution. I was surprised when it didn’t work on Fedora which always just works in my experience.

easy as:
dnf install openssl1.1

1 Like