Closed vraravam closed 5 years ago
Is there an application called standard in your project or its dependencies?
@bitwalker - I have shared the repo url in the above OP. As you can see, no, there isn't any application called "standard".
I was able to clone your repo and run the app via release no problem. Can you try with master and report back? I'm going to close this for now, but if the issue persists, feel free to reopen.
@bitwalker : unfortunately same issue still persists. I am not sure if this is an erlang/elixir installation problem - since I have the same steps for language installation as documented in the SYSTEM_PREREQUISITES.md
file. I have tried with a complete reinstall of asdf
and the language, etc. as well earlier.
I'm running almost the exact same setup, so while it could be an install issue, I'm more inclined to suspect something environmental that is causing this, can you paste the output of running the release with DEBUG_BOOT
exported in the environment? That may help pin down what is going on.
Full output with DEBUG_BOOT
:
➜ phoenix14_starter git:(master) DEBUG_BOOT=true DATABASE_URL="postgres://localhost/phoenix14_starter_dev" DOMAIN_NAME="localhost" PORT=4000 _build/prod/rel/phoenix14_starter/bin/phoenix14_starter foregroun
+1547880362 export TERM=xterm-256color
+1547880362 TERM=xterm-256color
+1547880362 '[' xterm-256color = dumb ']'
+1547880362 exec /Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/releases/0.1.0/phoenix14_starter.sh foreground
+1547880362 unset CDPATH
+1547880362 REL_NAME=phoenix14_starter
+1547880362 REL_VSN=0.1.0
+1547880362 ERL_OPTS=
+1547880362 RUN_ERL_ENV=
+1547880362 ERTS_VSN=10.2.1
+1547880362 DISTILLERY_VSN=2.0.12
+1547880362 export REL_NAME
+1547880362 export REL_VSN
+1547880362 export ERL_OPTS
+1547880362 export RUN_ERL_ENV
+1547880362 export USE_HOST_ERTS
+1547880362 export ERTS_VSN
+1547880362 export DISTILLERY_VSN
+1547880362 uname
+1547880362 grep -q Darwin
+1547880362 command -v greadlink
++1547880362 greadlink -f /Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/releases/0.1.0/phoenix14_starter.sh
+1547880362 SCRIPT=/Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/releases/0.1.0/phoenix14_starter.sh
+1547880362 export ESCRIPT_NAME
+1547880362 ESCRIPT_NAME=/Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/releases/0.1.0/phoenix14_starter.sh
++1547880362 dirname /Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/releases/0.1.0/phoenix14_starter.sh
+1547880362 SCRIPT_DIR=/Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/releases/0.1.0
+1547880362 RELEASE_ROOT_DIR=/Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter
+1547880362 REL_DIR=/Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/releases/0.1.0
+1547880362 export REL_DIR
+1547880362 RELEASE_LIBEXEC_DIR=/Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/releases/0.1.0/libexec
+1547880362 CONSOLIDATED_DIR=/Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/lib/phoenix14_starter-0.1.0/consolidated
+1547880362 export CONSOLIDATED_DIR
+1547880362 START_ERL_DATA=/Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/releases/start_erl.data
+1547880362 export START_ERL_DATA
+1547880362 . /Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/releases/0.1.0/libexec/readlink.sh
++1547880362 set -e
++1547880362 '[' '!' -z true ']'
++1547880362 set +x
+1547880362 . /Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/releases/0.1.0/libexec/logger.sh
++1547880362 set -e
++1547880362 '[' '!' -z true ']'
++1547880362 set +x
+1547880362 . /Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/releases/0.1.0/libexec/erts.sh
++1547880362 set -e
++1547880362 code_paths=()
+++1547880362 erl -noshell -eval 'io:format("~s~n~s~n", [code:root_dir(), erlang:system_info(version)]).' -s erlang halt
++++1547880362 whereis_erts_bin
++++1547880362 '[' -z 10.2.1 ']'
++++1547880362 '[' -z '' ']'
++++1547880362 __erts_dir=/Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/erts-10.2.1
++++1547880362 '[' -d /Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/erts-10.2.1 ']'
++++1547880362 echo /Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/erts-10.2.1/bin
+++1547880362 __bin=/Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/erts-10.2.1/bin
+++1547880362 '[' -z /Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/erts-10.2.1/bin ']'
+++1547880362 __erl=/Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/erts-10.2.1/bin/erl
+++1547880362 __boot_provided=0
+++1547880362 echo -noshell -eval 'io:format("~s~n~s~n", [code:root_dir(), erlang:system_info(version)]).' -s erlang halt
+++1547880362 grep '\-boot '
+++1547880362 __erts_included=0
+++1547880362 [[ /Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/erts-10.2.1/bin/erl =~ ^/Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter ]]
+++1547880362 __erts_included=1
+++1547880362 '[' 1 -eq 1 ']'
+++1547880362 '[' 0 -eq 1 ']'
+++1547880362 '[' 1 -eq 1 ']'
+++1547880362 /Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/erts-10.2.1/bin/erl -boot_var ERTS_LIB_DIR /Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/lib -boot /Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/bin/start_clean -noshell -eval 'io:format("~s~n~s~n", [code:root_dir(), erlang:system_info(version)]).' -s erlang halt
++1547880363 __info='/Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter
10.2.1'
++1547880363 export ROOTDIR
+++1547880363 echo '/Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter
10.2.1'
+++1547880363 head -n1
++1547880363 ROOTDIR=/Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter
++1547880363 export ERTS_VSN
++1547880363 '[' -z 10.2.1 ']'
+++1547880363 echo '/Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter
10.2.1'
+++1547880363 tail -n1
++1547880363 ERTS_VSN=10.2.1
++1547880363 export ERTS_DIR
++1547880363 ERTS_DIR=/Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/erts-10.2.1
++1547880363 export BINDIR
++1547880363 BINDIR=/Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/erts-10.2.1/bin
++1547880363 export ERTS_LIB_DIR
+++1547880363 readlink_f /Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/erts-10.2.1/../lib
+++1547880363 uname
+++1547880363 grep -q Darwin
+++1547880363 command -v greadlink
+++1547880363 greadlink -f /Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/erts-10.2.1/../lib
++1547880363 ERTS_LIB_DIR=/Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/lib
++1547880363 export EMU=beam
++1547880363 EMU=beam
++1547880363 export PROGNAME=erl
++1547880363 PROGNAME=erl
++1547880363 __set_code_paths
++1547880363 '[' 0 -eq 0 ']'
++1547880363 code_paths=()
+++1547880363 __rel_apps
+++1547880363 __releases=/Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/releases/RELEASES
+++1547880363 __vsn=0.1.0
++++1547880363 sed -E -n '/\{release,[^,]*,"0.1.0"/,/[^po]*(permanent|old)}/p' /Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/releases/RELEASES
+++1547880363 __rel='[{release,"phoenix14_starter","0.1.0","10.2.1",
[{phoenix_ecto,"4.0.0","./lib/phoenix_ecto-4.0.0"},
{plug_crypto,"1.0.0","./lib/plug_crypto-1.0.0"},
{kernel,"6.2","./lib/kernel-6.2"},
{ranch,"1.7.1","./lib/ranch-1.7.1"},
{cowlib,"2.7.0","./lib/cowlib-2.7.0"},
{cowboy,"2.6.1","./lib/cowboy-2.6.1"},
{plug_cowboy,"2.0.1","./lib/plug_cowboy-2.0.1"},
{artificery,"0.2.6","./lib/artificery-0.2.6"},
{distillery,"2.0.12","./lib/distillery-2.0.12"},
{connection,"1.0.4","./lib/connection-1.0.4"},
{db_connection,"2.0.3","./lib/db_connection-2.0.3"},
{postgrex,"0.14.1","./lib/postgrex-0.14.1"},
{eex,"1.8.0","./lib/eex-1.8.0"},
{phoenix,"1.4.0","./lib/phoenix-1.4.0"},
{mime,"1.3.1","./lib/mime-1.3.1"},
{plug,"1.7.1","./lib/plug-1.7.1"},
{uuid,"1.1.8","./lib/uuid-1.1.8"},
{runtime_tools,"1.13.1","./lib/runtime_tools-1.13.1"},
{stdlib,"3.7","./lib/stdlib-3.7"},
{phoenix_pubsub,"1.1.1","./lib/phoenix_pubsub-1.1.1"},
{poison,"3.1.0","./lib/poison-3.1.0"},
{ecto,"3.0.5","./lib/ecto-3.0.5"},
{crypto,"4.4","./lib/crypto-4.4"},
{phoenix_html,"2.13.0","./lib/phoenix_html-2.13.0"},
{certifi,"2.4.2","./lib/certifi-2.4.2"},
{metrics,"1.0.1","./lib/metrics-1.0.1"},
{ssl_verify_fun,"1.1.4","./lib/ssl_verify_fun-1.1.4"},
{mimerl,"1.0.2","./lib/mimerl-1.0.2"},
{unicode_util_compat,"0.4.1","./lib/unicode_util_compat-0.4.1"},
{idna,"6.0.0","./lib/idna-6.0.0"},
{ssl,"9.1.1","./lib/ssl-9.1.1"},
{public_key,"1.6.4","./lib/public_key-1.6.4"},
{asn1,"5.0.8","./lib/asn1-5.0.8"},
{hackney,"1.14.3","./lib/hackney-1.14.3"},
{combine,"0.10.0","./lib/combine-0.10.0"},
{base64url,"0.0.1","./lib/base64url-0.0.1"},
{jose,"1.8.4","./lib/jose-1.8.4"},
{guardian,"1.1.1","./lib/guardian-1.1.1"},
{bamboo,"1.1.0","./lib/bamboo-1.1.0"},
{telemetry,"0.2.0","./lib/telemetry-0.2.0"},
{ecto_sql,"3.0.3","./lib/ecto_sql-3.0.3"},
{tzdata,"0.5.19","./lib/tzdata-0.5.19"},
{timex,"3.4.2","./lib/timex-3.4.2"},
{comeonin,"4.1.1","./lib/comeonin-4.1.1"},
{bcrypt_elixir,"1.1.1","./lib/bcrypt_elixir-1.1.1"},
{decimal,"1.6.0","./lib/decimal-1.6.0"},
{jason,"1.1.2","./lib/jason-1.1.2"},
{gettext,"0.16.1","./lib/gettext-0.16.1"},
{logger,"1.8.0","./lib/logger-1.8.0"},
{phoenix14_starter,"0.1.0","./lib/phoenix14_starter-0.1.0"},
{compiler,"7.3","./lib/compiler-7.3"},
{sasl,"3.3","./lib/sasl-3.3"},
{iex,"1.8.0","./lib/iex-1.8.0"},
{mix,"1.8.0","./lib/mix-1.8.0"},
{elixir,"1.8.0","./lib/elixir-1.8.0"}],
permanent}].'
+++1547880363 echo '[{release,"phoenix14_starter","0.1.0","10.2.1",
[{phoenix_ecto,"4.0.0","./lib/phoenix_ecto-4.0.0"},
{plug_crypto,"1.0.0","./lib/plug_crypto-1.0.0"},
{kernel,"6.2","./lib/kernel-6.2"},
{ranch,"1.7.1","./lib/ranch-1.7.1"},
{cowlib,"2.7.0","./lib/cowlib-2.7.0"},
{cowboy,"2.6.1","./lib/cowboy-2.6.1"},
{plug_cowboy,"2.0.1","./lib/plug_cowboy-2.0.1"},
{artificery,"0.2.6","./lib/artificery-0.2.6"},
{distillery,"2.0.12","./lib/distillery-2.0.12"},
{connection,"1.0.4","./lib/connection-1.0.4"},
{db_connection,"2.0.3","./lib/db_connection-2.0.3"},
{postgrex,"0.14.1","./lib/postgrex-0.14.1"},
{eex,"1.8.0","./lib/eex-1.8.0"},
{phoenix,"1.4.0","./lib/phoenix-1.4.0"},
{mime,"1.3.1","./lib/mime-1.3.1"},
{plug,"1.7.1","./lib/plug-1.7.1"},
{uuid,"1.1.8","./lib/uuid-1.1.8"},
{runtime_tools,"1.13.1","./lib/runtime_tools-1.13.1"},
+++1547880363 grep -E '[{][A-Za-z_0-9]*,\"[0-9.]*[A-Za-z0-9.\_\+\-]*\"'
{stdlib,"3.7","./lib/stdlib-3.7"},
{phoenix_pubsub,"1.1.1","./lib/phoenix_pubsub-1.1.1"},
{poison,"3.1.0","./lib/poison-3.1.0"},
{ecto,"3.0.5","./lib/ecto-3.0.5"},
{crypto,"4.4","./lib/crypto-4.4"},
{phoenix_html,"2.13.0","./lib/phoenix_html-2.13.0"},
{certifi,"2.4.2","./lib/certifi-2.4.2"},
{metrics,"1.0.1","./lib/metrics-1.0.1"},
{ssl_verify_fun,"1.1.4","./lib/ssl_verify_fun-1.1.4"},
{mimerl,"1.0.2","./lib/mimerl-1.0.2"},
{unicode_util_compat,"0.4.1","./lib/unicode_util_compat-0.4.1"},
{idna,"6.0.0","./lib/idna-6.0.0"},
{ssl,"9.1.1","./lib/ssl-9.1.1"},
{public_key,"1.6.4","./lib/public_key-1.6.4"},
{asn1,"5.0.8","./lib/asn1-5.0.8"},
{hackney,"1.14.3","./lib/hackney-1.14.3"},
{combine,"0.10.0","./lib/combine-0.10.0"},
+++1547880363 tail -n +2
{base64url,"0.0.1","./lib/base64url-0.0.1"},
{jose,"1.8.4","./lib/jose-1.8.4"},
{guardian,"1.1.1","./lib/guardian-1.1.1"},
{bamboo,"1.1.0","./lib/bamboo-1.1.0"},
{telemetry,"0.2.0","./lib/telemetry-0.2.0"},
{ecto_sql,"3.0.3","./lib/ecto_sql-3.0.3"},
{tzdata,"0.5.19","./lib/tzdata-0.5.19"},
{timex,"3.4.2","./lib/timex-3.4.2"},
{comeonin,"4.1.1","./lib/comeonin-4.1.1"},
{bcrypt_elixir,"1.1.1","./lib/bcrypt_elixir-1.1.1"},
{decimal,"1.6.0","./lib/decimal-1.6.0"},
{jason,"1.1.2","./lib/jason-1.1.2"},
{gettext,"0.16.1","./lib/gettext-0.16.1"},
{logger,"1.8.0","./lib/logger-1.8.0"},
{phoenix14_starter,"0.1.0","./lib/phoenix14_starter-0.1.0"},
{compiler,"7.3","./lib/compiler-7.3"},
{sasl,"3.3","./lib/sasl-3.3"},
{iex,"1.8.0","./lib/iex-1.8.0"},
{mix,"1.8.0","./lib/mix-1.8.0"},
{elixir,"1.8.0","./lib/elixir-1.8.0"}],
+++1547880363 sed '-es/"[^"]*$//' '-es/^[^a-z]*//' -es/,/-/ '-es/"//' '-es/","[^"]*$//'
permanent}].'
++1547880363 apps='standard input):2: [{phoenix_ecto-4.0.0
standard input):3: {plug_crypto-1.0.0
standard input):4: {kernel-6.2
standard input):5: {ranch-1.7.1
standard input):6: {cowlib-2.7.0
standard input):7: {cowboy-2.6.1
standard input):8: {plug_cowboy-2.0.1
standard input):9: {artificery-0.2.6
standard input):10: {distillery-2.0.12
standard input):11: {connection-1.0.4
standard input):12: {db_connection-2.0.3
standard input):13: {postgrex-0.14.1
standard input):14: {eex-1.8.0
standard input):15: {phoenix-1.4.0
standard input):16: {mime-1.3.1
standard input):17: {plug-1.7.1
standard input):18: {uuid-1.1.8
standard input):19: {runtime_tools-1.13.1
standard input):20: {stdlib-3.7
standard input):21: {phoenix_pubsub-1.1.1
standard input):22: {poison-3.1.0
standard input):23: {ecto-3.0.5
standard input):24: {crypto-4.4
standard input):25: {phoenix_html-2.13.0
standard input):26: {certifi-2.4.2
standard input):27: {metrics-1.0.1
standard input):28: {ssl_verify_fun-1.1.4
standard input):29: {mimerl-1.0.2
standard input):30: {unicode_util_compat-0.4.1
standard input):31: {idna-6.0.0
standard input):32: {ssl-9.1.1
standard input):33: {public_key-1.6.4
standard input):34: {asn1-5.0.8
standard input):35: {hackney-1.14.3
standard input):36: {combine-0.10.0
standard input):37: {base64url-0.0.1
standard input):38: {jose-1.8.4
standard input):39: {guardian-1.1.1
standard input):40: {bamboo-1.1.0
standard input):41: {telemetry-0.2.0
standard input):42: {ecto_sql-3.0.3
standard input):43: {tzdata-0.5.19
standard input):44: {timex-3.4.2
standard input):45: {comeonin-4.1.1
standard input):46: {bcrypt_elixir-1.1.1
standard input):47: {decimal-1.6.0
standard input):48: {jason-1.1.2
standard input):49: {gettext-0.16.1
standard input):50: {logger-1.8.0
standard input):51: {phoenix14_starter-0.1.0
standard input):52: {compiler-7.3
standard input):53: {sasl-3.3
standard input):54: {iex-1.8.0
standard input):55: {mix-1.8.0
standard input):56: {elixir-1.8.0'
++1547880363 for app in $apps
++1547880363 '[' -d /Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/lib/standard ']'
++1547880363 '[' -d /Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/lib/standard ']'
++1547880363 '[' -L /Users/vijay/dev/oss/phoenix14_starter/_build/prod/rel/phoenix14_starter/lib/standard ']'
++1547880363 fail 'Could not locate code path for standard!'
++1547880363 printf '%s\n' 'Could not locate code path for standard!'
Could not locate code path for standard!
++1547880363 exit 1
➜ phoenix14_starter git:(master)
ok - finally figured out the issue (though I dont know if/why this should be an issue):
The clue that I got was the beginning of the last few lines with standard input
. This is triggered by using some GREP_OPTIONS
in my shell session. I had noticed this a few days ago as well when I was grepping some env vars. Once I unset GREP_OPTIONS
, the phoenix codebase started working in release mode as intended. Woot!
BUT - the question now is why would stdin
cause this kind of a snafu with erlang/elixir code. Is this a bug? Would it be so fragile?
Steps to reproduce
I am trying to setup a phoenix 1.4 codebase (as a way to teach some colleagues), and I am incorporating
distillery
into it for releases. The codebase lives here: https://gitlab.com/avijayr/phoenix14_starter. Even though I followed the steps to incorporatedistillery
into it, the app does not start in production mode. The command-line incantations are:This was working a few days ago - and the only changes that I did was to upgrade some deps. (Since it is a codebase to learn, I rebased the changes into the appropriate previous commits unfortunately)
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):Description of issue
rel/config.exs
, as it is often my first troubleshooting question, and you'll save us both time :)use Mix.Releases.Config,
This sets the default release built by
mix release
For a full list of config options for both releases
and environments, visit https://hexdocs.pm/distillery/config/distillery.html
You may define one or more environments in this file,
an environment's settings will override those of a release
when building in that environment, this combination of release
and environment configuration is called a profile
environment :dev do
If you are running Phoenix, you should make sure that
server: true is set and the code reloader is disabled,
even in dev mode.
It is recommended that you build with MIX_ENV=prod and pass
the --env flag to Distillery explicitly if you want to use
dev mode.
set dev_mode: true set include_erts: false set cookie: :"e8]ic{oBPvOv${;J5{h1Z>c*PScTpm){4B&I8d`@rv2S?61NKeaOH[r]%H}9nD(&" end
environment :prod do set include_erts: true set include_src: false set cookie: :"X.H@yB_I0Ob:%ckp~atf/yvmn^C!]2[:6]3,e(y9e6DG`hV]gb&Df~ucij,,*&n5" set vm_args: "rel/vm.args" end
You may define one or more releases in this file.
If you have not set a default release, or selected one
when running
mix release
, the first release in the filewill be used by default
release :phoenix14_starter do set version: current_version(:phoenix14_starter) set applications: [ :runtime_tools ] end