user/elixir: FTTFS: warning: the VM is running with native name encoding of latin1 which may cause Elixir to malfunction as it expects utf8.
Found on HR350A (aarch64) in autobuilder environment:
Linux aarch64-1 5.10.0-21-arm64 #1 SMP Debian 5.10.162-1 (2023-01-21) aarch64 GNU/Linux
...
==> elixir (eunit)
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)
All 131 tests passed.
==> elixir (ex_unit)
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)
Excluding tags: [windows: true]
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
1) test invokes command on remote node (Kernel.CLI.RPCTest)
test/elixir/kernel/cli_test.exs:156
Assertion with == failed
code: assert rpc_eval("IO.puts :ok") == "ok\n"
left: "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)\nok\n"
right: "ok\n"
stacktrace:
test/elixir/kernel/cli_test.exs:157: (test)
.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
2) test invokes at_exit callbacks (Kernel.CLI.AtExitTest)
test/elixir/kernel/cli_test.exs:181
Assertion with == failed
code: assert elixir(fixture_path("at_exit.exs") |> to_charlist) == "goodbye cruel world with status 1\n"
left: "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)\ngoodbye cruel world with status 1\n"
right: "goodbye cruel world with status 1\n"
stacktrace:
test/elixir/kernel/cli_test.exs:182: (test)
..............................
3) test properly formats errors (Kernel.CLI.RPCTest)
test/elixir/kernel/cli_test.exs:165
Expected truthy, got false
code: assert String.starts_with?(rpc_eval(":erlang.throw 1"), "** (throw) 1")
arguments:
# 1
"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)\n** (throw) 1\n (stdlib 3.17.1) erl_eval.erl:685: :erl_eval.do_apply/6\n (elixir 1.13.4) lib/code.ex:404: Code.validated_eval_string/3\n"
# 2
"** (throw) 1"
stacktrace:
test/elixir/kernel/cli_test.exs:166: (test)
.............
4) test compiles code (Kernel.CLI.CompileTest)
test/elixir/kernel/cli_test.exs:199
Assertion with == failed
code: assert elixirc('#{context.fixture} -o #{context.tmp_dir}') == ""
left: "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)\n"
right: ""
stacktrace:
test/elixir/kernel/cli_test.exs:200: (test)
..............................................................
5) test invokes command on remote node without host (Kernel.CLI.RPCTest)
test/elixir/kernel/cli_test.exs:160
Assertion with == failed
code: assert elixir('--name #{node}@127.0.0.1 --rpc-eval #{node} "IO.puts :ok"') == "ok\n"
left: "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)\nok\n"
right: "ok\n"
stacktrace:
test/elixir/kernel/cli_test.exs:162: (test)
.....................................................................................................................................................................
6) test fails on missing write access to .beam file (Kernel.CLI.CompileTest)
test/elixir/kernel/cli_test.exs:239
Assertion with == failed
code: assert elixirc(compilation_args) == ""
left: "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)\n"
right: ""
stacktrace:
test/elixir/kernel/cli_test.exs:242: (test)
....................................................................................................................................................................................................................
7) test properly parses paths (Kernel.CLITest)
test/elixir/kernel/cli_test.exs:106
** (SyntaxError) nofile:1:1: syntax error before: warning
|
1 | 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)
| ^
code: {path, _} = Code.eval_string(list, [])
stacktrace:
(elixir 1.13.4) lib/code.ex:403: Code.validated_eval_string/3
test/elixir/kernel/cli_test.exs:113: (test)
......................................................................................
8) test properly formats errors (Kernel.CLITest)
test/elixir/kernel/cli_test.exs:124
Expected truthy, got false
code: assert String.starts_with?(elixir('-e ":erlang.throw 1"'), "** (throw) 1")
arguments:
# 1
"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)\n** (throw) 1\n (stdlib 3.17.1) erl_eval.erl:685: :erl_eval.do_apply/6\n (elixir 1.13.4) lib/code.ex:404: Code.validated_eval_string/3\n"
# 2
"** (throw) 1"
stacktrace:
test/elixir/kernel/cli_test.exs:125: (test)
.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
9) test argv/0 (SystemTest)
test/elixir/system_test.exs:45
** (SyntaxError) nofile:1:1: syntax error before: warning
|
1 | 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)
| ^
code: {args, _} = Code.eval_string(list, [])
stacktrace:
(elixir 1.13.4) lib/code.ex:403: Code.validated_eval_string/3
test/elixir/system_test.exs:47: (test)
..............................................................................................................................................................................................................................................................................................................................................................................................................................
Finished in 28.6 seconds (11.8s on load, 8.4s async, 8.2s sync)
1787 doctests, 3941 tests, 9 failures, 11 excluded
Randomized with seed 254670
make: *** [Makefile:286: test_stdlib] Error 2
>>> ERROR: elixir: check failed
Is this an environment or locale issue?
# HR350A (fails here)
# locale
LANG=C
LANGUAGE=
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=
# LX2160A (passes here)
# locale
LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
In which case, autobuilder needs an update to ensure locale consistency.