Tom and Oliver,
I added the patch and re-built everything. No more problems with the
vacuum analyze (knock on wood since this is still Friday the 13th).
Tom, does this patch address the problem you found in your
EndPortalAllocMode comments? I'm just wondering whether another patch
will be needed or if this one should cover the problem.
Thanks again for the help guys.
-Tony
Tom wrote:
> (a) vacuum.c does a CommitTransaction to commit its final table's
> worth of fixes.
> (b) CommitTransaction calls EndPortalAllocMode.
> (c) vacuum calls vc_shutdown, which tries to remove pg_vlock, and reports an error when the unlink() call fails.
> (d) during error cleanup, AbortTransaction is called.
> (e) AbortTransaction calls EndPortalAllocMode. There has been no
> intervening StartPortalAllocMode, so the portal's context stack
> is empty. EndPortalAllocMode tries to free a nonexistent memory
> context (or, if you have asserts turned on, dies with an assert
> failure). Ka-boom.