> > You mean this one:
> > 
> >         subl $RESERVED_C_STACK_BYTES + 4*SIZEOF_LONG,%esp
> > 
> > subracting from %esp caused the program to exit?  Surely not!
> 
> Specifically, anything after the subl <large number>,%esp
> did not happen. Perhaps causing an uncaught page fault?
> (I dont think that the subl immediately forces the exit,
> I presume though, that any attempt to reference through
> %esp is causing the problem)

Aha!  *slaps forehead*  It's just dawned on me, and Julian & I verified that
the problem is indeed this:

RESERVED_C_STACK_BYTES has recently increased to about 8k (2 pages), and
while this works on sane^H^H^H^H Unix-like operating systems apparently the
NT page faulter only lets you grow the stack a page at a time.  And alloca()
probably writes to each page in turn to get around the restriction.

Ok, I've now committed a fix for this.  Thanks for tracking it down.

Cheers,
        Simon

Reply via email to