Subject | Re: [firebird-support] mon$call_stack line numbers, procedure hanging |
---|---|
Author | Milan Babuskov |
Post date | 2009-11-04T18:47:23Z |
unordained wrote:
it off and see what happens. If you have NOD32 on some of the machines,
disable the IMON module and try.
--
Milan Babuskov
==================================
The easiest way to import XML, CSV
and textual files into Firebird:
http://www.guacosoft.com/xmlwizard
==================================
> I've got a bunch of very similar procedures being run from inside one masterDo you have any kind of firewall between client and server? Try turning
> procedure. Here and there, one of them will hang -- sometimes for two hours (!),
> with 100% cpu, still writing to disk at 200KB/sec. It's clearly doing
> *something*, but I can't figure out what. This happens on FB2.1/32-bit/Windows,
> both superserver and classic (two different machines).
>
> So I checked mon$call_stack while it was stuck, and in this case it told me it
> was in calc_flag_ref_cn_svc, line 17 (mon$source_line), character 1
> (mon$source_column). But that doesn't make any sense to me.
>
> Here's the procedure, with line numbers as FlameRobin reports them, and the
> indentation is accurate:
>
> 1 SET TERM ^ ;
> 2 ALTER PROCEDURE CALC_FLAG_REF_CN_SVC
> 3 AS
> 4 declare variable count_zero integer = 0;
> 5 declare variable count_one integer = 0;
> 6 begin
> 7 /* uncustomized -- remove this tag if you modify this code */
> 8 execute procedure dg_prc_log_beg_calc('calc_flag_ref_cn_svc');
> 9 if (not exists(select rdb$db_key from bt_flag_ref where cn_svc is null))
> then exit;
> 10 update bt_flag_ref set cn_svc = 1
> 11 where cn_svc is null and (cn_q_svc = 1
> 12 or cn_c_svc = 1);
> 13 count_one = count_one + ROW_COUNT;
> 14 if (count_one > 0) then post_event 'ref_cn_svc_1';
> 15 update bt_flag_ref set cn_svc = 0 where cn_svc is null;
> 16 count_zero = count_zero + ROW_COUNT;
> 17 if (count_zero > 0) then post_event 'ref_cn_svc_0';
it off and see what happens. If you have NOD32 on some of the machines,
disable the IMON module and try.
--
Milan Babuskov
==================================
The easiest way to import XML, CSV
and textual files into Firebird:
http://www.guacosoft.com/xmlwizard
==================================