Need Help on Erlang OTP version mismatch in Dev and QA environment


I have upgraded Elixir version from 1.10 to 1.12.3 and erlang 22.2.6 to

I have set the global version after erlang installation.
asdf global erlang 23.3.4


elixir 1.12.3-otp-23

erlang 23.3.4

In my dev environment I can see below :

Erlang/OTP 23 [erts-] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] [hipe]

Elixir 1.12.3 (compiled with Erlang/OTP 23)

But when I deploy it in test environment, I can see below

Erlang/OTP 24 [erts-] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:1] [jit]

warning: the VM is running with native name encoding of latin1 which may cause Elixir to malfunction as it expects utf8. Please ensure your locale is set to UTF-8 (which can be verified by running “locale” in your shell)
Interactive Elixir (1.12.3) - press Ctrl+C to exit (type h() ENTER for help)

Issue here is the OTP 24 is displaying in test environment and because of this few dependencies are not working. Please help to resolve this.

How exactly is it deployed?

Tangentially you should aim to resolve this issue regardless of what Elixir / OTOP version you use.

1 Like

Related previous discussions:

1 Like

It is deployed via CI/CD pipeline, and as per the logic it should take the version from .tool-version.ex.

yes, still I didn’t get the root cause and solution for this.

As we are using cloak for data encryption/decryption, but it’s not supporting in OTP 24 and that gives issues to me.

Perhaps it should but apparently it is not. Would you mind sharing it?

More details are the only thing that will help - saying “it is deployed with azure_docker_build.yml” isn’t much to go on when something’s going wrong with the configuration in there.

The system is doing what it’s configured to do; if it’s doing something that it “shouldn’t do”, or not doing something that it “should do” then the problem is with our understanding of the configuration that’s being supplied.