A fix is available
APAR status
Closed as program error.
Error description
An abend s0C4 may occur when using fread() to read from a DD statement with concatenated statements if unable to open one of the subsequent definitions and the DD is opened using the QSAM access method ("noseek" specified on fopen()). For example, an input DD defined as: //INPUT DD * Testdata // DD DSN=MEGA.JCL(NOMEM),DISP=SHR and opened with: fopen("DD:INPUT","rb,noseek"); [the 'noseek' keyword will drive QSAM] After reading the valid data, and switching to the invalid dataset in the concatenation, a DFSMS failure may surface, but the LE C Run-Time ignores the abend and returns to the caller. Then on a subsequent fread(), an abend s0C4 may occur when trying to branch to the QSAM GET macro - but the DCB may no longer be valid. An example traceback of the 0C4: CEL4IO31 -05FE29D8 CEEEV003 Exception rp39 +00000110 CEEEV003 HLE77A0 Call fread +0000052C CEEEV003 HLE77A0 Call main +000000E2 FREADDD Call EDCZMINV +000000C0 CEEEV003 Call CEEBBEXT +000001C6 CEEPLPKA HLE77A0 Call Verification Steps: 1) Verify dataset is concatenated in the JCL, and being opened for reading using the 'noseek' keyword on fopen() 2) Verify fopen() is successful. 3) Observe if a DFSMS condition occurs, such as a s013 or s913 abend, and program control returns to the application. 4) From a dump, determine if an 0C4 condition is encountered because the DCB+x31 value which should point to the GET macro is no longer valid.
Local fix
Correct the invalid/inaccessible statement in the JCL
Problem summary
**************************************************************** * USERS AFFECTED: * * Any z/OS C/C++ application using fread() * * on a concatenated DDname opened as binary * * I/O (rb) with the noseek option or a OS * * file opened using record I/O (type=record) * * and the noseek option. * **************************************************************** * PROBLEM DESCRIPTION: * * When reading from a concatenated DDname * * a S0C4 abend may occur when one of * * the concatenated datasets is either * * non-existent or one the application * * does not have access to. * * The abend issued by DFSMS when it * * switches datasets is improperly ignored * * by the C run time library. * **************************************************************** * RECOMMENDATION: * **************************************************************** See problem description.
Problem conclusion
The code was changed to add a check for the ABEND and to mark the file as unusable.
Temporary fix
Comments
APAR Information
APAR number
PI72387
Reported component name
LE C LIBRARY
Reported component ID
568819805
Reported release
7A0
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2016-11-15
Closed date
2017-05-30
Last modified date
2017-07-05
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI46660 UI46661 UI47644
Modules/Macros
EDC40045 CELHP083 CELHP039 CELQP083 CELQP039 EDC40051 EDCERNO2
Fix information
Fixed component name
LE C LIBRARY
Fixed component ID
568819805
Applicable component levels
R7A0 PSY UI46660
UP17/06/02 P F705
R790 PSY UI46661
UP17/06/02 P F705
R7B0 PSY UI47644
UP17/06/17 P F706
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":"SSCVSBD","label":"Runtime"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7A0","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7A0","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":null,"label":null},"Product":{"code":"SG19O","label":"APARs - MVS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7A0","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
05 July 2017