erlang / docker-erlang-otp

the Official Erlang OTP image on Docker Hub
https://hub.docker.com/_/erlang/
Apache License 2.0
183 stars 80 forks source link

Erlang 25 for arm64 seg faults #400

Closed carlhoerberg closed 2 years ago

carlhoerberg commented 2 years ago
✗ podman run -it --rm --platform linux/arm64 erlang:25 bash
root@24f5e5903b75:/# erl
Segmentation fault (core dumped)

same result with docker according to my colleagues. is qemu-aarch64-static and the jit interfering maybe? tried to disable jit, but:

✗ podman run -it --rm --platform linux/arm64 -e ERL_FLAGS="-emu_flavor emu" erlang:25
erlexec: Invalid emulator type or flavor. Available combinations are:
  -emu_flavor smp
garazdawi commented 2 years ago

There is a bug in qemu when using x^w memory mappings for the JIT:ed code. You can read about it here: https://erlangforums.com/t/otp-25-0-rc3-release-candidate-3-is-released/1317/25. So, the image will work when you run it on arm64 hardware, but not when emulated by quemu.

The images provided by this repository do not include the non-jit emulator, so you will have to build your own if you want to run Erlang in qemu.

carlhoerberg commented 2 years ago

ok, thank you!