Skip to content
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

include ERTS challenges after upgrade to Elixir 1.9 #716

Open
xpdf opened this issue Nov 12, 2019 · 0 comments
Open

include ERTS challenges after upgrade to Elixir 1.9 #716

xpdf opened this issue Nov 12, 2019 · 0 comments

Comments

@xpdf
Copy link

xpdf commented Nov 12, 2019

Steps to reproduce

Upgraded to Elixir 1.9 and Distillery 2.1.1
Build release on CentOS7.
include ERTS
deploy into Container with same release of CentOS7
application will not start

Verbose Logs

Paste the output of the release command you ran with the --verbose flag
below in the summary tags (this helps keep the issue easy to navigate):

[root@7dadb070fa58 2019.911.9120807]#  DEBUG_BOOT=true ./transport_api.sh foreground
bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
+1573573106 unset CDPATH
+1573573106 ERL_OPTS=
+1573573106 RUN_ERL_ENV=
+1573573106 DISTILLERY_VSN=2.1.1
+1573573106 export ERL_OPTS
+1573573106 export RUN_ERL_ENV
+1573573106 export DISTILLERY_VSN
+1573573106 uname
+1573573106 grep -q Darwin
++1573573106 readlink -f ./transport_api.sh
+1573573106 SCRIPT=/app/releases/2019.911.9120807/transport_api.sh
+1573573106 export ESCRIPT_NAME
+1573573106 ESCRIPT_NAME=/app/releases/2019.911.9120807/transport_api.sh
++1573573106 dirname /app/releases/2019.911.9120807/transport_api.sh
+1573573106 SCRIPT_DIR=/app/releases/2019.911.9120807
+++1573573106 dirname /app/releases/2019.911.9120807
++1573573106 dirname /app/releases
+1573573106 RELEASE_ROOT_DIR=/app
+1573573106 REL_DIR=/app/releases/
+1573573106 export REL_DIR
+1573573106 RELEASE_LIBEXEC_DIR=/app/releases/2019.911.9120807/libexec
+1573573106 CONSOLIDATED_DIR=/app/lib/-/consolidated
+1573573106 export CONSOLIDATED_DIR
+1573573106 START_ERL_DATA=/app/releases/start_erl.data
+1573573106 export START_ERL_DATA
+1573573106 . /app/releases/2019.911.9120807/libexec/readlink.sh
++1573573106 set -e
++1573573106 '[' '!' -z true ']'
++1573573106 set +x
+1573573106 . /app/releases/2019.911.9120807/libexec/logger.sh
++1573573106 set -e
++1573573106 '[' '!' -z true ']'
++1573573106 set +x
+1573573106 . /app/releases/2019.911.9120807/libexec/erts.sh
++1573573106 set -e
++1573573106 code_paths=()
+++1573573106 erl -noshell -eval 'io:format("~s~n~s~n", [code:root_dir(), erlang:system_info(version)]).' -s erlang halt
++++1573573106 whereis_erts_bin
++++1573573106 '[' -z '' ']'
++++1573573106 set +e
++++++1573573106 type -P erl
+++++1573573106 dirname ''
++++1573573106 __erts_bin=.
++++1573573106 set -e
++++1573573106 echo .
+++1573573106 __bin=.
+++1573573106 '[' -z . ']'
+++1573573106 __erl=./erl
+++1573573106 __boot_provided=0
+++1573573106 grep '\-boot '
+++1573573106 echo -noshell -eval 'io:format("~s~n~s~n", [code:root_dir(), erlang:system_info(version)]).' -s erlang halt
+++1573573106 __erts_included=0
+++1573573106 [[ ./erl =~ ^/app ]]
+++1573573106 '[' 0 -eq 1 ']'
+++1573573106 '[' 0 -eq 1 ']'
+++1573573106 '[' 0 -eq 0 ']'
+++1573573106 ./erl -boot start_clean -pa  ***snip*** /app/lib/transport_api-2019.911.9120807/consolidated -noshell -eval 'io:format("~s~n~s~n", [code:root_dir(), erlang:system_info(version)]).' -s erlang halt
/app/releases/2019.911.9120807/libexec/erts.sh: line 99: ./erl: No such file or directory
++1573573106 __info=
++1573573106 fail 'Unusable Erlang runtime system! This is likely due to being compiled for another system than the host is running'
++1573573106 printf '%s\n' 'Unusable Erlang runtime system! This is likely due to being compiled for another system than the host is running'
Unusable Erlang runtime system! This is likely due to being compiled for another system than the host is running
++1573573106 exit 1

Description of issue

  • Expected the release to work as previously under Elixir 1.8 / Distillery 2.0
  • What version of Distillery? 2.1.1
  • What OS, Erlang/Elixir versions are you seeing this issue on? CentOS7 / ERTS 10.5.3 / Elixir 1.9
  • If possible, also provide your rel/config.exs, as it is often
    my first troubleshooting question, and you'll save us both time :)

environment :internaltest do
set include_erts: true

set include_system_libs: false

set include_src: false
set cookie: :"******************"
set pre_start_hooks: "rel/hooks/pre_start"
set post_start_hooks: "rel/hooks/post_start"
end

  • Is there documentation that says one thing, but Distillery does
    another? If so, please link the doc here so it can be updated if
    it's a documentation issue, or so that the fix can be based around
    what's documented.
  • If this is a runtime configuration issue, please also provide your config file
    (with any sensitive information stripped of course). This is almost
    always necessary to understand why some configuration may not be working.

N.B.
I added three lines to my Dockerfile and the release ran as expected:
ENV REL_NAME transport_api
ENV REL_VSN ${VERSION}
ENV ERTS_VSN 10.5.3

If you do not provide the above information and I need it to help troubleshoot, it may delay things significantly,
as I will have to ask you for all of these things anyway. Help me help you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant