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 <g>.)

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

Reply via email to