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
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,
Harm van Beek(DT) wrote: 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