From: | Heikki Linnakangas <hlinnaka(at)iki(dot)fi> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andres Freund <andres(at)anarazel(dot)de> |
Cc: | David Rowley <david(dot)rowley(at)2ndquadrant(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Amit Khandekar <amitdkhan(dot)pg(at)gmail(dot)com>, Ashutosh Bapat <ashutosh(dot)bapat(at)enterprisedb(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com> |
Subject: | Re: Atomics for heap_parallelscan_nextpage() |
Date: | 2017-08-16 21:50:25 |
Message-ID: | d37e3b5d-e7f4-62c1-701a-7af12dd4eece@iki.fi |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 08/17/2017 12:20 AM, Tom Lane wrote:
> Andres Freund <andres(at)anarazel(dot)de> writes:
>> On 2017-08-16 16:20:28 +0300, Heikki Linnakangas wrote:
>> + pg_atomic_write_u64(&target->phs_nallocated, 0);
>
>> It's not ok to initialize an atomic with pg_atomic_write_u64 - works
>> well enough for "plain" atomics, but the fallback implementation isn't
>> ok with it. You're probably going to get a failure on the respective
>> buildfarm animal soon.
>
> Indeed, gaur fails with
>
> 2017-08-16 17:09:38.315 EDT [13043:11] PANIC: stuck spinlock detected at pg_at\
> omic_compare_exchange_u64_impl, atomics.c:196
> 2017-08-16 17:09:38.315 EDT [13043:12] STATEMENT: select count(*) from a_star;
> 2017-08-16 17:09:40.350 EDT [12437:3] LOG: server process (PID 13043) was term\
> inated by signal 6
> 2017-08-16 17:09:40.350 EDT [12437:4] DETAIL: Failed process was running: sele\
> ct count(*) from a_star;
>
> and I'm sure pademelon will fail once it gets to that.
Fixed.
> I thought we had other buildfarm animals testing the fallback path,
> though?
Yes, at least piculet is building with --disable-atomics.
I was able to reproduce this locally, with --disable-atomics, but only
after hacking it to fill the struct with garbage, before initializing
it. IOW, it failed to fail, because the spinlock happened to be
initialized correctly by accident. Perhaps that's happening on piculet, too.
- Heikki
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2017-08-16 21:55:12 | Re: Function to move the position of a replication slot |
Previous Message | Robert Haas | 2017-08-16 21:34:59 | Re: Hash Functions |