Signal: EMT instruction

Stephen J. Friedl friedl at vsi.UUCP
Mon Feb 29 16:39:55 AEST 1988


In article <278 at mancol.UUCP>, samperi at mancol.UUCP (Dominick Samperi) writes:
> Can someone explain what an EMT instruction signal means? I'm getting
> this signal when I try to run a program on a 3b2/400. The program runs
> fine on other machines. The signal occurs in a sscanf() call, so sdb
> does not resolve the problem. Thanks.

     The problem is undoubtedly either a mismatch in the type of
the % specification and the receiving variable or you are forget-
ting to put & before the variable being passed (not applicable
for arrays).  For example:

{
short   foo;

        sscanf(buf, "%d", &foo);        /* fault here! */


     You will probably get a hundred responses like the above but
the EMT question is what elicited this posting in the hopes that
the following is of general interest.

     We've done some testing on the 3B2 to find out what kinds of
programming errors yield which kinds of faults.  Over the years I
have observed that terms like "EMT Trap", "IOT Trap", "Segmenta-
tion violation", and "Bus error" do not point as directly to the
source of the problem as they perhaps used to.  I think that
"EMT" comes from "Emulator Trap" (not sure, can't find my VAX or
PDP-11 reference manuals) but that term doesn't mean anything on
the WE32100.

     The following is the output of some testing software we have
written to see what is doing on inside various machines:

Fault Test

        Divide-by-zero: Integer        signal  8; Floating Exception (!)
        Divide-by-zero: Floating       signal  4; Illegal Instruction
        Reference at NULL              (no signal)
        Reference at Odd Address       signal  7; EMT Trap
        Reference beyond .data section signal 11; Segmentation Violation
        Reference beyond base of stack signal 11; Segmentation Violation
        Store at NULL                  signal 10; Bus Error
        Store at Odd Address           signal  7; EMT Trap
        Store beyond .data section     signal 11; Segmentation Violation
        Store beyond base of stack     signal 11; Segmentation Violation
        3B Privileged Register Access  signal  4; Illegal Instruction
        3B Privilged Opcode            signal  4; Illegal Instruction
        3B Reserved Opcode             signal  4; Illegal Instruction
        3B BPT Instruction             signal  5; Trap
        3B Illegal Opcode              signal  4; Illegal Instruction
        3B Invalid Descriptor          signal  4; Illegal Instruction

     I hope this is helpful.  Reporting of bugs in the above
table is encouraged.

     Steve
-- 
Life : Stephen J. Friedl @ V-Systems, Inc/Santa Ana, CA    *Hi Mom*
CSNet: friedl%vsi.uucp at kent.edu  ARPA: friedl%vsi.uucp at uunet.uu.net
uucp : {kentvax, uunet, attmail, ihnp4!amdcad!uport}!vsi!friedl



More information about the Comp.sys.att mailing list