Hi all,
I've got a multi-tasking C & ASM LE application running 100+ TCBs.
Occasionally I get an S0C4 abend, which quickly cascades into multiple S0C4
abends. By the time LE gets round to taking a SYSMDUMP the MVS trace has
wrapped and I can't determine what is the first S0C4. I end up with multiple
CEEDUMPs and SYSMDUMPs which don't all match up. The first SYSMDUMP is produced
2 minutes after the first CEEDUMP starts and the LE ZMCH data in the first
SYSMDUMP doesn't match the Machine State data in any of the CEEDUMPs so I'm
confused.
I want a dump immediatly an S0C4 happens and before LE gets in the way and
spends several minutes generating CEEDUMPs with only partial information. From
the CEEDUMP I can't tell which TCB is failing or the exact time of the S0C4 to
work out which was first.
I've had a look in the archives and found several options, which I don't like
or I don't think will work.
1) I can't use a SLIP trap as there are phantom S0C4 abends that get captured
and resolved by the OS.
2) I'm reluctant to use TERMTHDACT=(UAIMM),TRAP=(OFF,NOSPIE) as the manual says
that results of TRAP=OFF are "unpredictable" and this is a large long running
production application.
3) ABPERC(S0C4) won't work as the doc says S0CX abends are ignored.
I'm thinking TERMTHDACT=(UAIMM) on it's own might be the best bet to get an
early SYSMDUMP showing the S0C4 in the trace. Would I get dumps for other
things that LE might normally be able to deal with?
Any other options?
Thanks, Ron.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN