Re: hung backends stuck in spinlock heavy endless loop

From: Andres Freund <andres(at)2ndquadrant(dot)com>
To: Merlin Moncure <mmoncure(at)gmail(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: hung backends stuck in spinlock heavy endless loop
Date: 2015-01-13 22:33:30
Message-ID: 20150113223330.GB5245@awork2.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On 2015-01-13 16:29:51 -0600, Merlin Moncure wrote:
> On my workstation today (running vanilla 9.4.0) I was testing some new
> code that does aggressive parallel loading to a couple of tables. It
> ran ok several dozen times and froze up with no external trigger.
> There were at most 8 active backends that were stuck (the loader is
> threaded to a cap) -- each query typically resolves in a few seconds
> but they were hung for 30 minutes+.

Interesting.

> Had to do restart immediate as
> backends were not responding to cancel...but I snapped a 'perf top'
> before I did so. The results were interesting so I'm posting them
> here. So far I have not been able to reproduce...FYI

Can you compile postgres with -fno-omit-frame-pointer? Then, when this
happens the next time, you can take a perf record -g, which will tell us
which lock the contention is at.

> 61.03% postgres [.] s_lock
> 13.56% postgres [.] LWLockRelease
> 10.11% postgres [.] LWLockAcquire

That profile looks like it might end up being helped by the lwlock
and/or freelist changes in 9.5.

Greetings,

Andres Freund

--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Merlin Moncure 2015-01-13 22:40:20 Re: hung backends stuck in spinlock heavy endless loop
Previous Message Merlin Moncure 2015-01-13 22:29:51 hung backends stuck in spinlock heavy endless loop