xmerl, ets,(mnisia) Too many db tables
Sanjaya Vitharana
sanjaya@REDACTED
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(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): ** 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.htm>
More information about the erlang-questions
mailing list