Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue with 5.0.4 nuget version in .Net8 #270

Open
aliaksei-halushkin-idt opened this issue Jan 20, 2025 · 4 comments
Open

Issue with 5.0.4 nuget version in .Net8 #270

aliaksei-halushkin-idt opened this issue Jan 20, 2025 · 4 comments
Assignees

Comments

@aliaksei-halushkin-idt
Copy link

aliaksei-halushkin-idt commented Jan 20, 2025

We ran into runtime issue with 5.0.4 Unleash version in .Net8 when loading Unleash in our AspNetCore app

It's Aws Cloudformation deployment

Callstack:
`System.DllNotFoundException: Unable to load shared library 'yggdrasilffi' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable:
/app/yggdrasilffi.so: cannot open shared object file: No such file or directory
/usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.11/yggdrasilffi.so: cannot open shared object file: No such file or directory
libc.so: cannot open shared object file: No such file or directory
/usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.11/libyggdrasilffi.so: cannot open shared object file: No such file or directory
/app/yggdrasilffi: cannot open shared object file: No such file or directory
/usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.11/yggdrasilffi: cannot open shared object file: No such file or directory
/app/libyggdrasilffi: cannot open shared object file: No such file or directory
/usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.11/libyggdrasilffi: cannot open shared object file: No such file or directory

at Yggdrasil.FFI.new_engine()
at Yggdrasil.FFI.NewEngine()
at Yggdrasil.YggdrasilEngine..ctor(List`1 strategies)
at Unleash.UnleashServices..ctor(UnleashSettings settings, EventCallbackConfig eventConfig, List`1 strategies)
at Unleash.DefaultUnleash..ctor(UnleashSettings settings, IStrategy[] strategies)`

Version 4 works fine (4.1.15 e.g.)

@sighphyre
Copy link
Member

Hey @aliaksei-halushkin-idt,

5.0.0 takes on a new native dependency, it looks like that's failing to load for you folks.

What CPU/OS architecture are you running this on?

@gastonfournier gastonfournier moved this from New to Investigating in Issues and PRs Jan 21, 2025
@sighphyre
Copy link
Member

Okay I've been thinking about this overnight. Any chance this is running on an alpine distro? That error message looks a little like libgcc isn't present

@pandrija
Copy link

Hi! We are evaluating Uleash, and apparently we run into the same issue:

Unable to load DLL 'yggdrasilffi': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

Pasting just part of the stack trace:
at Yggdrasil.FFI.new_engine()
at Yggdrasil.YggdrasilEngine..ctor(List1 strategies) at Unleash.UnleashServices..ctor(UnleashSettings settings, EventCallbackConfig eventConfig, List1 strategies)

Environment:

  • Windows 11 (arm VM on VmWare Fusion on MacOS)
  • NET Framework 4.8
  • Visual Studio 2022 (17.12.4)
  • Installed nuget and set-up per instructions for NET SDK

The fix was to copy yggdrasilffi_x86_64.dll from https://github.com/Unleash/yggdrasil/releases to bin directory of the project and rename it as yggdrasilffi.dll, but I'm not sure what to do next, as I'm about to deploy this to one of our test environments, so any suggestion is welcome. Thx!

@sighphyre
Copy link
Member

Hey @pandrija, I'm pretty sure what you're describing is a different issue. The original looks to be a linker issue while your sounds a bit more like VM emulation going awry.

To be clear, you're running this on a Windows arm VM and a x86_64 binary worked? Did you by any chance build this on a different platform from the one you tested on?

What's the environment you're planning to deploy this to?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Investigating
Development

No branches or pull requests

3 participants