This looks very like ABEND 80A in assembler's equivalent. The below-line region
space has been exhausted. Most likely because in the recovery process, too much
below line staorge are used and no more module can be loaded.
James
-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf
Of Charles Mills
Sent: Thursday, October 06, 2016 11:27 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: CEEDUMP possible following 'new' failure
I have been wrestling with the issue of recovery from a failure of 'new'
(kind of like a GETMAIN for those of you who are not C people; just like
malloc() for those of you who are C but not C++ people) in XLC/LE C++ code.
(Yes, I know, the right answer is "don't do too many 'new's" but this is error
recovery code. Stuff happens, or IBM would not have invented ESTAE.
"More region size" is not the answer -- this is an intentional test of storage
exhaustion. More storage would just make it slower to fail .)
First I got past the non-standard behavior of XLC in that rather than blowing
up per the standard, XLC just returns NULL (0) for a failed new. Got the
LANGLVL(NEWEXCP) in place.
So I am catching 'new' exceptions. The next problem was that it was impossible
to do anything meaningful after catching the 'new' exception because storage
was exhausted. So I read somewhere that one had to specify #pragma RUNOPTS(
STORAGE(,,,32K) ) to reserve some storage for the storage exhaustion case. I
specified 48K just to be on the safe side. This made things better: I go
through my error recovery, clean things up, and end gracefully.
The remaining problem is that I am not getting any diagnostic information, in
other words, exactly *which* new failed -- which will of course make any bug of
this sort in the field hard to find. I call CEEDUMP to get a call trace and it
produces an *empty* four-line dataset. On the console I get
IEW4000I FETCH FOR MODULE CEEMENU3 FROM DDNAME *VLF*FAILED BECAUSE
INSUFFICIENT STORAGE WAS AVAILABLE.
CSV031I LIBRARY ACCESS FAILED FOR MODULE CEEMENU3, RETURN CODE 24, REASON CODE
26080021, DDNAME *LNKLST*
Any suggestions?
Charles
--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to
lists...@listserv.ua.edu with the message: INFO IBM-MAIN
ATTENTION: -
The information contained in this message (including any files transmitted with
this message) may contain proprietary, trade secret or other confidential
and/or legally privileged information. Any pricing information contained in
this message or in any files transmitted with this message is always
confidential and cannot be shared with any third parties without prior written
approval from Syncsort. This message is intended to be read only by the
individual or entity to whom it is addressed or by their designee. If the
reader of this message is not the intended recipient, you are on notice that
any use, disclosure, copying or distribution of this message, in any form, is
strictly prohibited. If you have received this message in error, please
immediately notify the sender and/or Syncsort and destroy all copies of this
message in your possession, custody or control.
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN