Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!burl!ulysses!bellcore!decvax!genrad!mit-eddie!think!harvard!seismo!rochester!pt.cs.cmu.edu!k.cs.cmu.edu!gjs From: gjs@k.cs.cmu.edu (Gregory Stein) Newsgroups: net.micro.mac Subject: Re: System Error 02 ??? Message-ID: <721@k.cs.cmu.edu> Date: Thu, 16-Jan-86 16:44:05 EST Article-I.D.: k.721 Posted: Thu Jan 16 16:44:05 1986 Date-Received: Sun, 19-Jan-86 04:16:02 EST References: <470@ssc-vax.UUCP> Organization: Carnegie-Mellon University, CS/RI Lines: 29 A system error 2 is the Mac reporting an address error. (It can't recover from this, so it bombs.) This is usually caused by problems with pointers. Say, for example, you have a pointer to an integer. When you get the value of the integer by saying something like my_ptr^, the Mac will return the integer at the address in the pointer variable my_ptr. Now, the problem occurs when this address has an odd value. The 68000 can only retrieve the integer value from an even address. The same sort of thing occurs for long integers -- they must have an even address, too. So, what happened is that somewhere in your program an attempt was made to get an integer or long integer value from an odd address. I can't see the Modula 2 compiler generating code to do this, so my best guess is that you did some sort of call to the resource manager to get a resource (this includes things such as GetNewDialog and GetNewWindow) but the resource wasn't there. In this case, the GetResource call will return a handle containing 0. When a routine attempts to use this handle it looks at address 0 for another address. This address is most likely odd in your case, so the Mac crashes. My suggestion would be to look for calls that return handles and put a test for a nil handle after the call. Greg Stein ..!ucbvax!gjs@k.cs.cmu.edu These dumb signature lines -- why do we do it? A communist plot to weed out comedians.