I can confirm that the patch was in the snapshot I picked up this morning at about 10:30 CDT. We've been using it since then and have not seen the problem in spite of attempting to provoke it with database vacuums. -Kevin
>>> Tom Lane <[EMAIL PROTECTED]> 10/13/05 2:09 PM >>> Robert Creager <[EMAIL PROTECTED]> 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 ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq