[erlang-questions] gen_fsm crashes
Ken Robinson
kenrobinsonster@REDACTED
Tue Jun 8 16:12:55 CEST 2010
Hi All,
Inspecting the gen_fsm.erl code from std_lib, it has a main
loop(Parent, Name, StateName, StateData, Mod, Timeout, Debug) method.
Appears one can have a bad receive timeout value. Need to now see what
is a good way to track down that value. I see that Debug has options
like trace and log. I am now trying to start up the application so
these Debug options are active.
Ken.
On Tue, Jun 1, 2010 at 11:55 PM, kenrobinson <kenrobinsonster@REDACTED> wrote:
> Hi All,
> This being my first post to this list, please feel free to correct any
> mistakes I make on the group etiquette on posts.
>
> I am running a supervisor which uses the standard restart strategy.
> Here is a snippet from my .app file covering the gen_fsm which
> crashes.
> <snip>
> {transport_tx_fsm, %% tag
> {transport_tx_fsm, start_link, []},
> permanent,
> 10000,
> worker,
> [transport_tx_fsm]},
> </snip>
>
> I start up using the following command line:
> erl -pa test ebin priv -sname ken1 -boot start_sasl
>
> I load using application:load(jaus) and application:start(jaus). It
> starts correctly.
>
> I also load some test code using l(transport_tx_fsm_test) and fire off
> a message to transport_tx_fsm. Test code is sent to it like so:
> gen_fsm:send_event(transport_tx_fsm, {send, SR}),
>
> After it crashes, it appears to restart and process the message (see
> below).
>
> My question is what does the bad timeout value signify where I haven't
> started the gen_fsm with a timeout value?
> regards,
> Ken
>
> =CRASH REPORT==== 30-May-2010::23:54:53 ===
> crasher:
> initial call: transport_tx_fsm:init/1
> pid: <0.103.0>
> registered_name: transport_tx_fsm
> exception error: bad receive timeout value
> in function gen_fsm:loop/7
> ancestors: [jaus_supervisor,<0.53.0>]
> messages: []
> links: [<0.61.0>]
> dictionary: []
> trap_exit: false
> status: running
> heap_size: 377
> stack_size: 24
> reductions: 476
> neighbours:
>
> =SUPERVISOR REPORT==== 30-May-2010::23:54:53 ===
> Supervisor: {local,jaus_supervisor}
> Context: child_terminated
> Reason: timeout_value
> Offender: [{pid,<0.103.0>},
> {name,transport_tx_fsm},
> {mfa,{transport_tx_fsm,start_link,[]}},
> {restart_type,permanent},
> {shutdown,10000},
> {child_type,worker}]
>
> 23:54:53.896740 2010-05-30 [info] Called init message in
> transport_tx_fsm
>
> 23:54:53.896821 2010-05-30 [info] handle_info udp args
> ClientSocket #Port<0.1353>
> Host {127,0,0,1}
> Port 47761
> Data <<2,0,128,0,192,3,2,1,0,6,5,64,0,1,1,19,0>>
> State {state}
>
>
> =PROGRESS REPORT==== 30-May-2010::23:54:53 ===
> supervisor: {local,jaus_supervisor}
> started: [{pid,<0.105.0>},
> {name,transport_tx_fsm},
> {mfa,{transport_tx_fsm,start_link,[]}},
> {restart_type,permanent},
> {shutdown,10000},
> {child_type,worker}]
> 23:54:53.901490 2010-05-30 [info] unwrap arg
> <<2,0,128,0,192,3,2,1,0,6,5,64,0,1,1,19,0>>
>
> ________________________________________________________________
> erlang-questions (at) erlang.org mailing list.
> See http://www.erlang.org/faq.html
> To unsubscribe; mailto:erlang-questions-unsubscribe@REDACTED
>
>
More information about the erlang-questions
mailing list