Update of /cvsroot/monetdb/pathfinder/compiler/mil
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv5910/compiler/mil
Modified Files:
milgen.brg
Log Message:
[ 1607210 ] XQ: server-side compilation crash (member benchmark)
- introduced a stack fence that aborts too deep recursion
only enabled in embedded mode (to keep Mserver alive on bad queries)
Index: milgen.brg
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/mil/milgen.brg,v
retrieving revision 1.74
retrieving revision 1.75
diff -u -d -r1.74 -r1.75
--- milgen.brg 7 May 2007 10:17:39 -0000 1.74
+++ milgen.brg 25 May 2007 21:55:20 -0000 1.75
@@ -601,6 +601,8 @@
/* determine rule that matches for this non-terminal */
rule = PFmilgen_rule (STATE_LABEL (p), goalnt);
+ PFrecursion_fence();
+
/* PFinfo (OOPS_NOTICE, "match for rule %i", rule); */
assert(rule);
@@ -683,6 +685,8 @@
if (p->env)
return;
+ PFrecursion_fence();
+
p->env = new_env ();
/* determine rule that matches for this non-terminal */
@@ -842,6 +846,8 @@
"cannot cope with function reduce2 "
"as long as reduce1 was not called.");
+ PFrecursion_fence();
+
/* determine rule that matches for this non-terminal */
rule = PFmilgen_rule (STATE_LABEL (p), goalnt);
@@ -948,6 +954,8 @@
"cannot cope with function reduce3 "
"as long as reduce1 was not called.");
+ PFrecursion_fence();
+
/* determine rule that matches for this non-terminal */
rule = PFmilgen_rule (STATE_LABEL (p), goalnt);
@@ -1037,6 +1045,8 @@
/* PFinfo (OOPS_NOTICE, "match for rule %i", rule); */
assert(rule);
+ PFrecursion_fence();
+
/* initialize the kids[] vector */
for (unsigned short i = 0; i < MAX_KIDS; i++)
kids[i] = NULL;
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins