| www.delorie.com/archives/browse.cgi | search |
| X-Authentication-Warning: | delorie.com: mail set sender to djgpp-bounces using -f |
| X-Recipient: | djgpp AT delorie DOT com |
| Subject: | Re: [ANNOUNCE] DJGPP port of gcc-6.1.0 |
| To: | djgpp AT delorie DOT com |
| References: | <201604281739 DOT u3SHdF9o009018 AT delorie DOT com> |
| <572B61D5 DOT 2040400 AT gmx DOT de> <16909c8a-d835-21ab-67fb-9dcd397b630b AT iki DOT fi> | |
| <572F7363 DOT 10503 AT gmx DOT de> <ngq5iu$9e7$1 AT usenet DOT news DOT interia DOT pl> | |
| From: | "Andris Pavenis (andris DOT pavenis AT iki DOT fi) [via djgpp AT delorie DOT com]" <djgpp AT delorie DOT com> |
| Message-ID: | <2e24511c-70d0-42fd-e7bb-15cb7c265c25@iki.fi> |
| Date: | Mon, 9 May 2016 18:53:08 +0300 |
| User-Agent: | Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 |
| Thunderbird/45.0 | |
| MIME-Version: | 1.0 |
| In-Reply-To: | <ngq5iu$9e7$1@usenet.news.interia.pl> |
| Reply-To: | djgpp AT delorie DOT com |
| Errors-To: | nobody AT delorie DOT com |
| X-Mailing-List: | djgpp AT delorie DOT com |
| X-Unsubscribes-To: | listserv AT delorie DOT com |
On 05/09/2016 05:07 PM, Wiktor S. (wswiktorSP AT Mpoczta DOT fm) [via djgpp AT delorie DOT com] wrote:
> // genautomata.c line 5816
>
> static void
> pass_state_graph (state_t start_state, void (*applied_func) (state_t state))
> {
> arc_t arc;
>
> if (start_state->pass_num == curr_state_graph_pass_num)
> return;
> start_state->pass_num = curr_state_graph_pass_num;
> (*applied_func) (start_state);
> for (arc = first_out_arc (start_state);
> arc != NULL;
> arc = next_out_arc (arc))
> pass_state_graph (arc->to_state, applied_func); // <---- HERE
> }
>
>
> This is very deep recursion causing stack overflow.
> After modifying genautomata.exe with stubedit and giving it 1 MB stack the problem disappears.
>
> The question is why doesn't it crash in Vista. Probably Vista gives bigger stack by default.
>
>
I'm guilty:
[andris AT ap bin]$ stubedit -v stubify.exe
-value- -field description-
0x180000 (1536k) Minimum amount of stack space (bytes/K/M)
0x4000 (16k) Size of real-memory transfer buffer (bytes/K/M)
"" Base name of file to actually run (max 8 chars, ""=self)
"" Value to pass as file component of argv[0] (max 16 chars, ""=default)
CWSDPMI.EXE Program to load to provide DPMI services (if needed)
I had custom stubify.exe which set larger stack size.
I should update readme:DJGPP, as it contained wrong information.
Andris
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |