DB2 - Problem description
Problem IT26206 | Status: Closed |
A JAVA PROCESS USING JCC TYPE 2 DRIVER WHICH ACCESSES DB2 ON Z/OS THROUGH DB2 CONNECT MAY CRASH DUE TO SIGSEGV. | |
product: | |
DB2 FOR LUW / DB2FORLUW / B10 - DB2 | |
Problem description: | |
When a java process using jcc type2 driver accesses a database on z/OS through Db2 Connect as a gateway, it may crash due to SIGSEGV. This problem occurs on an environment where all of the following conditions are met: - connecting to Db2 on z/OS thru Db2 Connect - jcc type2 driver connects to Db2 Connect via IPC (not using TCP/IP) - setQueryTimeout(or commandTimeout) is used - XAConnection is used - DB2TCP_CLIENT_CONTIMEOUT is set - DB2CONNECT_IN_APP_PROCESS is set to YES(or not set, default: YES) If an interrupt occurs on the above environment, a java process may crash with the following stack trace: 00 00000000`56b72078 00007ffd`68ce75ff ntdll!NtWaitForSingleObject+0x14 01 00000000`56b72080 00007ffd`54f2d5db KERNELBASE!WaitForSingleObjectEx+0x8f 02 00000000`56b72120 00007ffd`55724c74 j9prt28+0x1d5db 03 00000000`56b721c0 00007ffd`55724945 j9dmp28+0x4c74 04 00000000`56b72220 00007ffd`54f35966 j9dmp28+0x4945 05 00000000`56b72250 00007ffd`54f35b5d j9prt28!j9port_init_library+0x7d06 06 00000000`56b72290 00007ffd`55725f8f j9prt28!j9port_init_library+0x7efd 07 00000000`56b72430 00007ffd`55726252 j9dmp28+0x5f8f 08 00000000`56b724a0 00007ffd`55738689 j9dmp28+0x6252 09 00000000`56b72940 00007ffd`4ce5dbf9 j9dmp28!J9VMDllMain+0xf789 0a 00000000`56b72c70 00007ffd`54f35966 j9vm28+0x2dbf9 0b 00000000`56b72ca0 00007ffd`54f35b5d j9prt28!j9port_init_library+0x7d06 0c 00000000`56b72ce0 00007ffd`4ce5e056 j9prt28!j9port_init_library+0x7efd 0d 00000000`56b72e80 00007ffd`54f35105 j9vm28+0x2e056 0e 00000000`56b73d30 00007ffd`6c04aac0 j9prt28!j9port_init_library+0x74a5 0f 00000000`56b73ed0 00007ffd`6c0283cb ntdll!RtlInitializeCriticalSection+0x190 10 00000000`56b73f70 00007ffd`6c088a4a ntdll!RtlImageNtHeaderEx+0x17b 11 00000000`56b74670 00007ffd`5ca40150 ntdll!KiUserExceptionDispatcher+0x3a 12 00000000`56b74c30 00007ffd`5c76623a db2app64!clientCommCallback+0x90 [S:db2_v111m1fp2 tx64s1706091900engnclicliasync.C @ 273] 13 00000000`56b74d70 00007ffd`5c761639 db2app64!sqljcMonConnectBegin+0x3a [S:db2_v111m1fp2 tx64s1706091900engnsqjcsqljcmon_clt.C @ 240] 14 00000000`56b74da0 00007ffd`5c7c5713 db2app64!sqljcCmnMgrInit+0x4b9 [S:db2_v111m1fp2 tx64s1706091900engnsqjcsqljcmn.C @ 2609] 15 00000000`56b760c0 00007ffd`53a05c80 db2app64!sqljrDrdaArInterrupt+0x623 [S:db2_v111m1fp2 tx64s1706091900engnsqjrsqljrinterrupt.C @ 973] 16 00000000`56b7f0a0 00007ffd`4ce749bf db2jcct2!Java_com_ibm_db2_jcc_uw_UWConnection_StatementCancel+0x 90 [S:db2_v111m1fp2 tx64s1706091900engnjcc2com_ibm_db2_jcc_uw _UWConnection_body.C @ 2328] 17 00000000`56b7f0e0 00000000`063ab300 j9vm28!J9_CreateJavaVM+0x9aaf This is due to due to that a part of communication handle for the interrupt processing is not initialized, and it can cause SIGSEGV. | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * JCC Type2 driver connecting to Db2 on z/OS thru Db2 Connect * * via IPC (not using TCP/IP) * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * setQueryTimeout is not supported via Db2 Connect Gateway * * server against Db2 for z/OS. * **************************************************************** | |
Local Fix: | |
One of the following can be a workaround: - Not use setQueryTimeout - Use tcp/ip connection between jcc type2 and Db2 Connect - Use jcc type4 connection - DB2CONNECT_IN_APP_PROCESS=NO | |
Solution | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 06.09.2018 10.03.2020 10.03.2020 |
Problem solved at the following versions (IBM BugInfos) | |
Problem solved according to the fixlist(s) of the following version(s) |