Subject Re: [firebird-support] Question about "wrong page type" errors.
Author Ann W. Harrison
Dunbar, Norman wrote:

>
> ... I can follow index page 146314's NEXT
> pointer which does indeed point to page 337334 which is, unfortunately,
> a type 8 BLOB page which is part of a blob chain and the page in
> question shouldn't be part of the index chain - to my mind.

And you're quite right about that. Having a blob page in the middle
of an index is not a good thing.
>
> Now, I found the following in the firebird.conf file:
>
> # ENABLED FOR FEWS
> RemoteFileOpenAbility = 1

That looks like a smoking gun to me. If you enjoy having corrupt
databases, by all means, leave that setting as it is. Firebird
has the tools needed to manage concurrent access from different
processes - that's what classic is, after all - but it can't
coordinate if it doesn't know there are two processes active.

Superserver and embedded (I think) open database files for exclusive
access. At one point in history, at least some of the operating
systems Firebird or InterBase ran on allowed two processes from
different computers to open a shared file simultaneously, even
if they asked for exclusive access ... in other words, file locking
didn't work on shared devices.

There were bugs in the index code that allowed the parent pointer
in an index to become stale and possibly point to a page that had
been released and reused as a different page type, but I think
the known bugs were fixed in 2.1. The problem was rare and happened
under heavy concurrent load with lots of entries being removed from
the index. Your situation sounds different so my best guess is
that your RemoteFileOpenAbility has shot you.

Good luck,

Ann