Fixes are available
DB2 Version 9.5 Fix Pack 3b for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 4 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 3a for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 3 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 4a for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 5 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 6a for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 7 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 8 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 9 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 10 for Linux, UNIX, and Windows
APAR status
Closed as program error.
Error description
A 64-bit database manager instance might trap after you run a 32-bit stored procedure, with a sequence of messages in db2diag.log that includes messages like these, including "Double free.": 2999-12-31-23.59.59.99999+0000 XXXXXXXXXXXXX LEVEL: Warning PID : XXXX TID : XXXX PROC : db2syscs.exe INSTANCE: MYINST NODE : XXX DB : MYDB APPHDL : X-XXX APPID: XXXXXXXX.XXXX.XXXXXXXXXXXX AUTHID : MYUSER FUNCTION: DB2 UDB, routine_infrastructure, sqlerReturnFmpToPool, probe:1001 DATA #1 : String, 4 bytes PID: DATA #2 : SQLO_PID, PD_TYPE_SQLO_PID, 4 bytes XXXX DATA #3 : String, 10 bytes stateFlags DATA #4 : Hex integer, 4 bytes 0x00000010 [...] 2999-12-31-23.59.59.99999+0000 XXXXXXXXXXXXX LEVEL: Severe PID : XXXX TID : XXXX PROC : db2syscs.exe INSTANCE: MYINST NODE : XXX DB : MYDB APPHDL : X-XXX APPID: XXXXXXXX.XXXX.XXXXXXXXXXXX AUTHID : MYUSER FUNCTION: DB2 UDB, routine_infrastructure, sqlerCleanThreadResource, probe:7 RETCODE : ZRC=0x850F0005=-2062614523=SQLO_NOSEG "No Storage Available for allocation" DIA8305C Memory allocation failure occurred. [...] 2999-12-31-23.59.59.99999+0000 XXXXXXXXXXXXX LEVEL: Severe (OS) PID : XXXX TID : XXXX PROC : db2syscs.exe INSTANCE: MYINST NODE : XXX DB : MYDB APPHDL : X-XXX APPID: XXXXXXXX.XXXX.XXXXXXXXXXXX AUTHID : MYUSER FUNCTION: DB2 UDB, SQO Memory Management, sqlocshr2, probe:172 MESSAGE : ZRC=0x850F0005=-2062614523=SQLO_NOSEG "No Storage Available for allocation" DIA8305C Memory allocation failure occurred. CALLED : OS, -, OpenFileMapping OSERR : 2 "The system cannot find the file specified." DATA #1 : String, 33 bytes Global\DB2SHMMYINST_XXXXXXXXXXXX 2999-12-31-23.59.59.99999+0000 XXXXXXXXXXXXX LEVEL: Warning PID : XXXX TID : XXXX PROC : db2syscs.exe INSTANCE: PRODDB2 NODE : 000 DB : PRODEUAP APPHDL : 0-445 APPID: XXXXXXXX.XXXX.XXXXXXXXXXXX AUTHID : MYUSER FUNCTION: DB2 UDB, routine_infrastructure, sqlerReturnFmpToPool, probe:2000 DATA #1 : String, 35 bytes Clean up NOT THREADED FMP process: DATA #2 : SQLO_PID, PD_TYPE_SQLO_PID, 4 bytes XXXX [...] 2999-12-31-23.59.59.99999+000 XXXXXXXXXXXXX LEVEL: Error PID : XXXX TID : XXXX PROC : db2syscs.exe INSTANCE: MYINST NODE : XXX DB : MYDB APPHDL : X-XXX APPID: XXXXXXXX.XXXX.XXXXXXXXXXXX AUTHID : MYUSER FUNCTION: DB2 UDB, routine_infrastructure, sqlerRemoveAllIPCforRow, probe:30 DATA #1 : String, 16 bytes sqlocshr failed: DATA #2 : unsigned integer, 4 bytes 2232352773 [...] 2999-12-31-23.59.59.99999+000 XXXXXXXXXXXXX LEVEL: Severe PID : XXXX TID : XXXX PROC : db2syscs.exe INSTANCE: MYINST NODE : XXX DB : MYDB APPHDL : 0-999 APPID: XXXXXXXX.XXXX.XXXXXXXXXXXX AUTHID : MYUSER FUNCTION: DB2 UDB, SQO Memory Management, sqloDiagnoseFreeBlockFailure, probe:30 DATA #1 : String, 12 bytes Double free. [...] If the database manager configuration parameter KEEPFENCED=NO then a trap which is caused by this defect happens immediately after you run the stored procedure. But if KEEPFENCED=YES then the trap might happen a long time after you run the stored procedure.
Local fix
For 64-bit database manager instances, build stored procedures as 64-bit executable files.
Problem summary
Users Affected: Users of DB2 9.5 on Linux, UNIX and Windows Problem Description: A 64-bit database manager instance might trap after you run a 32-bit stored procedure. If the database manager configuration parameter KEEPFENCED=NO then a trap which is caused by this defect happens immediately after you run the stored procedure. But if KEEPFENCED=YES then the trap might happen a long time after you run the stored procedure. Problem Summary: db2diag.log contains a sequence of messages like these, including "Double free.": 2999-12-31-23.59.59.99999+0000 XXXXXXXXXXXXX LEVEL: Warning PID : XXXX TID : XXXX PROC : db2syscs.exe INSTANCE: MYINST NODE : XXX DB : MYDB APPHDL : X-XXX APPID: XXXXXXXX.XXXX.XXXXXXXXXXXX AUTHID : MYUSER FUNCTION: DB2 UDB, routine_infrastructure, sqlerReturnFmpToPool, probe:1001 DATA #1 : String, 4 bytes PID: DATA #2 : SQLO_PID, PD_TYPE_SQLO_PID, 4 bytes XXXX DATA #3 : String, 10 bytes stateFlags DATA #4 : Hex integer, 4 bytes 0x00000010 [...] 2999-12-31-23.59.59.99999+0000 XXXXXXXXXXXXX LEVEL: Severe PID : XXXX TID : XXXX PROC : db2syscs.exe INSTANCE: MYINST NODE : XXX DB : MYDB APPHDL : X-XXX APPID: XXXXXXXX.XXXX.XXXXXXXXXXXX AUTHID : MYUSER FUNCTION: DB2 UDB, routine_infrastructure, sqlerCleanThreadResource, probe:7 RETCODE : ZRC=0x850F0005=-2062614523=SQLO_NOSEG "No Storage Available for allocation" DIA8305C Memory allocation failure occurred. [...] 2999-12-31-23.59.59.99999+0000 XXXXXXXXXXXXX LEVEL: Severe (OS) PID : XXXX TID : XXXX PROC : db2syscs.exe INSTANCE: MYINST NODE : XXX DB : MYDB APPHDL : X-XXX APPID: XXXXXXXX.XXXX.XXXXXXXXXXXX AUTHID : MYUSER FUNCTION: DB2 UDB, SQO Memory Management, sqlocshr2, probe:172 MESSAGE : ZRC=0x850F0005=-2062614523=SQLO_NOSEG "No Storage Available for allocation" DIA8305C Memory allocation failure occurred. CALLED : OS, -, OpenFileMapping OSERR : 2 "The system cannot find the file specified." DATA #1 : String, 33 bytes Global\DB2SHMMYINST_XXXXXXXXXXXX 2999-12-31-23.59.59.99999+0000 XXXXXXXXXXXXX LEVEL: Warning PID : XXXX TID : XXXX PROC : db2syscs.exe INSTANCE: PRODDB2 NODE : 000 DB : PRODEUAP APPHDL : 0-445 APPID: XXXXXXXX.XXXX.XXXXXXXXXXXX AUTHID : MYUSER FUNCTION: DB2 UDB, routine_infrastructure, sqlerReturnFmpToPool, probe:2000 DATA #1 : String, 35 bytes Clean up NOT THREADED FMP process: DATA #2 : SQLO_PID, PD_TYPE_SQLO_PID, 4 bytes XXXX [...] 2999-12-31-23.59.59.99999+000 XXXXXXXXXXXXX LEVEL: Error PID : XXXX TID : XXXX PROC : db2syscs.exe INSTANCE: MYINST NODE : XXX DB : MYDB APPHDL : X-XXX APPID: XXXXXXXX.XXXX.XXXXXXXXXXXX AUTHID : MYUSER FUNCTION: DB2 UDB, routine_infrastructure, sqlerRemoveAllIPCforRow, probe:30 DATA #1 : String, 16 bytes sqlocshr failed: DATA #2 : unsigned integer, 4 bytes 2232352773 [...] 2999-12-31-23.59.59.99999+000 XXXXXXXXXXXXX LEVEL: Severe PID : XXXX TID : XXXX PROC : db2syscs.exe INSTANCE: MYINST NODE : XXX DB : MYDB APPHDL : 0-999 APPID: XXXXXXXX.XXXX.XXXXXXXXXXXX AUTHID : MYUSER FUNCTION: DB2 UDB, SQO Memory Management, sqloDiagnoseFreeBlockFailure, probe:30 DATA #1 : String, 12 bytes Double free. [...]
Problem conclusion
Problem was first fixed in Version 9.5 Fix Pack 3
Temporary fix
For 64-bit database manager instances, build stored procedures as 64-bit executable files.
Comments
APAR Information
APAR number
JR30220
Reported component name
DB2 UDB ESE WIN
Reported component ID
5765F4101
Reported release
950
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2008-08-14
Closed date
2009-03-13
Last modified date
2009-03-13
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
DB2 UDB ESE WIN
Fixed component ID
5765F4101
Applicable component levels
R910 PSN
UP
R950 PSN
UP
Document Information
Modified date:
12 October 2021