A fix is available
APAR status
Closed as program error.
Error description
AbendU4038 and CEE0802C Heap storage control information was damaged. After several tests it looks like it is not an issue of nosuballoc32bitmem but rather an issue of the filesize of //DD STDENV in IMS-Processing DFSJVM36. A one byte overlay occurs because IMS is moving too much data into the buffer allocated for the options string. Additional symptoms - abendU4087 CEE0802C on JVM startup in DFSJVM36
Local fix
Shorten the input string.
Problem summary
**************************************************************** * USERS AFFECTED: * * All users of IMS v15 with application programs running in a * * Java environment * **************************************************************** * PROBLEM DESCRIPTION: * * While processing a JVM request, a storage overlay may occur, * * resulting in heap damage. * **************************************************************** * RECOMMENDATION: * * INSTALL CORRECTIVE SERVICE FOR APAR/PTF * **************************************************************** In the C programming language, a null character is placed at the end of a String to denote the end of the string. The strlen function returns the length of a string, not including this null character. The strcpy function copies a string, including the null character, so that the result of a copy is a valid string. Therefore, when using strlen to determine how much storage must be allocated to contain a string, it is necessary to add one additional byte to account for the null character. In multiple places within the JVM processing modules, this was not done, resulting in a possible one byte storage overlay. Because malloc rounds the length up to the next multiple of eight to ensure doubleword alignment, the overlay is not guaranteed to occur. In particular, the precise length of the Java options string can determine whether or not this issue appears. External symptom: ABENDU4038. It is possible for other symptoms to appear instead of this one, depending on the precise location of the overlaid storage.
Problem conclusion
In modules DFSJVM00, DFSJVM36, and DFSJVM64, all occurrences of malloc that allocate insufficient storage are corrected to ensure that the correct amount of storage is allocated. These occurrences include: 1. When allocating storage to hold the JZOS_OUTPUT_ENCODING environment variable setting 2. In the Trim subroutine, which trims leading and trailing spaces 3. When allocating storage to hold the -Xoptionsfile setting Debug statements are added which will print a message in the application program job output indicating whether or not a storage overlay is detected. These messages are only displayed if DEBUG=Y is specified, except in the case of the CreateJVM function, for which debug statements are printed whether or not DEBUG=Y is specified.
Temporary fix
********* * HIPER * *********
Comments
APAR Information
APAR number
PH65174
Reported component name
IMS V15
Reported component ID
5635A0600
Reported release
500
Status
CLOSED PER
PE
NoPE
HIPER
YesHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2025-02-10
Closed date
2025-06-05
Last modified date
2025-07-02
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UO03516
Modules/Macros
DFSJVM00 DFSJVM36 DFSJVM64
Fix information
Fixed component name
IMS V15
Fixed component ID
5635A0600
Applicable component levels
R500 PSY UO03516
UP25/06/07 P F506 ¢
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSEPH2","label":"IMS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"15","Line of Business":{"code":"LOB70","label":"Z TPS"}}]
Document Information
Modified date:
02 July 2025