Gerhard Niklasch on Sat, 16 Oct 1999 22:41:19 +0200 (MET DST)


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: infinite recursion?


In response to
> Message-Id: <199910162016.QAA31844@grail.cba.csuohio.edu>
> Date: Sat, 16 Oct 1999 16:16:47 -0400 (EDT)
> From: Michael Somos <somos@grail.cba.csuohio.edu>

> gp> f(n)=f(n-1)
> gp> f(0)
> 
> I am sorry if this is a FAQ, but in the case of an obvious infinite
> loop if I "control C" it, I get silently dumped back to the shell.
> I guess this is better than a core dump, but is there any way to get
> control again and not lose the sessions?

Something is strange here.  Yes, you are supposed to get back at
the gp prompt... *if* you hit control-C fast enough.  Note that this
is indeed an infinite recursion, not an infinite loop, and gp is
consuming parts of its memory at a furious rate here.

Just tried this on sparc/Solaris where the process got a segmentation
fault after a few seconds.  Then tried it on my old Linux (1.2.8) box
where I had some difficulty killing the runaway process -- it seemed
to be allocating extra memory.  Both gp's had been built from the same
sources  (just pre-2.0.17), and both were running with default 4E6
stack size.  Neither behaviour is entirely convincing to me.  I'd
prefer the parser to stop with an error message when it runs out of
space, and not (as it appeared to be doing) scribble over other parts
of gp's memory...

Cheers, Gerhard