DB2 - Problem description
Problem IC95961 | Status: Closed |
AN OLAP QUERY WITH A WIDE ROW MAY CAUSE MEMORY CORRUPTION AND CRASH | |
product: | |
DB2 FOR LUW / DB2FORLUW / 950 - DB2 | |
Problem description: | |
If an OLAP query has a row that is wider than 65535 bytes, then it may cause a memory corruption and crash. OLAP queries require the buffering of data in memory, but a logic problem when computing the buffer size causes DB2 to chose a buffer size that is too small to contain the wide row. This later results in memory corruption when the row gets copied into the insufficiently sized buffer, thereby overwriting information beyond that buffer in memory. Since this is a memory corruption, there is not always a consistent problem signature to uniquely identify the case since it depends on what information gets corrupted. If a memory debug setting is used, like db2set DB2MEMDBG=PROTECT, then the corruption can be caught at the time of the overwrite, with the following stack traceback: sqlri_buffer_add sqlri_scalag sqlriSectInvoke sqlrr_process_fetch_request sqlrr_open | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * ALL * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * See SYSROUTE APARs to see where this APAR is addressed * **************************************************************** | |
Local Fix: | |
Reduce the width of the row flowing into scalag, or rewrite the query so that it doesn't select rows wider than 65535 bytes. | |
Solution | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 16.09.2013 09.05.2017 09.05.2017 |
Problem solved at the following versions (IBM BugInfos) | |
Problem solved according to the fixlist(s) of the following version(s) |