APAR status
Closed as duplicate of another APAR.
Error description
This is a very specific issue. To encounter the problem, the instance needs to have done more then 1 in-place migration, likely including fairly specific server versions. The issue was reproduce using the following steps: 1) Initialize an instance using 7.31 2) Create the following simple table using the listed SQL commands create table t1 (c1 int, c2 int) lock mode row; create unique index t1_idx1 on t1(c1); insert into t1 values(1,1); 3) Do an in-place migration from 7.31 to 10 (this testing specifically used 10.00.FC9) 4) After upgrade completes run the following SQL command alter fragment on index t1_idx init in rootdbs (this should detach the index from being in table as the server created all indexes in 7.x but it also marks this index with a special old style flag indicating that this detached index is fully detached, meaning in the leaf pages the index key has the key value and then fragid/rowid/delete flag entries) 5) Do another in-place migration up to 11.70.FC7W2 6) After upgrade completes run the following SQL alter table t1 add constraint primary key(c1) constraint pk_t1; At this point, the alter table command to also mark the old unique index as a primary key, when it re-writes the partition page, it loses the special old style flag, so the server no long knows the index leaf pages should have fragid/rowid/delete flag entries, so when you run oncheck -cI, it will report errors trying to check the index. If the system was in this state and then upgraded to 12.10, and oncheck -cI was run, the server would then start throwing may assertions that would looks like the following. 03/24/17 12:45:26 Assert Failed: Code assertion at rsbtcs.c:308 03/24/17 12:45:26 IBM Informix Dynamic Server Version 12.10.FC8W1 03/24/17 12:45:26 Who: Session(7040, informix@server, 19955, 113f64c68) Thread(16085, oncheckm, 113f2b0b0, 9) File: rsdebug.c Line: 3882 03/24/17 12:45:26 Results: rowoff+BT_RIDL_FLAG_SIZE+sizeof(int4) <= cs->bc_slotptr+cs->bc_slotlen With a stack like this: afhandler() affail_interface() rsam_assert() ridl_ld_elem() ckfnode() ckfnode() ckfnode() ischeck_idx() fm_indexcheck() fmoncheck() doidxcheck() chkarg4() sqmain() startup() At this point the index could be dropped and re-created which would get around the issue.
Local fix
Problem summary
Problem conclusion
Temporary fix
Comments
This APAR is a duplicate of IT27579
APAR Information
APAR number
IT21014
Reported component name
INFORMIX SERVER
Reported component ID
5725A3900
Reported release
C10
Status
CLOSED DUB
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2017-06-13
Closed date
2019-09-25
Last modified date
2019-10-26
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Applicable component levels
[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSGU8G","label":"Informix Servers"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"C10","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
26 October 2019