Re: auto vacuum lock on 8.1beta1 - Mailing list pgsql-hackers

From Tom Lane
Subject Re: auto vacuum lock on 8.1beta1
Date
Msg-id 24998.1129230598@sss.pgh.pa.us
Whole thread Raw
In response to auto vacuum lock on 8.1beta1  (Robert Creager <Robert.Creager@Sun.com>)
Responses Re: auto vacuum lock on 8.1beta1
List pgsql-hackers
Robert Creager <Robert.Creager@Sun.com> writes:
> Might this be the same problem as the recent thread "database vacuum from cron
> hanging" where Tom is: "I'm busy volatile-izing all the code in bufmgr.c ...
> should be able to commit a fix soon."?

Seems reasonably likely, seeing that the original report involved gcc
3.3.something IIRC, and you're using 3.3.1.  Is this an SMP box?  The
bug could theoretically manifest on a uniprocessor but it seems more
likely to happen on a multiprocessor.

Too bad you didn't have it built with --enable-debug; I can't think of
any very easy way to verify a negative refcount for that buffer without
gdb support.

You could try inspecting the assembly code generated for PinBuffer, as
we did with Kevin's compiler.  If it's generating the same code sequence
then that would make it pretty likely that you're seeing the same thing.

The volatile patch should be available in last night's nightly snapshot,
if you just want to update.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Martijn van Oosterhout
Date:
Subject: Re: pg_config --pgxs on Win32
Next
From: Andrew Dunstan
Date:
Subject: Re: pg_config --pgxs on Win32