xmerl, ets,(mnisia) Too many db tables

Sanjaya Vitharana <>
Mon Oct 10 06:02:52 CEST 2005


Hi ...!!!

I got the below error after running my system about 30-45 min. But I'm sure that I'm not using any database in my code. But the error referes to ** Too many db tables **. I have try to search the community replies & found that another person get the similer error when using mnisia. But in my case I don't use mnesia at all.

So ... I dig down to my xml server & parser. Found that in xmerl it self uses exacly the same code as error shows (i.e Tab = ets:new(rules, [set, public]), )

This occurs when I try to increase the load of xml parssing.
    i.e. I have set my dialout thread to check the dialout calls every second (earlier was 15 seconds), so each check should pass the xml file (or parse_error.xml ). Also each of that dialout call need to pass 5-6 xml files to initiate a call.

Except to that dialout thing, all the call flow running on the xml & all xml files should pass. So the xml processing is high in the system.

As I have wrote about, the system works properly about 30-45 min without any problem & later gives the below error.


=ERROR REPORT==== 9-Oct-2005::17:41:43 ===
** Too many db tables **

***Failed to Parse parse_error.xml, {error,{'EXIT',
                                               {system_limit,
                                                   [{ets,new,[rules,[set,public]]},
                                                    {xmerl_scan,initial_state,2},
                                                    {xmerl_scan,int_string,4},
                                                    {xmerl_scan,file,2},
                                                    {ivr_xml_psr,parseXMLFile_parse_error,1},
                                                    {ivr_xml_svr,do_passError,1},
                                                    {ivr_xml_svr,handle_info, 2},
                                                    {gen_server,handle_msg,6}]}}}


It continues up to several time & system crashes giving below error reports



=ERROR REPORT==== 9-Oct-2005::17:43:00 ===
Mnesia(): ** ERROR ** (ignoring core) ** FATAL ** mnesia_recover crashed: {system_limit,
                                                                                             [{ets,
                                                                                                  new,
                                                                                                  [mnesia_transient_decision,
                                                                                                   [{keypos,
                                                                                                        2},
                                                                                                    set,
                                                                                                    public]]},
                                                                                              {mnesia_recover,
                                                                                                  create_transient_decision,
                                                                                                  0},
                                                                                              {mnesia_recover,
                                                                                                  do_allow_garb,
                                                                                                  0},
                                                                                              {mnesia_recover,
                                                                                                  handle_cast,
                                                                                                  2},
                                                                                              {gen_server,
                                                                                                  handle_msg,
                                                                                                  6},
                                                                                              {proc_lib,
                                                                                                  init_p,
                                                                                                  5}]} state: {state,
                                                                                                                  <0.51.0>,
                                                                                                                  undefined,
                                                                                                                  undefined,
                                                                                                                  undefined,
                                                                                                                  0,
                                                                                                                  true,
                                                                                                                  []}

=SUPERVISOR REPORT==== 9-Oct-2005::17:43:00 ===
     Supervisor: {local,mnesia_kernel_sup}
     Context:    child_terminated
     Reason:     shutdown
     Offender:   [{pid,<0.52.0>},
                  {name,mnesia_monitor},
                  {mfa,{mnesia_monitor,start,[]}},
                  {restart_type,permanent},
                  {shutdown,3000},
                  {child_type,worker}]


=SUPERVISOR REPORT==== 9-Oct-2005::17:43:00 ===
     Supervisor: {local,mnesia_kernel_sup}
     Context:    shutdown
     Reason:     reached_max_restart_intensity
     Offender:   [{pid,<0.52.0>},
                  {name,mnesia_monitor},
                  {mfa,{mnesia_monitor,start,[]}},
                  {restart_type,permanent},
                  {shutdown,3000},
                  {child_type,worker}]

-------------------------------------------------

=ERROR REPORT==== 9-Oct-2005::17:43:10 ===
** Generic server mnesia_monitor terminating 
** Last message in was {'EXIT',<0.51.0>,killed}
** When Server state == {state,<0.51.0>,[],[],true,[],undefined,[]}
** Reason for termination == 
** killed

=CRASH REPORT==== 9-Oct-2005::17:43:10 ===
  crasher:
    pid: <0.52.0>
    registered_name: mnesia_monitor
    error_info: killed
    initial_call: {gen,init_it,
                      [gen_server,
                       <0.51.0>,
                       <0.51.0>,
                       {local,mnesia_monitor},
                       mnesia_monitor,
                       [<0.51.0>],
                       [{timeout,infinity}]]}
    ancestors: [mnesia_kernel_sup,mnesia_sup,<0.48.0>]
    messages: []
    links: [<0.20.0>]
    dictionary: []
    trap_exit: true
    status: running
    heap_size: 987
    stack_size: 21
    reductions: 6172
  neighbours:

=ERROR REPORT==== 9-Oct-2005::17:43:10 ===
Mnesia(): ** ERROR ** mnesia_event got unexpected event: {'EXIT',
                                                                            <0.53.0>,
                                                                            killed}

-----------------------------------------------------------------------------------
=CRASH REPORT==== 9-Oct-2005::17:43:10 ===
  crasher:
    pid: <0.50.0>
    registered_name: mnesia_event
    error_info: killed
    initial_call: {gen,init_it,
                      [gen_event,
                       <0.49.0>,
                       <0.49.0>,
                       {local,mnesia_event},
                       [],
                       [],
                       []]}
    ancestors: [mnesia_sup,<0.48.0>]
    messages: []
    links: []
    dictionary: []
    trap_exit: true
    status: running
    heap_size: 233
    stack_size: 21
    reductions: 203
  neighbours:
nms_adi_drv.c (239): stop
nms_adi_drv.c (476): finish
na_drv.c (558): stop
na_drv.c (2164): finish
ctaError: CTAERR_NOT_IMPLEMENTED

=CRASH REPORT==== 9-Oct-2005::17:43:10 ===
  crasher:
    pid: <0.47.0>
    registered_name: []
    error_info: killed
    initial_call: {application_master,init,
                                     [<0.5.0>,
                                      <0.46.0>,
                                      {appl_data,
                                          mnesia,
                                          [mnesia_dumper_load_regulator,
                                           mnesia_event,
                                           mnesia_fallback,
                                           mnesia_controller,
                                           mnesia_kernel_sup,
                                           mnesia_late_loader,
                                           mnesia_locker,
                                           mnesia_monitor,
                                           mnesia_recover,
                                           mnesia_substr,
                                           mnesia_sup,
                                           mnesia_tm],
                                          undefined,
                                          {mnesia_sup,[]},
                                          [mnesia,
                                           mnesia_backup,
                                           mnesia_bup,
                                           mnesia_checkpoint,
                                           mnesia_checkpoint_sup,
                                           mnesia_controller,
                                           mnesia_dumper,
                                           mnesia_event,
                                           mnesia_frag,
                                           mnesia_frag_hash,
                                           mnesia_frag_old_hash,
                                           mnesia_index,
                                           mnesia_kernel_sup,
                                           mnesia_late_loader,
                                           mnesia_lib,
                                           mnesia_loader,
                                           mnesia_locker,
                                           mnesia_log,
                                           mnesia_monitor,
                                           mnesia_recover,
                                           mnesia_registry,
                                           mnesia_schema,
                                           mnesia_snmp_hook,
                                           mnesia_snmp_sup,
                                           mnesia_subscr,
                                           mnesia_sup,
                                           mnesia_sp,
                                           mnesia_text,
                                           mnesia_tm],
                                          [],
                                          infinity,
                                          infinity},
                                      normal]}
    ancestors: [<0.46.0>]
    messages: []
    links: [<0.5.0>]
    dictionary: []
    trap_exit: true
    status: running
    heap_size: 987
    stack_size: 21
    reductions: 1484
  neighbours:

=INFO REPORT==== 9-Oct-2005::17:43:12 ===
    application: mnesia
    exited: killed
    type: permanent

=INFO REPORT==== 9-Oct-2005::17:43:12 ===
    "Application preparing to stop."
    module: ivr_app

=ERROR REPORT==== 9-Oct-2005::17:43:12 ===
    "IVR_APP_FSM terminated"
    shutdown
    idle

...... Terninate all the 60 channels ..... same as this

=INFO REPORT==== 9-Oct-2005::17:43:12 ===
    "Application stopped."
    module: ivr_app



Is this the internal bug of xmerl ??? Why this happens ??? What should I do to avoid this ??? What is the proper way to handle xmerl to pass this kind of heavy xml passing situations ??


Thanks in advance,

Sanjaya Vitharana
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20051010/ad23064e/attachment.html>


More information about the erlang-questions mailing list