Summary: IOT trap

From: Dave Courtade <drc_at_amherst.com>
Date: Thu, 18 Feb 1999 11:31:09 -0500

Original message:

I have a problem that needs a quick resolution and this list fits that
bill. We are running DU 4.0E and have run into a problem running one of
our applcations. Verrry intermittently we are seeing the program crash
with an IOT trap. I need to know what that is. I've checked man pages
and come up blank. People are yelling at me and I need to know something
soon. Anybody have any help they can lend?


Thanks to:

Lars Bro <lbr_at_dksin.dk>
Joe Fletcher <joe_at_meng.ucl.ac.uk>
David A. Massaro, SUNY ITEC" <MASSARDA_at_mail.suny.edu>
"Dr. Tom Blinn, 603-884-0646" <tpb_at_doctor.zk3.dec.com>

And espescially to Oisin McGuinness <oisin_at_sbcm.com> Whose response I've
included. We'll now go on to debug our application now that I can point
the finger back.

In the /usr/include/signal.h file, SIGIOT is defined to be the
same as SIGABRT, with numeric value 6. And the man page
for abort(3) explains that calling abort sends SIGABRT
to the running program. If an explicit call to
abort() is not in the source code, then some system library
must be generating it; it would be easy to add a signal
handler for SIGABRT and then catch it.

If also a core file is generated, then running dbx (assuming
you have OSF-DEV or some equivalent license installed) will let
you see exactly where the abort is being generated, whether
in your own source, or in the system library. The "where" and "dump ."
commands within dbx will help with this.

Section 10.17 of W Stevens "Advanced Programming in the UNIX
environment" (Addison-Wesley, ISBN 0-201-56317-7) discusses
abort and SIGABRT in more detail. A strongly recommended book.

Note that page 268 describes SIGIOT as "This indicates
an implementation-defined hardware fault. The name IOT comes from
the PDP-11 mnemonic for the "input/output TRAP" instruction. Early
versions of System V generated this signal from the abort function.
SIGABRT
is now used for this." But Digital Unix seems to identify them, a
comment in
the /usr/include/signal.h identifies SIGIOT as an old name, supplied
for compatibility only.

On a more historical note, the Lions commentary on UNIX 6th edition
source
code shows SIGIOT defined as 6 on line "0119", and use being made near
line
2744, in the implementation of "trap". Another fine book....

-- 
David R. Courtade	System Administrator
Amherst Systems Inc.	Phone: (716)631-0610
30 Wilson Rd.		FAX: (716)631-0629
Buffalo, N.Y. 14221
Received on Thu Feb 18 1999 - 16:34:11 NZDT

This archive was generated by hypermail 2.4.0 : Wed Nov 08 2023 - 11:53:39 NZDT