YAMAMOTO Takashi <yamt(at)mwd(dot)biglobe(dot)ne(dot)jp> wrote:
> i have seen this actually happen. i've confirmed the creation of
> the loop with the attached patch. it's easily reproducable with
> my application. i can provide the full source code of my
> application if you want. (but it isn't easy to run unless you are
> familiar with the recent version of NetBSD)
> i haven't found a smaller reproducible test case yet.
I've never used NetBSD, so maybe a few details will help point me in
the right direction faster than the source code.
Has your application ever triggered any of the assertions in the
code? (In particular, it would be interesting if it ever hit the
one right above where you patched.)
How long was the loop?
Did you notice whether the loop involved multiple tuples within a
single page?
Did this coincide with an autovacuum of the table?
These last two are of interest because it seems likely that such a
cycle might be related to this new code not properly allowing for
some aspect of tuple cleanup.
Thanks for finding this and reporting it, and thanks in advance for
any further detail you can provide.
-Kevin