I'm looking through couch_server and couch_serv_sup, as an example for study while reading the Armstrong book on OTP.

I've added allow_remote_restart and admin passwords to my couch- dev.ini so that couch_httpd_msc_handlers calls couch_server:restart. When it sends the restart to couch_server_sup I get the stacks below. Debugging it I see that couch_server and the other children are terminated and couch seems to still behave okay. Why the exceptions? Is it just the message not being handled? Thanks and sorry if this is too newbie a question.

Bob


([EMAIL PROTECTED])6> [error] [<0.173.0>] ** Generic server couch_server terminating
** Last message in was remote_restart
** When Server state == {server,"/Users/bitdiddle/emacs/couchdb/tmp/ lib",
                         {concat,
                          {concat,
                           {concat,bos,{char_class,[{97,122}]}},
                           {kclosure,
                            {char_class,
[47,45,43,41,40,36,95,{48,57}, {97,122}]}}},
                          eos},
                         "100",4}
** Reason for termination ==
** {badarg,
       [{erlang,exit,[couch_server_sup,restart]},
        {couch_server,handle_call,
            [remote_restart,
             {<0.229.0>,#Ref<0.0.0.3189>},
             {server,"/Users/bitdiddle/emacs/couchdb/tmp/lib",
                 {concat,
                     {concat,
                         {concat,bos,{char_class,[{97,122}]}},
                         {kclosure,
                             {char_class,
[47,45,43,41,40,36,95,{48,57}, {97,122}]}}},
                     eos},
                 "100",4}]}]}

([EMAIL PROTECTED])6>
=ERROR REPORT==== 15-Nov-2008::07:53:50 ===
** Generic server couch_server terminating
** Last message in was remote_restart
** When Server state == {server,"/Users/bitdiddle/emacs/couchdb/tmp/ lib",
                         {concat,
                          {concat,
                           {concat,bos,{char_class,[{97,122}]}},
                           {kclosure,
                            {char_class,
[47,45,43,41,40,36,95,{48,57}, {97,122}]}}},
                          eos},
                         "100",4}
** Reason for termination ==
** {badarg,
       [{erlang,exit,[couch_server_sup,restart]},
        {couch_server,handle_call,
            [remote_restart,
             {<0.229.0>,#Ref<0.0.0.3189>},
             {server,"/Users/bitdiddle/emacs/couchdb/tmp/lib",
                 {concat,
                     {concat,
                         {concat,bos,{char_class,[{97,122}]}},
                         {kclosure,
                             {char_class,
[47,45,43,41,40,36,95,{48,57}, {97,122}]}}},
                     eos},
                 "100",4}]}]}
([EMAIL PROTECTED])6> [error] [<0.173.0>] {error_report,<0.28.0>,
 {<0.173.0>,crash_report,
  [[{pid,<0.173.0>},
    {registered_name,couch_server},
    {error_info,
     {exit,
      {badarg,
       [{erlang,exit,[couch_server_sup,restart]},
        {couch_server,handle_call,
         [remote_restart,
          {<0.229.0>,#Ref<0.0.0.3189>},
          {server,"/Users/bitdiddle/emacs/couchdb/tmp/lib",
           {concat,
            {concat,
             {concat,bos,{char_class,[{97,122}]}},
{kclosure,{char_class,[47,45,43,41,40,36,95,{48,57}, {97,122}]}}},
            eos},
           "100",4}]}]},
      [{gen_server,terminate,6},{proc_lib,init_p_do_apply,3}]}},
    {initial_call,{couch_server,init,['Argument__1']}},
    {ancestors,[<0.55.0>,couch_server_sup,<0.1.0>]},
    {messages,[]},
    {links,[<0.196.0>,<0.200.0>,<0.206.0>,<0.188.0>,<0.55.0>]},
    {dictionary,[]},
    {trap_exit,true},
    {status,running},
    {heap_size,2584},
    {stack_size,23},
    {reductions,25027}],
   [{neighbour,
     [{pid,<0.198.0>},
      {registered_name,[]},
      {initial_call,{couch_stream,init,['Argument__1']}},
      {current_function,{gen_server,loop,6}},
      {ancestors,
[<0.197.0>,<0.196.0>,couch_server,<0.55.0>,couch_server_sup,<0.1.0>]},
      {messages,[]},
      {links,[<0.197.0>]},
      {dictionary,[]},
      {trap_exit,false},
      {status,waiting},
      {heap_size,233},
      {stack_size,9},
      {reductions,42}]},
    {neighbour,
     [{pid,<0.197.0>},
      {registered_name,[]},
      {initial_call,{couch_db_updater,init,['Argument__1']}},
      {current_function,{gen_server,loop,6}},
{ancestors, [<0.196.0>,couch_server,<0.55.0>,couch_server_sup,<0.1.0>]},
      {messages,[]},
      {links,[<0.196.0>,<0.198.0>,<0.195.0>]},
      {dictionary,[]},
      {trap_exit,false},
      {status,waiting},
      {heap_size,1597},
      {stack_size,9},
      {reductions,80382}]},
    {neighbour,
     [{pid,<0.199.0>},
      {registered_name,[]},
      {initial_call,{couch_file,init,['Argument__1']}},
      {current_function,{gen_server,loop,6}},
      {ancestors,[couch_server,<0.55.0>,couch_server_sup,<0.1.0>]},
      {messages,[]},
      {links,[#Port<0.3317>,<0.201.0>]},
      {dictionary,[{<0.200.0>,{#Ref<0.0.0.1980>,1}}]},
      {trap_exit,false},
      {status,waiting},
      {heap_size,233},
      {stack_size,9},
      {reductions,1100}]},
    {neighbour,
     [{pid,<0.202.0>},
      {registered_name,[]},
      {initial_call,{couch_stream,init,['Argument__1']}},
      {current_function,{gen_server,loop,6}},
      {ancestors,
[<0.201.0>,<0.200.0>,couch_server,<0.55.0>,couch_server_sup,<0.1.0>]},
      {messages,[]},
      {links,[<0.201.0>]},
      {dictionary,[]},
      {trap_exit,false},
      {status,waiting},
      {heap_size,233},
      {stack_size,9},
      {reductions,42}]},
    {neighbour,
     [{pid,<0.201.0>},
      {registered_name,[]},
      {initial_call,{couch_db_updater,init,['Argument__1']}},
      {current_function,{gen_server,loop,6}},
{ancestors, [<0.200.0>,couch_server,<0.55.0>,couch_server_sup,<0.1.0>]},
      {messages,[]},
      {links,[<0.200.0>,<0.202.0>,<0.199.0>]},
      {dictionary,[]},
      {trap_exit,false},
      {status,waiting},
      {heap_size,1597},
      {stack_size,9},
      {reductions,80382}]},
    {neighbour,
     [{pid,<0.205.0>},
      {registered_name,[]},
      {initial_call,{couch_file,init,['Argument__1']}},
      {current_function,{gen_server,loop,6}},
      {ancestors,[couch_server,<0.55.0>,couch_server_sup,<0.1.0>]},
      {messages,[]},
      {links,[#Port<0.3326>,<0.207.0>]},
      {dictionary,[{<0.206.0>,{#Ref<0.0.0.2233>,1}}]},
      {trap_exit,false},
      {status,waiting},
      {heap_size,2584},
      {stack_size,9},
      {reductions,23700}]},
    {neighbour,
     [{pid,<0.208.0>},
      {registered_name,[]},
      {initial_call,{couch_stream,init,['Argument__1']}},
      {current_function,{gen_server,loop,6}},
      {ancestors,
[<0.207.0>,<0.206.0>,couch_server,<0.55.0>,couch_server_sup,<0.1.0>]},
      {messages,[]},
      {links,[<0.207.0>]},
      {dictionary,[]},
      {trap_exit,false},
      {status,waiting},
      {heap_size,610},
      {stack_size,9},
      {reductions,394}]},
    {neighbour,
     [{pid,<0.207.0>},
      {registered_name,[]},
      {initial_call,{couch_db_updater,init,['Argument__1']}},
      {current_function,{gen_server,loop,6}},
{ancestors, [<0.206.0>,couch_server,<0.55.0>,couch_server_sup,<0.1.0>]},
      {messages,[]},
      {links,[<0.206.0>,<0.208.0>,<0.205.0>]},
      {dictionary,[]},
      {trap_exit,false},
      {status,waiting},
      {heap_size,2584},
      {stack_size,9},
      {reductions,364483}]},
    {neighbour,
     [{pid,<0.187.0>},
      {registered_name,[]},
      {initial_call,{couch_file,init,['Argument__1']}},
      {current_function,{gen_server,loop,6}},
      {ancestors,[couch_server,<0.55.0>,couch_server_sup,<0.1.0>]},
      {messages,[]},
      {links,[#Port<0.3311>,<0.189.0>]},
      {dictionary,[{<0.188.0>,{#Ref<0.0.0.1911>,1}}]},
      {trap_exit,false},
      {status,waiting},
      {heap_size,377},
      {stack_size,9},
      {reductions,1179}]},
    {neighbour,
     [{pid,<0.190.0>},
      {registered_name,[]},
      {initial_call,{couch_stream,init,['Argument__1']}},
      {current_function,{gen_server,loop,6}},
      {ancestors,
[<0.189.0>,<0.188.0>,couch_server,<0.55.0>,couch_server_sup,<0.1.0>]},
      {messages,[]},
      {links,[<0.189.0>]},
      {dictionary,[]},
      {trap_exit,false},
      {status,waiting},
      {heap_size,233},
      {stack_size,9},
      {reductions,42}]},
    {neighbour,
     [{pid,<0.189.0>},
      {registered_name,[]},
      {initial_call,{couch_db_updater,init,['Argument__1']}},
      {current_function,{gen_server,loop,6}},
{ancestors, [<0.188.0>,couch_server,<0.55.0>,couch_server_sup,<0.1.0>]},
      {messages,[]},
      {links,[<0.188.0>,<0.190.0>,<0.187.0>]},
      {dictionary,[]},
      {trap_exit,false},
      {status,waiting},
      {heap_size,610},
      {stack_size,9},
      {reductions,80193}]},
    {neighbour,
     [{pid,<0.188.0>},
      {registered_name,[]},
      {initial_call,{couch_db,init,['Argument__1']}},
      {current_function,{gen_server,loop,6}},
      {ancestors,[couch_server,<0.55.0>,couch_server_sup,<0.1.0>]},
      {messages,[]},
      {links,[<0.173.0>,<0.189.0>]},
      {dictionary,[]},
      {trap_exit,false},
      {status,waiting},
      {heap_size,610},
      {stack_size,9},
      {reductions,197}]},
    {neighbour,
     [{pid,<0.206.0>},
      {registered_name,[]},
      {initial_call,{couch_db,init,['Argument__1']}},
      {current_function,{gen_server,loop,6}},
      {ancestors,[couch_server,<0.55.0>,couch_server_sup,<0.1.0>]},
      {messages,[]},
      {links,[<0.173.0>,<0.207.0>]},
      {dictionary,[]},
      {trap_exit,false},
      {status,waiting},
      {heap_size,2584},
      {stack_size,9},
      {reductions,1024}]},
    {neighbour,
     [{pid,<0.200.0>},
      {registered_name,[]},
      {initial_call,{couch_db,init,['Argument__1']}},
      {current_function,{gen_server,loop,6}},
      {ancestors,[couch_server,<0.55.0>,couch_server_sup,<0.1.0>]},
      {messages,[]},
      {links,[<0.173.0>,<0.201.0>]},
      {dictionary,[]},
      {trap_exit,false},
      {status,waiting},
      {heap_size,377},
      {stack_size,9},
      {reductions,147}]},
    {neighbour,
     [{pid,<0.196.0>},
      {registered_name,[]},
      {initial_call,{couch_db,init,['Argument__1']}},
      {current_function,{gen_server,loop,6}},
      {ancestors,[couch_server,<0.55.0>,couch_server_sup,<0.1.0>]},
      {messages,[]},
      {links,[<0.173.0>,<0.197.0>]},
      {dictionary,[]},
      {trap_exit,false},
      {status,waiting},
      {heap_size,377},
      {stack_size,9},
      {reductions,155}]}]]}}
([EMAIL PROTECTED])6> [error] [<0.55.0>] {error_report,<0.28.0>,
 {<0.55.0>,supervisor_report,
  [{supervisor,{<0.55.0>,couch_server_sup}},
   {errorContext,child_terminated},
   {reason,
    {badarg,
     [{erlang,exit,[couch_server_sup,restart]},
      {couch_server,handle_call,
       [remote_restart,
        {<0.229.0>,#Ref<0.0.0.3189>},
        {server,"/Users/bitdiddle/emacs/couchdb/tmp/lib",
         {concat,
          {concat,
           {concat,bos,{char_class,[{97,122}]}},
{kclosure,{char_class,[47,45,43,41,40,36,95,{48,57}, {97,122}]}}},
          eos},
         "100",4}]}]}},
   {offender,
    [{pid,<0.173.0>},
     {name,couch_server},
     {mfa,{couch_server,sup_start_link,[]}},
     {restart_type,permanent},
     {shutdown,brutal_kill},
     {child_type,supervisor}]}]}}





Reply via email to