Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!RICHTER.MIT.EDU!krowitz From: krowitz@RICHTER.MIT.EDU (David Krowitz) Newsgroups: comp.sys.apollo Subject: Re: Mystery Error Message-ID: <8904211343.AA07537@richter.mit.edu> Date: 21 Apr 89 13:43:32 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 32 yup! "unable to unwind stack" means that somehow your program has trashed its stack, gotten a fatal error, and then been unable to decipher the stack (because you trashed it) in order to give you a traceback of where the error occurred. Normally, when a program gets an error you get a traceback that looks something like: process quit (OS/fault handler) In routine "VFMT_$FORMAT_NUMBER" line 171 Called from "VFMT_$MAIN" line 552 Called from "VFMT_$S" line 67 Called from "VFMT_STREAMS_ASM:PROCEDURE$" Called from "LIST_DIR" line 1871 Called from "LIST_DIRECTORY" line 1946 Called from "PM_$CALL" which tells you where the error occurred. The system gets this by examining the stack and finding all of the subroutine calls that were stored on it. The stack also contains local variables (ie. variables which are not passed in the subroutine call and which are not in global memory (ie. not in a COMMON block for you Fortran programmers)). If your program accidentatlly overflows an array you can wind up clobbering your list of subroutine calls in addition to your local variables. -- David Krowitz krowitz@richter.mit.edu (18.83.0.109) krowitz%richter@eddie.mit.edu krowitz%richter@athena.mit.edu krowitz%richter.mit.edu@mitvma.bitnet (in order of decreasing preference)