xmerl, ets,(mnisia) Too many db tables
Bertil Karlsson
bertil@REDACTED
Mon Oct 10 10:27:37 CEST 2005
This error is due to a bug that has been removed. xmerl uses
sofs:family_to_digraph(Set, [acyclic]) to check for recursions in
entities. This call creats digraphs that we (I) forgot to remove.
The next patch/release has this bugfix.
/Bertil
Sanjaya Vitharana wrote:
> 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(omni_ivr@REDACTED <mailto:omni_ivr@REDACTED>): ** 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(omni_ivr@REDACTED <mailto:omni_ivr@REDACTED>): ** 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
More information about the erlang-questions
mailing list