Subject Problems with pages
Author Ales Smodis
I've written some short python code using the kinterbasdb module
to fill a database table with 600 million records in order to see
how Firebird behaves with such a huge amount of data. After about
430 million inserts (a hard commit after every 10000 records) I
got the following error:

kinterbasdb.ProgrammingError: (-902, 'isc_dsql_execute: database file appears corrupt (). wrong page type. page 11956216 is of wrong type (expected 7, found -92). internal gds software consistency check (error during savepoint backout (290)). ')

I thought I'd repair the database with a backup/restore operation,
so I did:

gfix -validate -full -ignore data.fdb
gfix -mend -full -ignore data.fdb
gbak -b -v data.fdb data.gbk

But then I got this error:

gbak: 422260000 records written
gbak: ERROR: internal gds software consistency check (pointer page vanished from DPM_next (249))
gbak: ERROR: gds_$receive failed
gbak: Exiting before completion due to errors
gbak: ERROR: internal gds software consistency check (can't continue after bugcheck)

What is going on? Did I hit some kind of a limit?

The system is Linux Debian 3.0, the Firebird is
FirebirdCS-1.5.1.4481-0.i686.

-Ales