1
votes

I have a system created according http://www.erlang.org/doc/system_principles/create_target.html
which includes crypto application.

I can boot it, but after I add '-mode embedded' to bin/start it seems that something does not start anymore.

I am stuck, how do I investigate? I also added -sname and -setcookie to bin/start, when I remove -mode embedded system starts, application works, I can connect to it using distributed erlang technique. But with embedded it does not interact at all.

The smallest test case is to apply the following patch to the example app from https://github.com/basho/rebar/wiki/Release-handling Once you 'rebar generate' and start it, you won't be able to connect to its erlang vm. Also it does not stop gracefully. Any ideas?

diff --git a/rel/reltool.config b/rel/reltool.config
index 0c26333..ba4bd35 100644
--- a/rel/reltool.config
+++ b/rel/reltool.config
@@ -6,7 +6,6 @@
          kernel,
          stdlib,
          sasl,
-         crypto,
          test
         ]},
          {rel, "start_clean", "",
@@ -24,7 +23,6 @@
        {app, sasl,   [{incl_cond, include}]},
        {app, stdlib, [{incl_cond, include}]},
        {app, kernel, [{incl_cond, include}]},
-       {app, crypto, [{incl_cond, include}]},
        {app, test, [{incl_cond, include}]}
       ]}.
1

1 Answers

0
votes

In embedded mode, all code is loaded during system start-up according to the boot script. (Code can also be loaded later by explicitly ordering the code server to do so).

I think you may forgot to to load some library modules.

For debug erl, do you use +v now?

+V

Makes the emulator print out its version number.

**> +v

**Verbose**.**

How about to use rebar (rebar generation) to do the same thing (release operation)? Rebar will generate the same kind of files for you automatically. You can compare these files with your files and find out the error. especially the boot script.