-
Notifications
You must be signed in to change notification settings - Fork 37
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
Issues running in an environment without OS level certificates. #141
Comments
Hello @thiagogsr, Thank you for the report. I will look into the issue. The only update in 3.5.0 is to use shotgun Would you mind checking your package manager lock file to determine the version of Thank you, |
Hello @kinyoklion, thanks for the quick response. I'm currently using 3.3.1 with no issues, I noticed the issue when I tried to update it to 3.5.0, so I'm not blocked at the moment. I've tested the 3.4.0 and it's working great as well. |
Hello @thiagogsr, So far no luck in reproduction. This is the lockfile with the versions that I get resolved. I am curious about any differences in "gun" and "cowlib" specifically. The error messages sound like a mismatch somewhere there.
Thank you, |
I was using the same version as you
|
I've compared all packages versions and everything looks like the same.
|
@thiagogsr Thank you. That is a little problematic. My initialization is approximately equivalent as well:
Are you getting any additional logs before the variation call?
I would expect a series of logs similar to these. Thank you, |
Ah yes, with the |
We've had some problems since OTP 25 with tls_options. The default behavior of the OTP has changed a few times, which has proved problematic in keeping compatible defaults for both old and new versions. (So generally I recommend always setting explicit TLS options at this point.) That said I am still curious about any additional logging that would help to explain why the variation call is failing. If we start each supervisor, and none of them are logging any failures, then I would expect the process to be there. One thing strange to me is the instance_name:
I would expect that log to show the atom for the instance_name. When I manually change mine to an instance name that doesn't exist I get:
Where (I am more familiar with Erlang than Elixir, so there may be something I am misunderstanding there.) Thank you, |
@kinyoklion it's indeed an atom, I replaced it before sending it here. I will run more tests on it, but there might be something off as the v3.4.0 works well and just the update to 3.5.0 breaks it. We have been running it without tls verification since we migrated to OTP 26 some months ago.
|
Ok. I do just want to verify then, that in your logs In regards to Thank you, |
Mine works with the following configuration as well:
Is this failure something you are experiencing just on a local development instance from testing the upgrade? I am curious if there are any build remnants interfering with things. Thank you, |
I'm experiencing this error when I deploy it to Kubernetes, the project and the docker image are built just fine. Are you testing on those versions?
|
We build the project on: |
I am testing those tool versions, but not that OS. I can try those specific containers as well. |
It seems to be related to the OS. The following command works locally (OSX), but it does not work on my remote container.
It's used by gun on the new version.
|
I'm going to test it with the latest OS version. |
This seems very similar to this: erlang/otp#7321 I wonder if this is the underling change: Which makes me think that maybe explicitly using the certify options would override that behavior ( Thank you, |
It seems so, I just don't understand why it tries to get cacerts when it's configured to |
The |
So, Our helper for basic tls options will also attempt to use Thoeretically you could also specify
I am hesitant to incorporate a workaround, as it seems probable that it could cause more unexpected behavior (as it is somewhat unexpected behavior that gun is adding cacerts when not provided in the options, making an explicitly empty list required to equal previous options). Thanks, |
I understand @kinyoklion, I'm sure you know what's the best for the library. Thanks for the help on it. Just a last topic, in order to make |
I will look. I do not think that is expected. Did it not work with Thank you, |
** For future users that encounter issues **
In gun version 2.1.0 an attempt is made to load certificates from the OS. Even if you disable verification this will be done.
This appears to trigger something similar to: erlang/otp#7303
To work around this issue there are a few couple.
cacerts
option. (for instance your own list of certificates, an empty list, or using certifi.)Describe the bug
The library cannot connect to LaunchDarkly on 3.5.0.
To reproduce
Install LaunchDarkly 3.5.0
Expected behavior
It should connect.
Logs
SDK version
3.5.0
Language version, developer tools
ERLANG_VERSION=26.2.5.1
ELIXIR_VERSION=1.17.1
OS/platform
DEBIAN_VERSION=bookworm-20240701
Additional context
It fails with both:
and
Dependencies versions
UPDATE:
I've tried with:
and it connected, however, the
variation
function does not work due to:The text was updated successfully, but these errors were encountered: