Informix - Problem description
| Problem IT10789 | Status: Closed |
WINDOWS: THE 'MON_COMPRESSION_ESTIMATES' TASK CAN CAUSE A STORAGEMGR THREAD ASSERTION FAILURE IN PTMAPX() | |
| product: | |
INFORMIX SERVER / 5725A3900 / C10 - IDS 12.10 | |
| Problem description: | |
If you have the 'mon_compression_estimates' task installed and
enabled in your sysadmin:ph_task table, you can occasionally see
following type of assertion failure in the StorageMGR thread:
12:07:01 SCHAPI Estimate Compression for
testdb:"informix".pk_tab1 started
12:07:01 SCHAPI Starting Estimate on table
'testdb:"informix".pk_tab1' partnum 200045
12:07:01 Assert Failed: ptmap
12:07:01 IBM Informix Dynamic Server Version 12.10.FC2
12:07:01 Who: Session(255, informix@, 0, 0000000000000000)
Thread(349, StorageMGR, 0, 1)
File: rspartn.c Line: 3816
12:07:01 Results: Could not complete operation on
'testdb:"informix".tab1'
12:07:01 Action: Run 'oncheck -cDI testdb:"informix".tab1'
12:07:01 stack trace for pid 4424 written to
C:\PROGRA~1\Informix\1210fc2\tmp\af.54503c5
12:07:27 See Also:
C:\PROGRA~1\Informix\1210fc2\tmp\af.54503c5, shmem.54503c5.0
12:07:43 ptmap
12:07:45 SCHAPI Estimate Compression for table
'testdb:"informix".pk_tab1' succeeded.
12:07:45 admin_fragment_command('fragment estimate_compression
','2097221') succeeded
The stack of the StorageMGR thread is this:
afhandler
affail_interface
ptmapx
buffget
rssample_index_for_index_compression
rscCommand
docompress_rsam_op
docompress_op
th_init_initgls
startup
and the AF file reports a bad page number:
12:07:01 ptmap: bad pagenum = 2810 -- only 2810 pages
12:07:01 ptmap(partnum 200045, logpage 2810) error
The problem can occur only on index partitions which meet all
the conditions below:
- during their lifetime had at least 500 pages used
- their 'Number of pages used' is equal to 'Number of pages
allocated' in the 'oncheck -pt dbname:tabname' output
- they don't contain at least 2000 key values on their leaf
pages
Example of such a partition:
oncheck -pt testdb:tab1
TBLspace Report for testdb:informix.tab1
Physical Address 2:526
Creation date 08/19/2015
11:50:53
TBLspace Flags 8902 Row
Locking
TBLspace contains VARCHARS
TBLspace use 4 bit bit-maps
....
Number of data pages 0
Number of rows 0
....
Index pk_tab1 fragment partition datadbs in DBspace
datadb
....
Number of pages allocated 2810
Number of pages used 2810
....
Index Usage Report for index pk_tab1 on
testdb:informix.tab1
Average Average Average
Level Total No. Keys Free Bytes Del Keys
----- -------- -------- ---------- --------
1 1 0 4068 0
----- -------- -------- ---------- --------
Total 1 0 4068 0
Such a situation can for example happen after deleting all (or
majority of) rows from the table, when the index key entries are
removed from existing indexes, but 'Number of pages used' for
each index is kept at its previously achieved maximum (which is
expected behavior). | |
| Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * all windows users * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Update to IBM Informix Server 12.10.xC6 * **************************************************************** | |
| Local Fix: | |
- if the table has no rows, you can run 'truncate table <tabname>' SQL command, which resets the 'Number of pages used' value to a real value - if there are rows in the table, drop and recreate all the indexes defined on the table | |
| Solution | |
Problem Fixed In IBM Informix Server 12.10.xC6 | |
| Workaround | |
not known / see Local fix | |
| Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 19.08.2015 19.01.2016 19.01.2016 |
| Problem solved at the following versions (IBM BugInfos) | |
12.10.xC6 | |
| Problem solved according to the fixlist(s) of the following version(s) | |
| 12.10.xC6 |
|