Subject RE: [firebird-support] Database corruptions with 2.0.3 embedded server
Author Leyne, Sean
Jara,

> We have a heavily multithreaded application written on top of the
> Firebird 2.0.3 Embedded Server for Windows. Our problem is that about
> 20% of our users have experienced database corruptions.

Are you certain that each thread is getting it own database connection?


> The other 2% of the corruptions are detected as page checksum errors:
>
> *** IBPP::SQLException ***
> Context: Statement::Execute( ... )
> Message: isc_dsql_execute2 failed
> SQL Message : -902
> Unsuccessful execution caused by a system error that precludes
> successful execution of subsequent statements
> Engine Code : 335544335
> Engine Message :
> database file appears corrupt ()
> bad checksum
> checksum error on database page 189721

This is an impossible error message to get. Why?

The checksum logic has been disabled in Firebird since the historical
days of IB v5.x.

This suggests that the user installs have older/incorrect versions of
the Firebird.msg file -- since the error message is not valid.
Accordingly, you should ensure that these files are of the correct
version.


Sean