[erlang-patches] Better printouts from AC in case of errors

Henrik Nord <>
Mon Jan 16 11:33:05 CET 2012


Hi Tomas


Thank you for the contribution!

I have included your patch in 'pu', (I will rebase it onto 'maint' and 
run it in 'pu')

On 01/15/2012 02:16 PM, Tomas Pihl wrote:
> I got fed up with those pesky little 'Kernel pid terminated' and I
> couldn't figure out what was going on, so I did some digging in
> application_master/supervisor and came up with the below patch.
>
> As IO for some reason is blocked during these early phases, the use of
> error_loggger is of no use so instead I send Reason up the chain and
> let application_controller use it. As can be seen from the below
> printouts, running with the patch makes it fairly easy to see the
> problem I'm having here (a missing dependency to SSL).
>
> No patch:
>
> Erlang R15B (erts-5.9) [source] [smp:8:8] [async-threads:5] [hipe]
> [kernel-poll:false]
>
> =INFO REPORT==== 15-Jan-2012::12:50:15 ===
>      application: topi
>      exited: {shutdown,{topi_app,start,[normal,[]]}}
>      type: permanent
> {"Kernel pid terminated",application_controller,"{application_start_failure,topi,{shutdown,{topi_app,start,[normal,[]]}}}"}
>
> Crash dump was written to: erl_crash.dump
> Kernel pid terminated (application_controller)
> ({application_start_failure,topi,{shutdown,{topi_app,start,[normal,[]]}}})
>
> And with the patch applied:
>
> Erlang R15B (erts-5.9) [source] [smp:8:8] [async-threads:5] [hipe]
> [kernel-poll:false]
>
> =INFO REPORT==== 15-Jan-2012::12:52:34 ===
>      application: topi
>      exited: {{undef,
>                   [{ssl,listen,
>                        [8043,
>                         [inet,
>                .
>                .
>                .
>      type: permanent
>
> {"Kernel pid terminated",application_controller,"{application_start_failure,topi,{{undef,[{ssl,listen,[8043,[inet,{ip,{0,0,0,0}},
> ....
>
> Crash dump was written to: erl_crash.dump
> Kernel pid terminated (application_controller)
> ({application_start_failure,topi,{{undef,[{ssl,listen,[8043,[inet,{ip,{0,0,0,0}},
> ...
>
>
> git fetch :dozepih/otp.git supervisor_pass_on_errors
>
> https://github.com/dozepih/otp/tree/supervisor_pass_on_errors
>
>    /topi
> _______________________________________________
> erlang-patches mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-patches

-- 
/Henrik Nord Erlang/OTP



More information about the erlang-patches mailing list