[erlang-questions] "Kernel pid terminated" error getting release to run (newbie)

Robert Raschke <>
Tue Feb 7 12:59:54 CET 2012


Looks like controller:start_link/0 failed in some way.

Robby

On Mon, Feb 6, 2012 at 11:32 PM, Ransom Richardson <>wrote:

>  I'm building my first non-trivial Erlang application. I've gotten it
> working in the shell. Now I'm trying to build a release using rebar. "rebar
> generate" succeeds, but when I try to run the application I get the error
> below. I'm trying to follow these tutorials:
>
> http://www.metabrew.com/article/erlang-rebar-tutorial-generating-releases-upgrades
>
> http://alancastro.org/2010/05/01/erlang-application-management-with-rebar.html
>
>  I have named both my application and my node "session". The error seems
> rather unhelpful, so any suggestions on how to debug are appreciated.
>
>  thanks,
> Ransom
>
>
>
>  :~/dev/talko/service/session$ ./rel/session/bin/session
> console
> Exec:
> /home/cocomo/dev/talko/service/session/rel/session/erts-5.9/bin/erlexec
> -boot /home/cocomo/dev/talko/service/session/rel/session/releases/1/session
> -mode embedded -config
> /home/cocomo/dev/talko/service/session/rel/session/releases/1/sys.config
> -args_file
> /home/cocomo/dev/talko/service/session/rel/session/releases/1/vm.args --
> console
> Root: /home/cocomo/dev/talko/service/session/rel/session
> Erlang R15B (erts-5.9) [source] [smp:2:2] [async-threads:0] [hipe]
> [kernel-poll:false]
>
>  1
> 2
>
>  =INFO REPORT==== 6-Feb-2012::18:15:15 ===
>     application: session
>     exited: {shutdown,{session_app,start,[normal,[]]}}
>     type: permanent
> Eshell V5.9  (abort with ^G)
> ()1> {"Kernel pid
> terminated",application_controller,"{application_start_failure,session,{shutdown,{session_app,start,[normal,[]]}}}"}
>
>  Crash dump was written to: erl_crash.dump
> Kernel pid terminated (application_controller)
> ({application_start_failure,session,{shutdown,{session_app,start,[normal,[]]}}})
>
>
>  FILE session_app.erl
>
>
>  -module(session_app).
>
>  -behaviour(application).
>
>  %% Application callbacks
> -export([start/0, start/2, stop/1]).
>
>  %% ===================================================================
> %% Application callbacks
> %% ===================================================================
>
>  %% start/0 is only to use for testing in the shell
> start() ->
>     {ok, Pid} = session_sup:start_link(),
>     unlink(Pid).
>
>  start(_StartType, _StartArgs) ->
>     session_sup:start_link().
>
>  stop(_State) ->
>     ok.
>
>
>
>  FILE session_sup.erl
>
>
>  -module(session_sup).
>
>  -behaviour(supervisor).
>
>  %% API
> -export([start_link/0]).
>
>  %% Supervisor callbacks
> -export([init/1]).
>
>  %% Helper macro for declaring children of supervisor
> -define(CHILD(I, Type), {I, {I, start_link, []}, permanent, 5000, Type,
> [I]}).
>
>  %% ===================================================================
> %% API functions
> %% ===================================================================
>
>  start_link() ->
>     supervisor:start_link({local, ?MODULE}, ?MODULE, []).
>
>  %% ===================================================================
> %% Supervisor callbacks
> %% ===================================================================
>
>  init([]) ->
>     Controller = ?CHILD(controller, worker),
>     {ok, { {one_for_one, 5, 10}, [Controller]} }.
>
>
>  FILE reltool.config
>
>
>  {sys, [
>        {lib_dirs, ["../../"]},
>        {erts, [{mod_cond, derived}, {app_file, strip}]},
>        {app_file, strip},
>        {rel, "session", "1",
>         [
>          kernel,
>          stdlib,
>          sasl,
>          session
>         ]},
>        {rel, "start_clean", "",
>         [
>          kernel,
>          stdlib
>         ]},
>        {boot_rel, "session"},
>        {profile, embedded},
>        {incl_cond, exclude},
>        {excl_archive_filters, [".*"]}, %% Do not archive built libs
>        {excl_sys_filters, ["^bin/.*", "^erts.*/bin/(dialyzer|typer)",
>                            "^erts.*/(doc|info|include|lib|man|src)"]},
>        {excl_app_filters, ["\.gitignore"]},
>        {app, sasl,   [{incl_cond, include}]},
>        {app, stdlib, [{incl_cond, include}]},
>        {app, kernel, [{incl_cond, include}]},
>        {app, session, [{incl_cond, include}]}
>       ]}.
>
>  {target_dir, "session"}.
>
>  {overlay, [
>            {mkdir, "log/sasl"},
>            {copy, "files/erl", "\{\{erts_vsn\}\}/bin/erl"},
>            {copy, "files/nodetool", "\{\{erts_vsn\}\}/bin/nodetool"},
>            {copy, "files/session", "bin/session"},
>            {copy, "files/sys.config",
> "releases/\{\{rel_vsn\}\}/sys.config"},
>            {copy, "files/session.cmd", "bin/session.cmd"},
>            {copy, "files/start_erl.cmd", "bin/start_erl.cmd"},
>            {copy, "files/vm.args", "releases/\{\{rel_vsn\}\}/vm.args"}
>           ]}.
>
>
>
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20120207/f47f444b/attachment.html>


More information about the erlang-questions mailing list