I agree that it's likely a subscript range overflow.  I believe I had this same 
symptom for a program, and the cause was trying to write beyond my 
working-storage (because of attempting to subscript beyond the length of a 
table.)  It wiped out some file area control blocks and caused this error.
________________________________
From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> on behalf of 
Schmitt, Michael <michael.schm...@dxc.com>
Sent: Friday, April 7, 2023 12:35 PM
To: IBM-MAIN@LISTSERV.UA.EDU <IBM-MAIN@LISTSERV.UA.EDU>
Subject: Re: U4038 - IGZ0099C Internal error CLOSE-FIB was detected in module 
IGZ@QSAM.

Since no one else has answered, I'll speculate.

One possibility is that the file is fine, but it is driving application logic 
that is stomping on LE, leading to the internal error. If COBOL, try compiling 
with SSRANGE. And add the HEAPCHK(ON) LE runtime option, such as via CEEOPTS 
DD. HEAPCHK will check for damage to the heap control information at each call 
to a Language Environment heap storage management service. If damage is found, 
it will immediately abend with a U4042. (But it won't abend on the actual line 
that is causing the damage, since it only checks when LE services are used.)

If it is an actual file problem, what is the RECFM? If it is VB, perhaps 
there's something wrong with the file structure. Try dumping the block that 
contains the problem record and inspect the BDW and RDW. And, if you copy the 
file with a utility that does record level copies (such as IEBGENER, but not 
SYNCGENER!), does it fix it?

-----Original Message-----
From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On Behalf Of 
Crusty Old Guy
Sent: Friday, April 7, 2023 11:28 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: U4038 - IGZ0099C Internal error CLOSE-FIB was detected in module 
IGZ@QSAM.

I have a program that abends with a U4038 on file close.  This only happens 
when a specific record is on an input file.  No record, no problem.
This is from the dump -
IGZ0099C Internal error CLOSE-FIB was detected in module IGZ@QSAM.
>From compile unit XXXXXXXX at entry point XXXXXXXX at compile unit offset 
>+00000B5A at entry offset +00000B5A at address 00007B5A.
 <> LEAID LEAID001I UNRECOGNIZED CEEMGET FEEDBACK CODE: 
x000301C259C3C5C500000021

U4038 is usually associated with record or storage size. Is that correct?
How can one record alter the size of a storage or record size?

Regards,
COG

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN




----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
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