*Part* of the problem appears to be that I was not aware of what had been
shipped to the customer. It turns out that it was a debug build that
contained assert()s which are effectively abort()s.

Charles

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On
Behalf Of Charles Mills
Sent: Thursday, June 16, 2016 10:06 PM
To: [email protected]
Subject: What causes a Signal 3?

I have a POSIX C++ application running as a started task. At a customer the
code reported a Signal 3. Looking at signal.h I see that Signal 3 is
SIGABRT, and looking at the C library reference I see that SIGABRT is
triggered by a call to abort(), which in turn may be caused by a call to
terminate(). But there are no explicit calls to either abort() or
terminate() anywhere in the source code.

My code is very good about putting out messages for abnormal conditions.
There were no preceding messages.

I'm an MVS guy. I know what a S0C1, S222 or SB37 is but I confess I am not
fully up to speed on signals. What the heck would cause an apparently
spontaneous Signal 3?

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to