Informix - Problem description
Problem IT31971 | Status: Closed |
CONCURRENTLY RUNNING CALLS TO MI_LO_DECREFCOUNT ON DIFFERENT SBLOBS CAN LEAVE STRAY SMART BLOBS WITH REF COUNTS OF 0 | |
product: | |
INFORMIX SERVER / 5725A3900 / C10 - IDS 12.10 | |
Problem description: | |
Normally, if a reference count of a smart blob is decremented to 0, the smart blob will automatically be cleaned up by the server. When sblobs are concurrently having their reference counts decremented, they may end up being orphaned and these stray smart blobs are not cleaned up. These stray sblobs can beidentified in oncheck -pS output as those with Ref Counts of 0. Here's an example of a UDR that calls mi_lo_decrefcount() that when run concurrently can leave stray sblobs: mi_integer sblob_decref(MI_LO_HANDLE* loptr, MI_FPARAM* fp) { MI_CONNECTION *conn; MI_LO_FD lo_fd; mi_integer result; mi_integer newrefval=-1; char *buff = NULL; mi_integer buffsize = BSIZE_IN_K*KILLO; if (mi_fp_argisnull(fp, 0) == MI_TRUE) return MI_ERROR; if ((conn = mi_open(NULL, NULL, NULL)) == NULL) return MI_ERROR;; if ((buff = (char*)mi_alloc(buffsize)) == NULL) return MI_ERROR;; if ((lo_fd = mi_lo_open(conn, loptr, MI_LO_RDONLY)) == MI_ERROR) return MI_ERROR;; if ((result = mi_lo_read(conn, lo_fd, buff, buffsize)) == MI_ERROR) return MI_ERROR;; if ((newrefval = mi_lo_decrefcount(conn, loptr)) == MI_ERROR) return MI_ERROR; mi_lo_close(conn,lo_fd); if (buff) mi_free(buff); return (mi_integer)newrefval; } | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * Users of Informix Server prior to 12.10.xC15 and 14.10.xC5. * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to Informix Server 12.10.xC15 (when available) or * * 14.10.xC5. * **************************************************************** | |
Local Fix: | |
Solution | |
Workaround | |
**************************************************************** * USERS AFFECTED: * * Users of Informix Server prior to 12.10.xC15 and 14.10.xC5. * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to Informix Server 12.10.xC15 (when available) or * * 14.10.xC5. * **************************************************************** | |
Comment | |
Fixed in Informix Server 12.10.xC15 and 14.10.xC5. | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 25.02.2020 10.12.2020 10.12.2020 |
Problem solved at the following versions (IBM BugInfos) | |
Problem solved according to the fixlist(s) of the following version(s) |