Hi Robert, Heikki, On 2013-09-24 13:25:41 +0200, Andres Freund wrote: > > I'm afraid this patch was a few bricks shy of a load. The > > log_newpage_buffer() function asserts that: > > > > > /* We should be in a critical section. */ > > > Assert(CritSectionCount > 0); > > > > But the call in vacuumlazy.c is not inside a critical section. Also, the > > comments in log_newpage_buffer() say that the caller should mark the buffer > > dirty *before* calling log_newpage_buffer(), but in vacuumlazy.c, it's > > marked dirty afterwards. I'm not sure what consequences that might have, but > > at least it contradicts the comment. > > > > (spotted this while working on a patch, and ran into the assertion on crash > > recovery) > > What about the attached patches (one for 9.3 and master, the other for > 9.2)? I've tested that I can trigger the assert before and not after by > inserting faults...
Yould either of you commit those patches to the corresponding branches? Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers