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
