Assertion failure: slots overlap
Posted in 1999
Greetings fellow Informix-ers (Informix-ites? Informix-ians?)!
We recently had an assertion failure in our production environment that
Informix has been unable to explain. Here's the MSGPATH output:
18:07:25 Assert Failed: Page Check Error in page_reorg: slots overlap
18:07:25 Who: Session(14021, sysadm@prod, 29522, -2020966132)
Thread(80593, sqlexec, 85e40318, 5)
18:07:25 Results: Possible inconsistencies in an index of'fsprod:"sysadm".psnledger_tmp'
18:07:25 Action: Run 'oncheck -cI 9438469'
18:07:25 See Also: /home1/dumpdir/af.3ad1a91d, shmem.3ad1a91d.0,
gcore.3ad1a91d.0, //core
18:12:12 Error writing '/home1/dumpdir/shmem.3ad1a91d.0' errno = 22
18:12:12 Invoking debugger on oninit pid 1263
18:12:12
Thread(80593, sqlexec, 0, 5)
18:12:12 oninit pid 1263 waiting for debugger
We run Informix-ONLINE Dynamic Server 7.23.UC4 (with X4 and X6 patches) on
Sun Solaris 2.5.1.
The different Informix support personnel that we spoke with all thought that
"slots overlap" had to have something to do with misdirected symbolic links.
"Slots", however, seem to be the lowest order part of the data storage
mechanism, pointing to each individual data segment stored on a given page.
At the time when this error occurred, the referenced thread (14021) was
performing an insert into table ps_ledger_tmp2, which does not have
psnledger_tmp as one of its indexes. ps_ledger_tmp2 has only one index
whose name is also ps_ledger_tmp2. I can only conjecturalize that a new
index item was being created for index ps_ledger_tmp2, and that the engine
tried to write the index data into a page and using a slot that was already
being used by an item that was part of index psnledger_tmp. Possible?
If anyone has ever experienced a "slots overlap" condition, I would be
interested in hearing what you did to correct it, and, more importantly, if
there was anything you did to prevent it from reoccurring.
Thanks!
Scott Henderson
Software Systems Architect
Aerotek, Inc.
mailto://schender@aerotek.com