gen_fsm crashes

kenrobinson <>
Tue Jun 1 15:55:47 CEST 2010


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>>


More information about the erlang-questions mailing list