Subject Re: [firebird-support] OIT and OAT not moving
Author Ivan Prenosil
> Well, limbo transactions occur during the commit phase of a cross-database
> transaction, when the connection between the two servers is lost before the
> two-phase commit completes. Both databases will have a limbo transaction
> which you need to deal with, either by committing or by rolling back.

If one database has limbo transaction, the corresponding transaction
in the other database can be (depending on what exactly happened)
in any of committed/rolledback/limbo state.
2pc only ensures that one transaction can't be committed while the other
is rolled back. (but even such situation can happen in case you incorrectly
resolve limbo transactions by gfix).

Ivan
http://www.volny.cz/iprenosil/interbase/