IBM Support

IC65689: COMMUNICATIONS ERROR MESSAGE '{1} IS NULL' FROM IBM DATA SERVER DRIVER FOR JDBC AND SQLJ, ON T4AGENT.SENDREQUEST()

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • The following exception may be seen when using an IBM Data
    Server Driver for JDBC and SQLJ, Type 4 connection against a
    DB2 for z/OS subsystem, if the driver version is 3.57.82
    (DB2 9.7 GA) or later:
    
    com.ibm.db2.jcc.am.yn: [jcc][t4][2030][11211][3.57.82] A
    communication error occurred during operations on the
    connection's underlying socket, socket input stream, or socket
    output stream.  Error location: T4Agent.sendRequest(). Message:
    [jcc][t4][20121][11651]{1} is NULL.. ERRORCODE=-4499,
    SQLSTATE=08001
    
    A JDBC trace capturing this error will show a tracepoint similar
    to the following, before the error is returned:
    
    [jcc][t4][time:2010-xx-xx-xx:xx:xx.xxx][Thread: <threadname>]
    [tracepoint:208]Null socketOutputStream in sendBytes,
    haveTransport_: true transportObject_:
    com.ibm.db2.jcc.t4.zb@2220222 transportKey_: NULL
    

Local fix

  • To circumvent this issue, create or modify a driver global
    properties file with the name
    'DB2JccConfiguration.properties' and add the following line to
    it:
    
    db2.jcc.maxTransportObjectIdleTime=-1
    
    Then place this file in a directory which is in the CLASSPATH.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * JDBC applications connecting to DB2 for z/OS via Type 4      *
    * connection, using IBM Data Server Driver for JDBC and SQLJ   *
    * version 3.57.82 or later                                     *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * The following exception may be seen when using an IBM Data   *
    * Server Driver for JDBC and SQLJ, Type 4 connection against a *
    * DB2 for z/OS subsystem, if the driver version is 3.57.82     *
    * (DB2 9.7 GA) or later:                                       *
    *                                                              *
    *                                                              *
    * com.ibm.db2.jcc.am.yn: [jcc][t4][2030][11211][3.57.82] A     *
    *                                                              *
    * communication error occurred during operations on the        *
    * connection's underlying socket, socket input stream, or      *
    * socket                                                       *
    * output stream.  Error location: T4Agent.sendRequest().       *
    * Message:                                                     *
    * [jcc][t4][20121][11651]{1} is NULL.. ERRORCODE=-4499,        *
    * SQLSTATE=08001                                               *
    *                                                              *
    *                                                              *
    *                                                              *
    * A JDBC trace capturing this error will show a tracepoint     *
    * similar to the following, before the error is returned:      *
    *                                                              *
    *                                                              *
    *                                                              *
    * [jcc][t4][time:2010-xx-xx-xx:xx:xx.xxx][Thread:              *
    * <threadname>]                                                *
    * [tracepoint:208]Null socketOutputStream in sendBytes,        *
    * haveTransport_: true transportObject_:                       *
    *                                                              *
    * com.ibm.db2.jcc.t4.zb@2220222 transportKey_: NULL            *
    *                                                              *
    * This exception is due to an issue with a timer which closes  *
    * unused internal connections opened against DB2 for z/OS,     *
    * when there is more than one active transaction on a single   *
    * JDBC connection. This has been fixed in later versions of    *
    * the JDBC driver.                                             *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Upgrade the JDBC driver to DB2 version 9.7 Fix Pack 2 or     *
    * later. This is IBM Data Server Driver for JDBC and SQLJ      *
    * versions 3.59.81 (JDBC 3.0 specification, db2jcc.jar) and    *
    * 4.9.78 (JDBC 4.0 specification, db2jcc4.jar).                *
    ****************************************************************
    

Problem conclusion

  • First Fixed in DB2 Version 9.7 Fix Pack 2 (IBM Data Server
    Driver for JDBC and SQL versions 3.59.81 and 4.9.78).
    

Temporary fix

Comments

APAR Information

  • APAR number

    IC65689

  • Reported component name

    DB2 CONNECT

  • Reported component ID

    DB2CONNCT

  • Reported release

    970

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2010-01-20

  • Closed date

    2010-05-13

  • Last modified date

    2012-11-30

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    IC66104

Fix information

  • Fixed component name

    DB2 CONNECT

  • Fixed component ID

    DB2CONNCT

Applicable component levels

  • R950 PSY

       UP

  • R970 PSY

       UP



Document information

More support for: DB2 for Linux, UNIX and Windows

Software version: 9.7

Reference #: IC65689

Modified date: 30 November 2012