Hi Peter,
We indeed execute a large query (which is constructed by progra mcode, so hard to change). You can find the query at the bottom of my reply.
I understand that you introduced the limits to not run out of stack space. However, since we are in full control of the system on which the query is executed, we might be able to adapt the limits to our environment. Can you give us directions on where to set this?
Thanks again,
Harm
-- query:
element result { for $name in distinct-values( ( let $var1 := let $var2 := let $var3 := let $var4 := let $var5 := let $var6 := let $var7 := let $var8 := let $var9 := let $var10 := let $var11 := let $var12 := doc('document.xml')//properties/.. return $var12[ (self::registry) ] return $var11/ancestor-or-self::file[1]/properties/.. return $var10[ properties/(name)[ contains( lower-case(.), 'system' ) ] ] return $var9/child::registry/properties/.. return $var8/child::key/properties/.. return $var7/child::key/properties/.. return $var6/child::key/properties/.. return $var5[ properties/(name)[ . = 'Enum' ] ] return $var4/descendant-or-self::key/properties/.. return $var3[ properties/(name)[ contains( lower-case(.), 'usb' ) ] ] return $var2/descendant-or-self::value/properties/.. return $var1[ properties/(name)[ . = 'LocationInformation' ] ] )/properties/*/name() ) return element name { $name } }
-----Original Message----- From: Peter Boncz [mailto:P.Boncz@cwi.nl] Sent: Friday, November 27, 2009 10:26 AM To: 'Communication channel for MonetDB users' Subject: Re: [MonetDB-users] Fatal error: aborted too deep recursion
Hi Harm,
The 'too deep recursion' error is typically triggered by very large queries that send the pathfinder compiler into a very deep (and time consuming) search. The error is given to prevent a crash due to lack of stack space. Recently, I do recall that the limits were tightened as there are some operating systems in our nightly test farm that give their processes little stack space, and could still cause pathfinder to crash due to lack of stack space.
So, it depends. The limit when to break off search is arbitrary and based currently on the lowest common denominator among the systems we used. We could potentially increase it (and possibly fix the settings on our testing machines to allow more stack space). We could even introduce a user-controller limit.
However, this phenomenon typically happens only on strange queries (e.fg doing tens or hundreds XPath steps after each other).
Could you share what query produced such an error for you?
Best,
Peter Boncz
-----Original Message----- From: Martin Kersten [mailto:Martin.Kersten@cwi.nl] Sent: Thursday, November 26, 2009 4:28 PM To: Communication channel for MonetDB users Subject: Re: [MonetDB-users] Fatal error: aborted too deep recursion
Harm van Beek(DT) wrote:
During the development of our tool, using Xquery on
MonetDB, we ran onto
the following error:
ERROR = !fatal error: aborted too deep recursion
From previous posts (I guess) I can conclude that this
relates to an
Xquery that simply is too big (too many operators) to
create a good plan
for it.
All systems have limits that either cause an emergency stop.
In this case,
the operating system has such a limit.
I tried several MonetDB releases (May2009-SP2,
Aug2009-SP2, Nov2009-DB0)
on Red Hat Enterprise Linux Server release 5.4 (Tikanga),
all showing
the same result.
Does anyone have any directions on how to solve this?
Yes. Programming cleverness comes into play. Especially if
you use a tool
to generate queries, then that tool should be a little more
conservative
in the kind of queries generated.
Can we reconfigure the compiler to fix this (or recompile it with options)?
No. At some point the optimization space becomes just too big. People that can spare the time to find the optimal settings
for a larger
application space are more then welcome to try it out on the
source code
made available.
regards, Martin
Thanks in advance!
Harm van Beek Netherlands Forensic Institute
Let Crystal Reports handle the reporting - Free Crystal
Reports 2008 30-
Day
trial. Simplify your report design, integration and
deployment - and
focus on
what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ MonetDB-users mailing list MonetDB-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-users
Let Crystal Reports handle the reporting - Free Crystal
Reports 2008 30-Day
trial. Simplify your report design, integration and
deployment - and focus
on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ MonetDB-users mailing list MonetDB-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-users
No virus found in this incoming message. Checked by AVG - www.avg.com Version: 8.5.426 / Virus Database: 270.14.83/2526 - Release
Date: 11/25/09
19:43:00
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment
- and focus on
what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ MonetDB-users mailing list MonetDB-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-users