Re: hung backends stuck in spinlock heavy endless loop

Merlin Moncure <mmoncure@gmail.com>

From: Merlin Moncure <mmoncure@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Peter Geoghegan <pg@heroku.com>, Andres Freund <andres@2ndquadrant.com>, Heikki Linnakangas <hlinnakangas@vmware.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2015-01-28T18:52:23Z
Lists: pgsql-hackers
On Wed, Jan 28, 2015 at 12:47 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Merlin Moncure <mmoncure@gmail.com> writes:
>> ...hm, I spoke to soon.  So I deleted everything, and booted up a new
>> instance 9.4 vanilla with asserts on and took no other action.
>> Applying the script with no data activity fails an assertion every
>> single time:
>
>> TRAP: FailedAssertion("!(flags & 0x0010)", File: "dynahash.c", Line: 330)
>
> There's no Assert at line 330 in 9.4, though there is in HEAD.  I suspect
> what you've got here is a version mismatch; in particular commit
> 4a14f13a0abfbf7e7d44a3d2689444d1806aa9dc changed the API for dynahash.c
> such that external modules would need to be recompiled to use it without
> error.  I'm not real sure though how you are getting past the
> loadable-module version check.  Anyway, I'd try "make distclean" and
> full rebuild before anything else.

you're right -- git got confused and built a 9.5 devel at some random
commit.  I reran it again on 9.4 and it worked ok :(.

merlin


Commits

  1. Improve hash_create's API for selecting simple-binary-key hash functions.

  2. Fix WAL-logging of B-tree "unlink halfdead page" operation.

  3. Fix backup-block numbering in redo of b-tree split.

  4. Cleanup of new b-tree page deletion code.

  5. Fix bug in the new B-tree incomplete-split code.

  6. Fix bug in new B-tree page deletion code.

  7. Fix rm_desc routine of b-tree page delete records.

  8. Make the handling of interrupted B-tree page splits more robust.

  9. Fix race condition in B-tree page deletion.