Re: [sqlsmith] stuck spinlock in pg_stat_get_wal_receiver after OOM
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@anarazel.de>
Cc: Andreas Seltenreich <seltenreich@gmx.de>, pgsql-hackers@postgresql.org,
Alvaro Herrera <alvherre@2ndquadrant.com>,
Michael Paquier <michael.paquier@gmail.com>
Date: 2017-10-02T21:30:25Z
Lists: pgsql-hackers
Andres Freund <andres@anarazel.de> writes: > On 2017-10-02 22:56:49 +0200, Andreas Seltenreich wrote: >> low-memory testing with REL_10_STABLE at 1f19550a87 produced the >> following PANIC: >> stuck spinlock detected at pg_stat_get_wal_receiver, walreceiver.c:1397 > Ugh. Egad. > Yes, that'd be a bad idea. It's not great to have memcpys in a critical > section, but it's way better than pallocs. So we need to use some local > buffers that this get copied to. Or replace the spinlock with an LWLock? In any case, I think it would be a good idea to look at every other critical section touching that lock to see if there are any other blatant coding-rule violations. regards, tom lane
Commits
-
Fix race condition with unprotected use of a latch pointer variable.
- 2451de7e9e72 10.1 landed
- 45f9d08684d9 11.0 landed
-
Fix coding rules violations in walreceiver.c
- c9c37e335e3a 9.2.24 landed
- b24f15f86de4 9.3.20 landed
- ad40d5f74585 10.1 landed
- 89e434b59caf 11.0 landed
- 86076395ef81 9.6.6 landed
- 6b2daef96d43 9.4.15 landed
- 182abe31387c 9.5.10 landed
-
Use latch instead of select() in walreceiver
- 597a87ccc9a6 10.0 cited