Crashing after upgrade to Erlang 21 (edeliver, distillery)

I have some upgrade problems on Erlang 21.0.

The app is being compiled to release using Erlang 20.3 up to this point and everything works fine. When we upgraded the Erlang to 21.0 on both: the server and our release builder, the releases are still being built, but when we run them we get into a loop of Erlang VM crashing & being restarted:

Jun 22 07:24:57: Crash dump is being written to: erl_crash.dump…done
Jun 22 07:24:59: {“init terminating in do_boot”,{‘cannot get bootfile’,‘no_dot_erlang.boot’}}
Jun 22 07:24:59: init terminating in do_boot ({cannot get bootfile,no_dot_erlang.boot})
Jun 22 07:24:59: [1B blob data]

There appears to be very similar bug reported to distillery here: Custom tasks fail with Erlang/OTP 21 (nonexistent `no_dot_erlang.boot` file) · Issue #426 · bitwalker/distillery · GitHub

but I am actually unsure if this is Erlang’s, Elixir’s or distillery issue so maybe worth asking here if someone stumbled upon this and solved?

5 Likes

Distillery needs to be patched. The related relx patch for this change in Erlang may be useful https://github.com/erlware/relx/commit/78561dc7a812466aa1e8c9f36a6b48c7f7cc4195

3 Likes

Hi, i upgrade my server to erlang 21. before of this, edeliver worked well.

Now if i try the command
mix edeliver build release

it returns:
RELEASE BUILD OF S******P WAS SUCCESSFUL!

and if i launch the command:

mix edeliver deploy release to production

it returns:

DEPLOYED RELEASE TO PRODUCTION!

and if i launch:

mix edeliver start production
it returns:

response: init terminating in do_boot ({cannot get bootfile,no_dot_erlang.boot})

Crash dump is being written to: erl_crash.dump...done
init terminating in do_boot ({cannot get bootfile,no_dot_erlang.boot})

Crash dump is being written to: erl_crash.dump...done
init terminating in do_boot ({cannot get bootfile,no_dot_erlang.boot})

Crash dump is being written to: erl_crash.dump...done


START DONE!

opening my homepage site something is loaded e something not

launching
mix edeliver stop production
or
mix edeliver migrate production

i receive:

response: init terminating in do_boot ({cannot get bootfile,no_dot_erlang.boot})

Crash dump is being written to: erl_crash.dump...done
init terminating in do_boot ({cannot get bootfile,no_dot_erlang.boot})

Crash dump is being written to: erl_crash.dump...done
Node s*******p@127.0.0.1 is not running!

i tried to launch manually my application from server with:
s*******p/bin$ ./s******p foreground
and with this mode it works well…

how can i do for get the same result from edeliver?

Thanks

Pretty sure this thread is a duplicate of Crashing after upgrade to Erlang 21 (edeliver, distillery) and could be merged in.

Edit: post above merged into this thread.

2 Likes