Type | Bug | Status | tested | Date | 12-Oct-2010 18:31 |
---|---|---|---|---|---|
Version | alpha 107 | Category | Parse | Submitted by | henrikmk |
Platform | All | Severity | crash | Priority | normal |
Summary | R3 quits on recursive parse |
---|---|
Description |
a: [a] parse [] a R3 immediately quits. |
Example code |
Assigned to | n/a | Fixed in | r3 master | Last Update | 17-Apr-2015 11:32 |
---|
Comments | |
---|---|
(0002572)
meijeru 12-Oct-2010 20:41 |
My copy of alpha 107 for Windows gives a different result:
>> a: [a] == [a] >> parse [] a ** Internal error: stack overflow |
(0002574)
BrianH 12-Oct-2010 22:14 |
Meijeru's result is the correct behavior. And I get the same result on the released a107, on Windows. |
(0002575)
henrikmk 13-Oct-2010 00:30 |
I'm using the hostkit version available in private SVN in the hostkit/tests directory. The publicly released A107 produces the stack overflow. |
(0002576)
Ladislav 13-Oct-2010 04:35 |
I am sure this is related to #1665 |
(0002606)
Carl 19-Oct-2010 19:38 |
The problem is that your host-kit build needs to setup a larger C runtime stack. If you set it to 5MB that will work, but the correct solution is to find a way for REBOL to detect the max stack size.
|
(0002652)
abolka 23-Oct-2010 22:52 |
Here's how to set up a larger C runtime stack:
- On Win32, the default stack size is a property of the PE binary. By default it is set to 1MB. To raise this limit using GCC/Binutils, use the `-Wl,--stack` flag when linking. So `-Wl,--stack,5242880` will set the stack size to 5MB. (For current hostkits, edit `make-gcc/makefile` and append this flag to the `LIBS` variable.) - On Linux, the available stack for a process is not hard-coded into the binary but a per-process property (resource limit). By default it is set to 8MB which seems to be sufficient for R3. Resource limits are inherited from the parent process and can be get/set using getrlimit(2) and setrlimit(2). On a shell (which will be the parent process of R3 most of the time), you can check the resource limits with `ulimit -a`. |
(0002711)
Ladislav 31-Oct-2010 01:04 |
in the core-tests suite |
(0003275)
abolka 17-Dec-2012 01:37 |
Works ok on Win32 (and still works with Linux, OSX) with the fix described above. |
(0004382)
abolka 23-Mar-2014 16:58 |
This is fixed in r3 master. |
Date | User | Field | Action | Change |
---|---|---|---|---|
17-Apr-2015 11:32 | abolka | Status | Modified | waiting => tested |
17-Apr-2015 11:32 | abolka | Fixedin | Modified | => r3 master |
23-Mar-2014 16:58 | abolka | Comment : 0004382 | Added | - |
23-Mar-2014 16:57 | abolka | Comment : 0003275 | Modified | - |
23-Mar-2014 16:56 | abolka | Comment : 0003275 | Modified | - |
17-Dec-2012 01:37 | abolka | Comment : 0003275 | Added | - |
31-Oct-2010 01:04 | Ladislav | Comment : 0002711 | Added | - |
23-Oct-2010 22:52 | abolka | Comment : 0002652 | Added | - |
19-Oct-2010 19:38 | carl | Status | Modified | submitted => waiting |
19-Oct-2010 19:38 | carl | Comment : 0002606 | Added | - |
13-Oct-2010 04:35 | Ladislav | Comment : 0002576 | Added | - |
13-Oct-2010 00:34 | henrikmk | Comment : 0002575 | Modified | - |
13-Oct-2010 00:30 | henrikmk | Comment : 0002575 | Added | - |
12-Oct-2010 22:15 | BrianH | Comment : 0002574 | Modified | - |
12-Oct-2010 22:14 | BrianH | Category | Modified | Unspecified => Parse |
12-Oct-2010 22:14 | BrianH | Comment : 0002574 | Added | - |
12-Oct-2010 20:41 | meijeru | Comment : 0002572 | Added | - |
12-Oct-2010 19:55 | henrikmk | Severity | Modified | major => crash |
12-Oct-2010 19:55 | henrikmk | Description | Modified | - |
12-Oct-2010 18:31 | henrikmk | Ticket | Added | - |