Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!hplabs!hp-pcd!hpcvlx!squires From: squires@hpcvlx.HP.COM (Matt Squires) Newsgroups: comp.sys.apollo Subject: Re: Re: Mystery Error (unable to unwind stack) Message-ID: <101020003@hpcvlx.HP.COM> Date: 4 May 89 00:06:42 GMT References: <42d82721.8b6c@apollo.COM> Organization: Hewlett-Packard Co., Corvallis, OR, USA Lines: 26 / comp.sys.apollo / krowitz@RICHTER.MIT.EDU (David Krowitz) / > If I understand your C code (and I am not much of a C > programmer) you are calling the main program recursively > with no ending condition. Each recursive call to the > program will "push" the return address of the call onto > the stack. Since there is no ending condition to the > recursive calls (ie. the subroutine calls never return), > the stack eventually gets completely filled with these > return addresses, and the stack overflows and trashes > something else (like maybe the program itself) for a > change. If I understand machine acrhitectures (and I am not much of a machine archeologist) then ``sufficiently powerful (1)'' processors cause a hardware trap on stack overflow (2). One should hope that processes would not be able overflow their stack and then scribble on data, bss, or text segments. mcs (1) The Intel 8088 is not sufficiently powerful, while I assume Hpollo workstation processors are. (2) Tanenbaum, Andrew S., _Operating Systems_ Copyright 1987 Prentice-Hall, Inc. pp. 229