Bugs item #1894477, was opened at 2008-02-15 15:37
Message generated for change (Comment added) made by sjoerd
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=482468&aid=1894477&group_id=56967

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: PF/compiler
Group: Pathfinder "stable"
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Stefan Manegold (stmane)
Assigned to: Sjoerd Mullender (sjoerd)
Summary: PF: "fatal error: aborted too deep recursion" on Windows

Initial Comment:
Most (if not all) Patfinder / XQuery tests that currently fail on Windows, but 
not on other (Unix-like) systems, and have not been mentions in previously 
filed bug reports, --- there are tens of such cases; see
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/pathfinder/.mTests103/index_short.html
--- fail with

fatal error: aborted too deep recursion

See e.g.,
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/pathfinder/.mTests103/Int.32.32.d-Windows5.1/runtime/escaped-string.out.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/pathfinder/.mTests103/Int.64.32.d-Windows5.2/runtime/escaped-string.out.00.html


----------------------------------------------------------------------

>Comment By: Sjoerd Mullender (sjoerd)
Date: 2009-04-08 17:02

Message:
Using the editbin utility you can set the stack size of the main thread. 
All other threads are started using pthread_create, right after a call to
pthread_attr_setstacksize where the new thread's stack size is set to a
value we determine programmatically.  So using editbin to change the stack
size isn't going to do a whole lot.

However, there is a problem with the way we set the thread stack size.
There is a #define for THREAD_STACK_SIZE which boils down to 1024*1024 on
a 32 bit system and twice that on a 64 bit machine (why it does this using
2*512*1024 is beyond me ;-) ).  The thread stack size is however set using
4*THREAD_STACK_SIZE.  Why the value of THREAD_STACK_SIZE wasn't changed is,
again, beyond me.
There is also code to check whether we're using too much stack space. 
This code differs for the MIL and MAL interpreters and SQL  on the one hand
and pathfinder on the other.  Neither version was consistent with how much
stack space was *actually* allocated.
I normalized the code, and I now don't get the "too deep recursion" error
on 32 bit WIndows on the tests that I tried (that did give the error in the
testweb).
We'll see how the testweb behaves tonight.

----------------------------------------------------------------------

Comment By: Sjoerd Mullender (sjoerd)
Date: 2009-04-08 12:31

Message:
Peter wrote "maybe windows uses more stack space somehow.."  This is
absolutely true.  The Intel compiler on Windows seems to allocate separate
space for *all* variables declared in a function, even if the scopes of
variables don't overlap.  This is especially painful in the many deeply
recursive functions in the burg code.  I have already split (many of) those
functions in a recursive function and one that does the work with all the
local variables.

We can try to increase the stack space allocated per thread, but,
especially on 32 bit systems, we have to be careful about our memory
usage.

I'll give it a try.

----------------------------------------------------------------------

Comment By: Peter Boncz (boncz)
Date: 2009-04-07 13:35

Message:
maybe windows uses more stack space somehow..

I slightly increased the limit already (in src/pathfinder/main.c) to
7/8*1MB.

For going beyond 1MB, we should check the windows make options. Possibly
the easiest way is to use the EDITBIN utility to e.g. specify a thread
stack space of 2MB. Then the limit can be increased. 

this thus depends on our windows build process.


----------------------------------------------------------------------

Comment By: Stefan Manegold (stmane)
Date: 2009-02-14 18:27

Message:
updated list of "fatal error: aborted too deep recursion" error that occur
only on Windows:

http://monetdb.cwi.nl/testing/projects/monetdb/Stable/pathfinder/.mTests103/Int.32.32.d.1-Windows5.1/modules_pftijah/qmil0.out.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/pathfinder/.mTests103/Int.32.32.d.1-Windows5.1/runtime/printTypedMode.out.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/pathfinder/.mTests103/Int.32.32.d.1-Windows5.1/runtime/serialization.out.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/pathfinder/.mTests103/Int.32.32.d.1-Windows5.1/runtime/escaped-string.out.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/pathfinder/.mTests103/Int.32.32.d.1-Windows5.1/tests_BugDay_2005-11-09_0.8/boolean_dm.SF-1204097.out.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/pathfinder/.mTests103/Int.32.32.d.1-Windows5.1/tests_BugDay_2005-12-19_0.9.3/self_axis_not_supported.SF-1237444.out.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/pathfinder/.mTests103/Int.32.32.d.1-Windows5.1/tests_BugTracker/corrupt-attributelist.SF-1483706.shred_doc.out.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/pathfinder/.mTests103/Int.32.32.d.1-Windows5.1/tests_BugTracker/mposjoin_void_void.SF-1404023.q1a.out.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/pathfinder/.mTests103/Int.32.32.d.1-Windows5.1/tests_BugTracker/mposjoin_void_void.SF-1404023.q1b.out.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/pathfinder/.mTests103/Int.32.32.d.1-Windows5.1/tests_BugTracker/treat_as.SF-1586454.out.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/pathfinder/.mTests103/Int.32.32.d.1-Windows5.1/tests_BugTracker/shredding-remap-error.SF-1487156.shred_doc.out.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/pathfinder/.mTests103/Int.64.32.d.1-Windows5.2/tests_BugTracker/insert_multiple.SF-1590580.out.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/pathfinder/.mTests103/Int.32.32.d.1-Windows5.1/tests_BugTracker/accessing_renamed_inserted_deleted_node.SF-1718622-1718635-1718709.out.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/pathfinder/.mTests103/Int.32.32.d.1-Windows5.1/tests_BugTracker/merged-union_error_with_fn-sum.SF-1751684.out.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/pathfinder/.mTests103/Int.32.32.d.1-Windows5.1/tests_BugsViaSourgeforce/ID.1204965-c.out.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/pathfinder/.mTests103/Int.64.32.d.1-Windows5.2/tests_W3C_use_cases_XQUF_Parts/Q3a1.out.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/pathfinder/.mTests103/Int.32.32.d.1-Windows5.1/tests_W3C_use_cases_XQUF_Parts/Q4a.out.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/pathfinder/.mTests103/Int.32.32.d.1-Windows5.1/tests_W3C_use_cases_XQUF_Parts/Q6.out.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/pathfinder/.mTests103/Int.32.32.d.1-Windows5.1/tests_W3C_use_cases_XQUF_Parts/Q6x.out.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/pathfinder/.mTests103/Int.32.32.d.1-Windows5.1/tests_W3C_use_cases_XQUF_R/Q1.out.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/pathfinder/.mTests103/Int.32.32.d.1-Windows5.1/tests_W3C_use_cases_XQUF_R/Q3.out.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/pathfinder/.mTests103/Int.32.32.d.1-Windows5.1/tests_W3C_use_cases_XQUF_R/Q4.out.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/pathfinder/.mTests103/Int.32.32.d.1-Windows5.1/tests_W3C_use_cases_XQUF_R/Q4x.out.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/pathfinder/.mTests103/Int.32.32.d.1-Windows5.1/tests_W3C_use_cases_XQUF_R/Q5a.out.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/pathfinder/.mTests103/Int.32.32.d.1-Windows5.1/tests_W3C_use_cases_XQUF_R/Q6a.out.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/pathfinder/.mTests103/Int.32.32.d.1-Windows5.1/tests_W3C_use_cases_XQUF_R/Q7x.out.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/pathfinder/.mTests103/Int.32.32.d.1-Windows5.1/tests_W3C_use_cases_XQUF_R/Q9.out.00.html


----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=482468&aid=1894477&group_id=56967

------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
_______________________________________________
Monetdb-bugs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-bugs

Reply via email to