[comp.unix.ultrix] longjmp botch on DECstation 3100

penneyj@servio.UUCP (D. Jason Penney) (09/01/89)

Has anyone else seen this problem?  I have a program with a SIGINT
trap installed using sigvec().  This program works fine on six other
systems, including 5 other Unix environments.

On my DECstation-3100 running Ultrix 3.x, this SIGINT handler works
fine UNLESS I invoke it while the program is generating output.  In
this case, I get the message,

longjmp botch

Then, if I'm lucky, I get a core dump with a SIGILL (SEXC_CPU,
coprocessor unusable) code.

The call stack from the resulting core looks like,

[stack frames deleted]
vvvvv   This is our general purpose fault handler vvvv
   4 HostFaultHandler(sig = 4, code = 76, scp = 0x7fffe914) ["hostunix.c":1815, 0x410d78]
   5 abort.abort(0x0, 0x0, 0x436b98, 0x0, 0x424ee0) ["setjmperr.c":26, 0x43db2c]
   6 _filbuf(0x0, 0x0, 0x0, 0x0, 0x0) ["setjmp.s":113, 0x433c1c]
   7 main(argc = 0, argv = (nil)) ["/beta/product/programs/gemstone55/fred.hc":2981, 0x424edc]

As you can see, the error seems to be generated from within _filbuf, a C
i/o routine.

Any clues, guys?

Thanks in advance...
-- 
D. Jason Penney                  Ph: (503) 629-8383
Beaverton, OR 97006              uucp: ...uunet!servio!penneyj
STANDARD DISCLAIMER:  Should I or my opinions be caught or killed, the
company will disavow any knowledge of my actions...