What's the cause of orphan back versions error?

Abstract: What's the cause of orphan back versions error?

Problem:
Getting orphan back version on gfix, what's the cause?

Solution:
The error message can be found in interbase.log is something like this 
" Relation has x orphan backversions (x in use) in table x ".

This error happens when either server or ibserver shutdown in the 
middle of doing garbage collection by InterBase.  This message 
indicates that the main page doing the garbage collection has marked to 
the back version zero but the data page has not been updated or removed 
the back version.  Thus the data page has a pointer pointing to nowhere 
land.  There is no data lost due to this error.

Possible fix for this:
-----------------------
Run gfix -m
If gfix -m doesn't work, gbak and restore should fix the error.
If gbak and restore doesn't fix it, then we need to get the test case 
in house to duplicate this behavior.