ODP is terminated with storage violation (signal 11) leaving in-doubt transactions and client receives oci-24550
(Doc ID 2379491.1)
Last updated on AUGUST 31, 2023
Applies to:
Oracle Database Provider for DRDA - Version 12.1.0.2 to 12.2.0.1 [Release 12.1 to 12.2]Information in this document applies to any platform.
Symptoms
When connecting from DB2 (11.1) on z/OS through ODP 12.1.0.2 (or ODP 12.2.0.1) to Oracle 12.1 Database, an signal 11 (si_signo=11) storage violation was received and ODP terminates with oci-24550 which contains an incident trace of the ODP call stack.
After ODP crashed with signal 11 (oci-24550), this left in-doubt transactions (DBA_2PC_PENDING).
ODP Client trace:
Trace file /u01/app/oracle/product/12.1.0/tghome_1/log/diag/dps/drdaas/drdaproc/trace/pp_32592_drdaas.trc
DDE: Flood control is not active
Incident 23481 created, dump file: /u01/app/oracle/product/12.1.0/tghome_1/log/diag/dps/drdaas/drdaproc/incident/incdir_23481/pp_32592_i23481.trc
oci-24550 [11] [[si_signo=11] [si_errno=0] [si_code=1] [si_int=40600752] [si_ptr=0x26b84b0] [si_addr=0x2]] [] [] [] [] [] [] [] [] [] []
DDE: Flood control is not active
Incident 23481 created, dump file: /u01/app/oracle/product/12.1.0/tghome_1/log/diag/dps/drdaas/drdaproc/incident/incdir_23481/pp_32592_i23481.trc
oci-24550 [11] [[si_signo=11] [si_errno=0] [si_code=1] [si_int=40600752] [si_ptr=0x26b84b0] [si_addr=0x2]] [] [] [] [] [] [] [] [] [] []
Incident trace of the ODP call stack:
Dump file /u01/app/oracle/product/12.1.0/tghome_1/log/diag/dps/drdaas/drdaproc/incident/incdir_23481/pp_32592_i23481.trc
[TOC00000]
Jump to table of contents
Dump continued from file: /u01/app/oracle/product/12.1.0/tghome_1/log/diag/dps/drdaas/drdaproc/trace/pp_32592_drdaas.trc
[TOC00001]
oci-24550 [11] [[si_signo=11] [si_errno=0] [si_code=1] [si_int=40600752] [si_ptr=0x26b84b0] [si_addr=0x2]] [] [] [] [] [] [] [] [] [] []
[TOC00001-END]
[TOC00002]
========= Dump for incident 23481 (oci 24550) ========
Starting a Diag Context default dump (level=3)
----- Call Stack Trace -----
calling call entry argument values in hex
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------
dbgc_dmp()+145 call kgdsdst() 7FFDC87B8050 000000003 7FFDC8799AC0 ? 7FFDC8799BD8 ? 7FFDC87B78B8 ? 000000083 ?
dbgexPhaseII()+1845 call dbgc_dmp() 7FC52C68E7E0 7FC52C68EB00 7FFDC8799AC0 ? 7FFDC8799BD8 ? 7FFDC87B78B8 ? 000000083 ?
dbgexProcessError()+2539 call dbgexPhaseII() 00261AAE0 002633270 7FFDC87BC230 7FFDC8799BD8 ? 7FFDC87B78B8 ? 000000083 ?
dbgeExecuteForError()+110 call dbgexProcessError() 00261AAE0 002633270 000000000 000000000 7FFDC87B78B8 ? 000000083 ?
dbgePostErrorDirect()+2230 call dbgeExecuteForError() 00261AAE0 002633270 000000000 000000000 000000000 000000083 ?
kpeDbgSignalHandler()+302 call dbgePostErrorDirect() 00261AAE0 ? 002633270 ? 000000000 ? 000000000 ? 00000000 ? 000000000
skgesig_sigactionHandler()+229 call kpeDbgSignalHandler() 00261AAE0 7FC52CC7ABEC 000000000 ? 000000000 ? 000000000 ? 000000000 ?
__sighandler() call skgesig_sigactionHandler() 000000400 000000000 000000000 000000000 ? 000000000 ? 000000000 ?
__intel_ssse3_rep_memcpy()+10806 signal __sighandler() 0026BC698 000000000 7FC52B843F06 000000000 ? 000000018 ? 101010101010101 ?
_intel_fast_memcpy.P()+6 call __intel_ssse3_rep_memcpy() 0026BC698 ? 000000000 ? 7FC52B843F06 ? 000000000 ? 000000018 ? 101010101010101 ?
dpsadacopyvaltoval()+75 call _intel_fast_memcpy.P() 0026BC698 ? 000000000 7FC52B843F06 ? 000000000 ? 000000018 ? 101010101010101 ?
dpsadrsynclog()+3585 call dpsadacopyvaltoval() 0026B84B0 0026BA380 00275CFB0 0026BCA00 000000018 ? 101010101010101 ?
dpsadrsyncctl()+6364 call dpsadrsynclog() 0026B84B0 7FFDC87BEC68 0026BA380 00274B198 0026BC9E0 101010101010101 ?
dpsaaptwep_PpTaskWorkEntryPoint()+1647 call dpsadrsyncctl() 0026BC340 000000000 0026F0F38 00274B198 ? 0026BC9E0 ? 101010101010101 ?
[TOC00000]
Jump to table of contents
Dump continued from file: /u01/app/oracle/product/12.1.0/tghome_1/log/diag/dps/drdaas/drdaproc/trace/pp_32592_drdaas.trc
[TOC00001]
oci-24550 [11] [[si_signo=11] [si_errno=0] [si_code=1] [si_int=40600752] [si_ptr=0x26b84b0] [si_addr=0x2]] [] [] [] [] [] [] [] [] [] []
[TOC00001-END]
[TOC00002]
========= Dump for incident 23481 (oci 24550) ========
Starting a Diag Context default dump (level=3)
----- Call Stack Trace -----
calling call entry argument values in hex
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------
dbgc_dmp()+145 call kgdsdst() 7FFDC87B8050 000000003 7FFDC8799AC0 ? 7FFDC8799BD8 ? 7FFDC87B78B8 ? 000000083 ?
dbgexPhaseII()+1845 call dbgc_dmp() 7FC52C68E7E0 7FC52C68EB00 7FFDC8799AC0 ? 7FFDC8799BD8 ? 7FFDC87B78B8 ? 000000083 ?
dbgexProcessError()+2539 call dbgexPhaseII() 00261AAE0 002633270 7FFDC87BC230 7FFDC8799BD8 ? 7FFDC87B78B8 ? 000000083 ?
dbgeExecuteForError()+110 call dbgexProcessError() 00261AAE0 002633270 000000000 000000000 7FFDC87B78B8 ? 000000083 ?
dbgePostErrorDirect()+2230 call dbgeExecuteForError() 00261AAE0 002633270 000000000 000000000 000000000 000000083 ?
kpeDbgSignalHandler()+302 call dbgePostErrorDirect() 00261AAE0 ? 002633270 ? 000000000 ? 000000000 ? 00000000 ? 000000000
skgesig_sigactionHandler()+229 call kpeDbgSignalHandler() 00261AAE0 7FC52CC7ABEC 000000000 ? 000000000 ? 000000000 ? 000000000 ?
__sighandler() call skgesig_sigactionHandler() 000000400 000000000 000000000 000000000 ? 000000000 ? 000000000 ?
__intel_ssse3_rep_memcpy()+10806 signal __sighandler() 0026BC698 000000000 7FC52B843F06 000000000 ? 000000018 ? 101010101010101 ?
_intel_fast_memcpy.P()+6 call __intel_ssse3_rep_memcpy() 0026BC698 ? 000000000 ? 7FC52B843F06 ? 000000000 ? 000000018 ? 101010101010101 ?
dpsadacopyvaltoval()+75 call _intel_fast_memcpy.P() 0026BC698 ? 000000000 7FC52B843F06 ? 000000000 ? 000000018 ? 101010101010101 ?
dpsadrsynclog()+3585 call dpsadacopyvaltoval() 0026B84B0 0026BA380 00275CFB0 0026BCA00 000000018 ? 101010101010101 ?
dpsadrsyncctl()+6364 call dpsadrsynclog() 0026B84B0 7FFDC87BEC68 0026BA380 00274B198 0026BC9E0 101010101010101 ?
dpsaaptwep_PpTaskWorkEntryPoint()+1647 call dpsadrsyncctl() 0026BC340 000000000 0026F0F38 00274B198 ? 0026BC9E0 ? 101010101010101 ?
ODP trace:
Trace file /u01/app/oracle/product/12.1.0/tghome_1/log/diag/dps/drdaas/drdaproc/trace/pp_51156_drdaas.trc
Entering dpstscal, TX= 0x10fd048 at 2018-02-23 13:05:49.419594000
Entering dpsiocc, TX= 0x10fd048 at 2018-02-23 13:05:49.419763000
===
DSSRQS: Calling Requester Exchange Server Attributes
Entering dpsadrexcsat at 2018-02-23 13:05:49.423276000
MyMemoryAlloc(4280) => 0x12156b0
===
DSSRQS: Calling Requester Sync Point Control
Entering dpsadrsyncctl at 2018-02-23 13:05:49.534974000
-container 1055 "SYNCCTL"
-insvar 1187 "synctype"
-synctype 01
-container 106F "SYNCLOG"
SYNCCTL: Beginning UOWSTATE: 01 (RESET)
SYNCCTL: SYNCTYPE Operation: 01 (PREP2COMM)
SYNCCTL: PREP2COMM
Entering dpsadcsrca_CursorCloseAll, mode= 8206 at 2018-02-23 13:05:49.535030000
Exiting dpsadcsrca_CursorCloseAll, RC= 0 at 2018-02-23 13:05:49.535046000
Entering dpsadcsrldfa_LobDescFreeAll, mode= 8206 at 2018-02-23 13:05:49.535065000
Exiting dpsadcsrldfa_LobDescFreeAll, RC= 0 at 2018-02-23 13:05:49.535079000
Entering dpsadcsrfa_CursorFreeAll, mode= 8206 at 2018-02-23 13:05:49.535090000
Entering dpsadcsrf_CursorFree, Cursor= 0x12cc568 at 2018-02-23 13:05:49.535101000
OCIStmtRelease(0x12cc568[0x12d4948]) -> RC=0
Entering dpsadcsru_CursorUnhash, Cursor= 0x12cc568 at 2018-02-23 13:05:49.535126000
Exiting dpsadcsru_CursorUnhash, RC= 0 at 2018-02-23 13:05:49.535139000
Exiting dpsadcsrf_CursorFree, RC= 0 at 2018-02-23 13:05:49.535151000
Exiting dpsadcsrfa_CursorFreeAll, RC= 0 at 2018-02-23 13:05:49.535162000
OCIAttrGet(h0x125f5a0,OCIT_ATTR_END_OF_CALL_STATUS) -> RC=0 (flag=00000003)
SYNCCTL: skipping OCITransPrepare
Entering dpsadrsynclog at 2018-02-23 13:05:49.535183000
-insvar 1184 "logname"
DDE: Flood control is not active
Incident 41 created, dump file: /u01/app/oracle/product/12.1.0/tghome_1/log/diag/dps/drdaas/drdaproc/incident/incdir_41/pp_51156_i41.trc
oci-24550 [11] [[si_signo=11] [si_errno=0] [si_code=1] [si_int=4352] [si_ptr=0x1100] [si_addr=0x2]] [] [] [] [] [] [] [] [] [] []
Entering dpstscal, TX= 0x10fd048 at 2018-02-23 13:05:49.419594000
Entering dpsiocc, TX= 0x10fd048 at 2018-02-23 13:05:49.419763000
===
DSSRQS: Calling Requester Exchange Server Attributes
Entering dpsadrexcsat at 2018-02-23 13:05:49.423276000
MyMemoryAlloc(4280) => 0x12156b0
===
DSSRQS: Calling Requester Sync Point Control
Entering dpsadrsyncctl at 2018-02-23 13:05:49.534974000
-container 1055 "SYNCCTL"
-insvar 1187 "synctype"
-synctype 01
-container 106F "SYNCLOG"
SYNCCTL: Beginning UOWSTATE: 01 (RESET)
SYNCCTL: SYNCTYPE Operation: 01 (PREP2COMM)
SYNCCTL: PREP2COMM
Entering dpsadcsrca_CursorCloseAll, mode= 8206 at 2018-02-23 13:05:49.535030000
Exiting dpsadcsrca_CursorCloseAll, RC= 0 at 2018-02-23 13:05:49.535046000
Entering dpsadcsrldfa_LobDescFreeAll, mode= 8206 at 2018-02-23 13:05:49.535065000
Exiting dpsadcsrldfa_LobDescFreeAll, RC= 0 at 2018-02-23 13:05:49.535079000
Entering dpsadcsrfa_CursorFreeAll, mode= 8206 at 2018-02-23 13:05:49.535090000
Entering dpsadcsrf_CursorFree, Cursor= 0x12cc568 at 2018-02-23 13:05:49.535101000
OCIStmtRelease(0x12cc568[0x12d4948]) -> RC=0
Entering dpsadcsru_CursorUnhash, Cursor= 0x12cc568 at 2018-02-23 13:05:49.535126000
Exiting dpsadcsru_CursorUnhash, RC= 0 at 2018-02-23 13:05:49.535139000
Exiting dpsadcsrf_CursorFree, RC= 0 at 2018-02-23 13:05:49.535151000
Exiting dpsadcsrfa_CursorFreeAll, RC= 0 at 2018-02-23 13:05:49.535162000
OCIAttrGet(h0x125f5a0,OCIT_ATTR_END_OF_CALL_STATUS) -> RC=0 (flag=00000003)
SYNCCTL: skipping OCITransPrepare
Entering dpsadrsynclog at 2018-02-23 13:05:49.535183000
-insvar 1184 "logname"
DDE: Flood control is not active
Incident 41 created, dump file: /u01/app/oracle/product/12.1.0/tghome_1/log/diag/dps/drdaas/drdaproc/incident/incdir_41/pp_51156_i41.trc
oci-24550 [11] [[si_signo=11] [si_errno=0] [si_code=1] [si_int=4352] [si_ptr=0x1100] [si_addr=0x2]] [] [] [] [] [] [] [] [] [] []
The error is generated as follows:
- When making a SELECT for any table from DB2 through DRDA and SPUFI (SELECT FROM an alias for a Oracle table in DB2)
- The SELECT sentence returns all the data registers from the query on the screen in a proper way but an TCP/IP error is returned at the end.
- An oci-24550 error is produced in ODP Gateway as an incident.
- Three seconds later, an in-doubt transaction in prepared state remains in the Oracle Database, which comes from ODP Gateway server.
- After tracing communications between DB2 client and ODP Gateway where the DB2 client established the connection, it's the ODP Gateway which closes it.
- This only happens for one of six partitions in our DB2 system and the query works in the other partitions.
- When we trace communications between DB2 client and ODP Gateway for a partition where the error doesn't occur, it's the DB2 client that opens and closes the TCP/IP connection.
- The SELECT sentence returns all the data registers from the query on the screen in a proper way but an TCP/IP error is returned at the end.
- An oci-24550 error is produced in ODP Gateway as an incident.
- Three seconds later, an in-doubt transaction in prepared state remains in the Oracle Database, which comes from ODP Gateway server.
- After tracing communications between DB2 client and ODP Gateway where the DB2 client established the connection, it's the ODP Gateway which closes it.
- This only happens for one of six partitions in our DB2 system and the query works in the other partitions.
- When we trace communications between DB2 client and ODP Gateway for a partition where the error doesn't occur, it's the DB2 client that opens and closes the TCP/IP connection.
Cause
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
In this Document
Symptoms |
Cause |
Solution |
References |