Firebird News

Saturday, March 26, 2005

Firebird 2.0 alpha 01 corrupting a db

Pavel Cisar wrote on devel:
It seems that first db corruption bug in FB 2.0 was found. This one is really interesting as it seems that the db header page is somehow assigned to table pagespace.

[ED:is better to wait the firebird 2.0 alpha 02 with fix included]

"From: (Andy Colson)
Newsgroups: sourceforge.firebird-test

Hi all.

I have installed fb2 (as a service) on my windows 2000 pc (amd xp 1400,
512k ram).

I have a reproducable method of corrupting a db, and I get the following
message:

Message: database file appears corrupt ()
wrong page type
page 0 is of wrong type (expected 5, found 1)

However... setting up to corrupt the db is easy on my pc, but I dont
know if I can setup my full app on one of the developers pc's. I can
get you the database, before and after, if it would help (its about 16
meg uncompressed).

With a little work I might be able to pull out the code and make a small
app that recreates the problem... but I cant be sure.

So, I'm wondering... Whats the best way for me to help you?

In general, here is the process:

I have a createdb app that fires off a "create database" call. Then it
uses gfix to disable forced writes... (humm.. I'll try the process using
forced writes to see if it makes a difference).

Then it uses isql to fire off 3 sql scripts.
Then it runs ImportPricing (which dynamicly generates many tables based
on the structure of some paradox tables)
Then it runs 14 more sql scripts via isql.

This process seems to work, after ward I can backup the database just fine.

In our main application we have a batch process that seems to hose the
tables though. during the process I get the above error. As well, I
can no longer backup the database (I get the same error)."

No comments: