Informix - Problem description
Problem IC59652 | Status: Closed |
MEMORY LEAK IN GENTCB WITH REPEATED CALLS TO "SET COLLATION" ON A GIVEN SESSION ID. | |
product: | |
INFORMIX CLIENT / 5724C2300 / 281 - Informix 2.81 | |
Problem description: | |
A memory leak in the gentcb portion of private session memory is observed with repeated calls to the SET COLLATION statement. This growth in gentcb can easily be reproduced in a single dbaccess session as follows: - Connect to a database and issue a simple query, such as "select count(*) from systables". - In a separate window, identify the session ID for the dbaccess session, and then run an onstat -g ses on that ID to get a baseline for the current gentcb value. - Back in the existing dbaccess session, issue the statement SET COLLATION "en_us.8859-1". - Run onstat -g ses on the dbaccess session ID again, and note that gentcb has grown. - Run a simple select statement again in dbaccess, and note that gentcb remains unchanged. - Repeat the SET COLLATION statement, and note that gentcb has grown once more. By repeating the process within that same dbaccess session, you will see that gentcb continues to grow with each call to the SET COLLATION statement. This leak of memory may appear relatively small with any given SET COLLATION call, however if this statement is called repeatedly by an application it has the potential of building up fairly rapidly to a point where it may have a heavy impact on the system. | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * All users of SET COLLATION statement * **************************************************************** * PROBLEM DESCRIPTION: * * When set collation "en_us.8859-1" is run * * IDS loads a locale that equates to "en_us.8859-1" called * * "en_us.819" and stores this string to identify that the * * collation is loaded. * * "en_us.819" is the normalized form of the locale. * * The function that determines if a locale needs to be loaded * * compares the normalized form with the string provided by the * * user, and this rarely matches meaning that the structure is * * allocated every time that a statement is called. * **************************************************************** * RECOMMENDATION: * * Upgrade to IDS 10.00.xC11 or above. * **************************************************************** | |
Local Fix: | |
Solution | |
Problem has been fixed in IDS 10.00.xC11 by normalizing the locale spec before determining that the locale is loaded. | |
Workaround | |
not known / see Local fix | |
BUG-Tracking | |
forerunner : APAR is sysrouted TO one or more of the following: IC59674 follow-up : | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 22.01.2009 17.06.2009 17.06.2009 |
Problem solved at the following versions (IBM BugInfos) | |
10.00.xC11 | |
Problem solved according to the fixlist(s) of the following version(s) | |
10.0.xC10.W2 |
![]() |
10.0.xC11 |
![]() |