home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Latest versionsfixlist
11.1.0.7 FixList
10.5.0.9 FixList
10.1.0.6 FixList
9.8.0.5 FixList
9.7.0.11 FixList
9.5.0.10 FixList
9.1.0.12 FixList
Have problems? - contact us.
Register for free anmeldung-x26
Contact form kontakt-x26

DB2 - Problem description

Problem IC75505 Status: Closed

ST_BUFFER SPATIAL FUNCTION CRASHED DB2 WITH MEMORY CORRUPTION FAILURE

product:
DB2 FOR LUW / DB2FORLUW / 950 - DB2
Problem description:
Due to data-specific conditions which have not yet been 
identified, the ST_Buffer spatial function very occasionally 
results in memory corruption which can cause the DB2 instance to 
hang or crash.  The db2diag.log file shows a stack trace similar 
to the following: 
 
2011-03-21-11.32.01.075143-300 I71420A958         LEVEL: Severe 
PID     : 1810594              TID  : 772         PROC : db2fmp 
(C) 0 
INSTANCE: db2engr6             NODE : 000 
EDUID   : 772                  EDUNAME: db2fmp (C) 0 
FUNCTION: DB2 UDB, global services, sqlzAssertFailed, probe:10 
DATA #1 : String, 142 bytes 
NON-FATAL ASSERTION FAILED!!! 
ASSERTION EXPRESSION: Invalid block eye-catcher (0x0) found at: 
SOURCE FILENAME: db2/gseOss.cpp 
LINE NUMBER: 61 
CALLSTCK: 
  [0] 0x09000000175A598C pdLog + 0x88 
  [1] 0x0900000016FE9DEC sqlzAssertFailedValist + 0x164 
  [2] 0x090000000360F3B0 ossAssertFailureAction + 0x130 
  [3] 0x090000000363A744 _ossMemAllocCheck + 0x764 
  [4] 0x090000000363A81C _ossMemFree + 0x5C 
  [5] 0x090000000195C014 _GseOssFree + 0x94 
  [6] 0x0900000001AA5D18 SgsShapeBuffer + 0x9D8 
  [7] 0x09000000019CBD60 SgShapeGenerateBuffer + 0x1E0 
  [8] 0x0900000001B539B8 gseBuffer + 0xA18 
  [9] 0x0900000017472768 sqloInvokeFnArgs + 0xCB8
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* DB2 Spatial Extender                                         * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* Due to data-specific conditions which have not yet been      * 
*                                                              * 
* identified, the ST_Buffer spatial function very occasionally * 
*                                                              * 
* results in memory corruption which can cause the DB2         * 
* instance to                                                  * 
* hang or crash.  The db2diag.log file shows a stack trace     * 
* similar                                                      * 
* to the following:                                            * 
*                                                              * 
*                                                              * 
*                                                              * 
* 2011-03-21-11.32.01.075143-300 I71420A958        LEVEL:      * 
* Severe                                                       * 
* PID    : 1810594              TID  : 772        PROC :       * 
* db2fmp                                                       * 
* (C) 0                                                        * 
*                                                              * 
* INSTANCE: db2engr6            NODE : 000                     * 
*                                                              * 
* EDUID  : 772                  EDUNAME: db2fmp (C) 0          * 
*                                                              * 
* FUNCTION: DB2 UDB, global services, sqlzAssertFailed,        * 
* probe:10                                                     * 
* DATA #1 : String, 142 bytes                                  * 
*                                                              * 
* NON-FATAL ASSERTION FAILED!!!                                * 
*                                                              * 
* ASSERTION EXPRESSION: Invalid block eye-catcher (0x0) found  * 
* at:                                                          * 
* SOURCE FILENAME: db2/gseOss.cpp                              * 
*                                                              * 
* LINE NUMBER: 61                                              * 
*                                                              * 
* CALLSTCK:                                                    * 
*                                                              * 
*   [0] 0x09000000175A598C pdLog + 0x88                        * 
*                                                              * 
*   [1] 0x0900000016FE9DEC sqlzAssertFailedValist + 0x164      * 
*                                                              * 
*   [2] 0x090000000360F3B0 ossAssertFailureAction + 0x130      * 
*                                                              * 
*   [3] 0x090000000363A744 _ossMemAllocCheck + 0x764           * 
*                                                              * 
*   [4] 0x090000000363A81C _ossMemFree + 0x5C                  * 
*                                                              * 
*   [5] 0x090000000195C014 _GseOssFree + 0x94                  * 
*                                                              * 
*   [6] 0x0900000001AA5D18 SgsShapeBuffer + 0x9D8              * 
*                                                              * 
*   [7] 0x09000000019CBD60 SgShapeGenerateBuffer + 0x1E0       * 
*                                                              * 
*   [8] 0x0900000001B539B8 gseBuffer + 0xA18                   * 
*                                                              * 
*   [9] 0x0900000017472768 sqloInvokeFnArgs + 0xCB8            * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Install V9.5 fix pack 8                                      * 
****************************************************************
Local Fix:
available fix packs:
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

Solution
Install V9.5 fix pack 8
Workaround
Re-create ST_Buffer function as FENCE with the following SQL 
statements.  This won't fix the cause of the crash but will keep 
it from crashing the DB2 instance and will only fail the current 
transaction. 
DROP SPECIFIC METHOD db2gse.ST_Buffer1; 
DROP SPECIFIC METHOD db2gse.ST_Buffer2; 
DROP SPECIFIC FUNCTION db2gse.GseBuffer; 
-- 
*--------------------------------------------------------------- 
-------- 
-- * buffer with or without a specific unit 
-- 
*--------------------------------------------------------------- 
-------- 
CREATE FUNCTION db2gse.GseBuffer ( geometry db2gse.ST_Geometry, 
      distance DOUBLE, unitName VARCHAR(128), 
      unitType VARCHAR(128), conversionFactor DOUBLE ) 
   RETURNS db2gse.ST_Geometry 
   SPECIFIC db2gse.GseBuffer 
   EXTERNAL NAME 'db2gsefn!gseBuffer' 
   LANGUAGE C 
   PARAMETER STYLE DB2SQL 
   DETERMINISTIC 
   FENCED 
   THREADSAFE 
   CALLED ON NULL INPUT 
   NO SQL 
   NO EXTERNAL ACTION 
   SCRATCHPAD 100 
   FINAL CALL 
   ALLOW PARALLEL 
   NO DBINFO 
   TRANSFORM GROUP GseUDFTransform 
   ; 
 
CREATE METHOD ST_Buffer ( distance DOUBLE ) 
   RETURNS db2gse.ST_Geometry 
   FOR db2gse.ST_Geometry 
   RETURN SELECT db2gse.GseBuffer ( SELF, distance, 
      CAST(NULL AS VARCHAR(128) ), 
      CAST(NULL AS VARCHAR(128) ), 
      CAST(NULL AS DOUBLE) ) 
   FROM  TABLE ( VALUES (1) ) AS dummy(n) 
   -- return NULL if SELF is NULL or empty 
   WHERE  SELF IS NOT NULL AND SELF..numpoints > 0 
; 
CREATE METHOD ST_Buffer ( distance DOUBLE, 
      unitName VARCHAR(128) ) 
   RETURNS db2gse.ST_Geometry 
   FOR db2gse.ST_Geometry 
   RETURN SELECT db2gse.GseBuffer(SELF, distance, unitName, 
      u.unit_type, u.conversion_factor) 
   FROM  TABLE ( VALUES (UPPER(unitName)) ) AS 
n(unit_name) 
      LEFT OUTER JOIN 
   db2gse.gse_units_of_measure AS u ON 
      ( n.unit_name = u.unit_name ) 
   -- return NULL if SELF is NULL or empty 
   WHERE  SELF IS NOT NULL AND SELF..numpoints > 0 
;
BUG-Tracking
forerunner  : APAR is sysrouted TO one or more of the following: IC75707 
follow-up : 
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
01.04.2011
27.06.2011
27.06.2011
Problem solved at the following versions (IBM BugInfos)
9.5.FP8
Problem solved according to the fixlist(s) of the following version(s)
9.5.0.8 FixList