Subject Re: gds_$receive failed error using gBak
Author Adam
> Im able to perform select * on the problematic tables but only if the
> select returns one record using the primary key field.

I don't know what you mean. Have you used iSQL to perform a simple

select * from problemtable;

GBak just (in principle) does a select * from the table and writes the
results to a file, so I want to know whether doing the same thing
without gbak causes the same issue.

I am presuming you have shutdown the service by now and taken a backup
copy of the fdb file and have that stored somewhere safe. (I presumed
that when you told be you had started dropping tables). I am also
presuming you are using the latest version of Firebird 1.5 (1.5.5) as
this contains bug fixes that may or may not have something to do with
this issue.

If you are performing a select * from problemtable and receive the
error, disconnect and try again using an order by (primary key field)
statement. This should point you to specific records in the table
which are causing the problem. You may then be able to use a where
clause to avoid the engine touching such records, and a data pump may
then be successful in salvaging the majority of your data.

While I have seen record level corruption stopping gbak in its tracks,
I have never seen it on the scale your posts seem to indicate. What
can you tell us about the environment the database file is in?