Subject "Software consistency check (can't continue after bugcheck)" message
Author David Montgomery
Hi everyone,

This evening I have been wrestling with a database backed up from a
machine that was about to fail from hardware problems. The source
machine was a Linux box running CS 1.5.1. The target machine for the
restore was a Linux box running SS 1.5.1 (nptl).

To perform the restore, I had to de-activate my indices (gbak -r -i)
due to some corruption possibly introduced by numerous hard-reboots of
the source machine over the past few weeks.

After the sucessful restore, the following commands provided no
output, which would generally indicate everything is fine:

gfix -v
gfix -m

...and just to make double-sure I backed it up again from the restored
copy and re-restored it to a new path with verbose output, and gbak
returned no error messages.

BUT, once I tried to re-activate an index using 'ALTER INDEX blah
ACTIVE', I would receive a rather nasty error message 'internal gds
software consistency check (can't continue after bugcheck)' which I
found to be incredibly un-helpful as far as error messages go, so I
took a peek at the log file, and saw the real error message: 'partner
index description not found (175)', which still didn't help me much
unfortunately.

To eventually get to the point: I finally figured out that my problem
was caused by trying to re-activate foreign key constraints before the
corresponding primary keys were re-activated. Once I re-activated all
of the PK's first, then re-activated the FK's, everything was happy again.

In hindsight, it makes total sense to re-activate the PK's first.
However, I must admit when I was receiving oblique error messages from
the server, and _praying_ I hadn't permanently corrupted my database
file -- perhaps my powers of deductive reasoning were somewhat
diminished, or at least slowed... :)

Anyhow, I thought I'd document my little crisis so maybe the next guy
who comes along and searches the message archive will actually find
references to these error messages.

Best,

David Montgomery