[comp.sys.mac.programmer] System Error: coprocessor not installed -- 2nd post

mkelly@cs.uoregon.edu (Michael A. Kelly) (03/14/91)

This is my second plea for help!  I have received two responses so far, both
asking me to forward any replies to them.

Help!  Someone suggested that certain programming problems resulting in the
above error were discussed 'recently' in MacTutor.  I can't seem to find
said discussions in my back issues.  Could someone please point me to the
right place?

(I'm getting this error message only on a IIfx running 6.0.7 - the program
works fine on a IIx and a IIcx - haven't tried anything else.  BTW, the
program was written in THINK C, compiled with the coprocessor option off.)

Thanks in advance,

Mike.
--
_____________________________________________________________________________
Michael A. Kelly                                   America Online: Michael792
mkelly@cs.uoregon.edu                                  Compu$erve: 73567,1651
_____________________________________________________________________________

bskendig@phoenix.Princeton.EDU (Brian Kendig) (03/14/91)

In article <1991Mar14.011721.13837@cs.uoregon.edu> mkelly@cs.uoregon.edu (Michael A. Kelly) writes:
>Help!  Someone suggested that certain programming problems resulting in the
>above error were discussed 'recently' in MacTutor.  I can't seem to find
>said discussions in my back issues.  Could someone please point me to the
>right place?

I don't read MacTutor, so I can't help you there, but maybe I can help
explain the `coprocessor not installed' error some.

>(I'm getting this error message only on a IIfx running 6.0.7 - the program
>works fine on a IIx and a IIcx - haven't tried anything else.  BTW, the
>program was written in THINK C, compiled with the coprocessor option off.)

Well, let's think about the problem for a bit.

Apple added the error messages to the system bomb dialogs starting
with System 6.0.7.  Now, whenever there's a system crash, your machine
will consult some sort of table to retrieve the text to show you in an
attempt to explain what happened.

Now, more often than not it seems, the machine's not very good at
figuring out exactly how it died (if somebody killed *you*, would
*you* be very good at sleuthing out your murderer?).  Either the state
of the machine becomes so screwed up that it thinks there was some
sort of math call that didn't make it to a coprocessor, or the error
"coprocessor not installed" is only one of several unrelated errors
that can result in the same error code.

In either case, the message obviously doesn't mean that the program
crashed because you don't have a coprocessor installed, because you do
have one installed.  Thus the error means: something made your machine
crash.  (As if it wasn't obvious beforehand.)

All I can suggest is that, if you wrote the program or have the source
code and a good understanding of how it works, you might want to make
liberal use of MacsBug.  When your IIfx dies, you should be able to
snoop around the current state of the machine to figure out what
happened.

Good luck with it!

     << Brian >>

| Brian S. Kendig      \ Macintosh |   Engineering,   | bskendig             |
| Computer Engineering |\ Thought  |  USS Enterprise  | @phoenix.Princeton.EDU
| Princeton University |_\ Police  | -= NCC-1701-D =- | @PUCC.BITNET         |
"It's not that I don't HAVE the work to *do* -- I don't DO the work I *have*."

d88-jwa@byse.nada.kth.se (Jon W{tte) (03/15/91)

   In either case, the message obviously doesn't mean that the program
   crashed because you don't have a coprocessor installed, because you do
   have one installed.  Thus the error means: something made your machine
   crash.  (As if it wasn't obvious beforehand.)

I think this might be an illegal instruction. (line F exception ?)

My reasoning: The program goes astray and starts executing data.
(This happens... :-) Once it hits data it can't interpret as
instructions, you get an "illegal instruction" - BUT words beginning
with "A" hexadecimal or "F" hexadecimal generate special exceptions,
to allow for extensions in the machine code.

A-traps (as they're called) are used by Apple for our loved and
cherished toolbox & os, and the F-traps are used mostly for the
coprocessor. Now, if you hit upon an undefined F-trap, maybe the
ROM resons that "any F-trap is a coprocessor instruction" and
issues the "coprocessor not installed" message.

One might argue that the ROM could check for the coprocessor
(like we mortals should) and change the message to "illegal
instructino (unimplemented F-trap)" when it's installed...

						h+@nada.kth.se
						Jon W{tte
--
"The IM-IV file manager chapter documents zillions of calls, all of which
seem to do almost the same thing and none of which seem to do what I want
them to do."  --  Juri Munkki in comp.sys.mac.programmer