Recently my teammates and I were trying to upgrade our Elixir app from Elixir 1.12 to the 1.14 version.
On our .circleci/config.yml file, we just change the given line from
build_test_stage:
parallelism: 1
docker:
- image: cimg/elixir:1.12
environment:
MIX_ENV: test
to:
build_test_stage:
parallelism: 1
docker:
- image: cimg/elixir:1.14
environment:
MIX_ENV: test
But when we try to deploy we are getting the following errors:
INFO -- : STARTING: Configure SSL Policy for endpoint app-48362.on-aptible.com
INFO -- : COMPLETED (after 0.04s): Configure SSL Policy for endpoint app-48362.on-aptible.com
INFO -- : WAITING FOR: Start app containers for service cmd
INFO -- : WAITING FOR: Start app containers for service cmd
INFO -- : COMPLETED (after 12.65s): Start app containers for service cmd
INFO -- : STARTING: Wait up to 180s for containers in service cmd to respond to HTTP health checks
INFO -- : STARTING: Start logging containers for app-feature-1-cmd to log drain app-prod-v2
INFO -- : STARTING: Start logging containers for app-feature-1-cmd to log drain log-tail-wgzfaq
INFO -- : STARTING: Start metric collectors for app-feature-1-cmd to metric drain grafana-influxdb
INFO -- : STARTING: Start proxy containers for endpoint app-48362.on-aptible.com
INFO -- : WAITING FOR: Start logging containers for app-feature-1-cmd to log drain app-prod-v2, Start logging containers for app-feature-1-cmd to log drain log-tail-wgzfaq, Start metric collectors for app-feature-1-cmd to metric drain grafana-influxdb, Start proxy containers for endpoint app-48362.on-aptible.com, Wait up to 180s for containers in service cmd to respond to HTTP health checks
ERROR -- : 1 of 1 HTTP health checks failed
ERROR -- : Container for cmd (running ["start"]) failed to start (exited with status 127 after 0 seconds).
ERROR -- : Error relocating /home/elixir/app/erts-13.1.5/bin/beam.smp: __extendhfdf2: symbol not found
ERROR -- : Error relocating /home/elixir/app/erts-13.1.5/bin/beam.smp: __truncdfhf2: symbol not found
ERROR -- : Error relocating /home/elixir/app/erts-13.1.5/bin/beam.smp: _ZSt28__throw_bad_array_new_lengthv: symbol not found
ERROR -- : Error relocating /home/elixir/app/erts-13.1.5/bin/beam.smp: pthread_getname_np: symbol not found
ERROR -- : Error relocating /home/elixir/app/erts-13.1.5/bin/beam.smp: __truncxfhf2: symbol not found
ERROR -- : For more information, review: https://deploy-docs.aptible.com/docs/http-health-checks-failed/
ERROR -- : FAILED: Wait up to 180s for containers in service cmd to respond to HTTP health checks
WARN -- : STARTING ROLLBACK: This operation encountered an error, Aptible is now attempting to rollback your infrastructure to its initial state.
INFO -- : COMPLETED (after 2.27s): Start logging containers for app-feature-1-cmd to log drain app-prod-v2
INFO -- : COMPLETED (after 2.27s): Start logging containers for app-feature-1-cmd to log drain log-tail-wgzfaq
INFO -- : ROLLING BACK: Start logging containers for app-feature-1-cmd to log drain app-prod-v2
INFO -- : ROLLING BACK: Start logging containers for app-feature-1-cmd to log drain log-tail-wgzfaq
INFO -- : ROLLING BACK: Configure IP filtering for endpoint app-48362.on-aptible.com
If we go back to the 1.12 it works fine.
Is there any new dependency I need to add, or any odd behavior with Elixir 1.14 images?
Extra info:
- We use aptible as our infra solution where the application runs
- CircleCI was always our solution to build the CI/CD flow
Thanks ahead!