On Wed, Sep 7, 2016 at 10:48 PM, Stas Kelvich <s.kelvich@postgrespro.ru> wrote: > Some time ago two-phase state file format was changed to have variable size GID, > but several places that read that files were not updated to use new offsets. Problem > exists in master and 9.6 and can be reproduced on prepared transactions with > savepoints.
Oops and meh. This meritates an open item, and has better be fixed by 9.6.0. I am glad you noticed that honestly. And we had better take care of this issue as soon as possible.
Indeed, it's a bug. Thanks Stas for tracking it down and Michael for the review and checking other places. I also looked at the patch and it seems fine to me. FWIW I looked at all other places where TwoPhaseFileHeader is referred and they look safe to me.