A fix is available
APAR status
Closed as program error.
Error description
You have a java program that makes 3 or 4 calls to an external resource manager like DB2. There is something wrong, with security or with set-up, that causes each call to fail with a transaction abend. On the third or fourth call, each failing with a transaction abend, CICS abends with DFHPC0409. . Here is an example of the DFHPC0409 message: . DFHPC0409 DBDCCICS Abends AEY9 and AEY9 have been issued while processing abend AD3F for the same task, transaction TRN1. . Also, when control returns back to the java program following a transaction abend, there is no ERM EXIT trace entry. Additional Symptom(s) Search Keyword(s): KIXREVDWZ
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All CICS users. * **************************************************************** * PROBLEM DESCRIPTION: A Java program accessing DB2 * * experiences a series of abends (AD2U, * * and AEY9) following a DB2 PLAN access * * error. CICS abends with message * * DFHPC0409. * **************************************************************** * RECOMMENDATION: * **************************************************************** A Java application program running in CICS attempts to access DB2, but is not running with authorisation to access the required DB2 PLAN. The attempt to create a DB2 thread fails, and the transaction requests an AD2U transaction dump. . The following trace entries are issued: AP 3265 D2D2 *EXC* FAILED_TO_CREATE_THREAD_FOR_PLAN(planname) AP 3251 D2D2 EXIT DB2_API_CALL/EXCEPTION CREATE_THREAD_FAILED . Control is returned to the application, with an SqlSyntaxErrorException. jcc T2zos T2zosConnection.flowConnect:execConnect:1403: DB2 engine SQL error, SQLCODE = -922, SQLSTATE = 42505, error tokens = PLAN ACCESS;00F30034 ERRORCODE=-922, SQLSTATE=42505 . The application makes a second attempt to access DB2. This fails with an abendAD2U because of the earlier error to create a thread. Control is returned to the application with an SqlException jcc T2zos T2zosConnection.flowConnect:execConnect:1337: Connection dead, SQLCODE:-4499, SQLSTATE:null ERRORCODE=-4499, SQLSTATE=null . The application makes a third attempt to access DB2. By this point the TRUE has been marked unusable for the current task, so this results in abend AEY9 and another SqlException. CICS issues trace entry AP 2524 ERM *EXC* TRUE(DSNCSQL )-UNAVAILABLE . Further attempts by the application to issue DB2 requests also generate abendAEY9. The problem is that with each abend, the TCAABREC bit is not reset when control is returned to the Java application, so now CICS abends with message DFHPC0409. . In a variation of the reported problem, a task attempts to issue just one DB2 request using a protected thread. This receives the FAILED_TO_CREATE_THREAD_FOR_PLAN exception due to the PLAN access problem. That task then ends. The PURGECYCLE specified on the DB2CONN expires, and CICS attempts to clean up this thread. The thread was never created (csb_thread_created is off) so the TERMINATE_THREAD request does nothing, and does not unset csb_term_thread. The next task attempting to reuse this CSB will get the plan access error and FAILED_TO_CREATE_THREAD_FOR_PLAN exception but then abend AD3F because csb_term_thread is still on. . Additional keywords: com.ibm.db2.jcc.am.SqlSyntaxErrorException com.ibm.db2.jcc.am.SqlException AD2U AEY9 AD3F msfDFHPC0409 PC0409
Problem conclusion
DFHERM has been corrected to switch off the TCAABREC indicator when control is returned to a Java application following an error. DFHERM has also been updated to ensure that the exit trace entry is issued following an abend. DFHD2D2 has been updated so that an attempt to run TERMINATE_THREAD against a CSB for which a thread was never created will clear the csb_term_thread state.
Temporary fix
********* * HIPER * ********* FIX AVAILABLE BY PTF ONLY
Comments
APAR Information
APAR number
PI45750
Reported component name
CICS TS Z/OS V5
Reported component ID
5655Y0400
Reported release
900
Status
CLOSED PER
PE
NoPE
HIPER
YesHIPER
Special Attention
NoSpecatt
Submitted date
2015-07-27
Closed date
2015-10-02
Last modified date
2015-11-03
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI31712
Modules/Macros
DFHD2D2 DFHERM
Fix information
Fixed component name
CICS TS Z/OS V5
Fixed component ID
5655Y0400
Applicable component levels
R900 PSY UI31712
UP15/10/08 P F510 ½
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":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"5.2","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}},{"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":"5.2","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
03 November 2015