conchuela timeouts since 2021-10-09 system upgrade
Noah Misch <noah@leadboat.com>
From: Noah Misch <noah@leadboat.com>
To: Andrey Borodin <x4mmm@yandex-team.ru>
Cc: PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>, Michael Paquier <michael@paquier.xyz>, Tom Lane <tgl@sss.pgh.pa.us>, Peter Geoghegan <pg@bowt.ie>, Andres Freund <andres@anarazel.de>
Date: 2021-10-24T16:19:42Z
Lists: pgsql-bugs
On Sun, Oct 24, 2021 at 02:45:38PM +0300, Andrey Borodin wrote: > > 24 окт. 2021 г., в 08:00, Noah Misch <noah@leadboat.com> написал(а): > > Buildfarm member conchuela (DragonFly BSD 6.0) has gotten multiple > > "IPC::Run: timeout on timer" in the new tests. No other animal has. > > https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=conchuela&dt=2021-10-24%2003%3A05%3A09 > > is an example run. The pgbench queries finished quickly, but the > > $pgbench_h->finish() apparently timed out after 180s. I guess this would be > > consistent with pgbench blocking in write(), waiting for something to empty a > > pipe buffer so it can write more. I thought finish() will drain any incoming > > I/O, though. This phenomenon has been appearing regularly via > > src/test/recovery/t/017_shm.pl[1], so this thread doesn't have a duty to > > resolve it. A stack trace of the stuck pgbench should be informative, though. > > Some thoughts: > 0. I doubt that psql\pgbench is stuck in these failures. Got it. If pgbench is a zombie, the fault does lie in IPC::Run or the kernel. > 1. All observed similar failures seem to be related to finish() sub of IPC::Run harness > 2. Finish must pump any pending data from process [0]. But it can hang if process is waiting for something. > 3. There is reported bug of finish [1]. But the description is slightly different. Since that report is about a Perl-process child on Linux, I think we can treat it as unrelated. These failures started on 2021-10-09, the day conchuela updated from DragonFly v4.4.3-RELEASE to DragonFly v6.0.0-RELEASE. It smells like a kernel bug. Since the theorized kernel bug seems not to affect src/test/subscription/t/015_stream.pl, I wonder if we can borrow a workaround from other tests. One thing in common with src/test/recovery/t/017_shm.pl and the newest failure sites is that they don't write anything to the child stdin. Does writing e.g. a single byte (that the child doesn't use) work around the problem? If not, does passing the script via stdin, like "pgbench -f- <script.sql", work around the problem? > [0] https://metacpan.org/dist/IPC-Run/source/lib/IPC/Run.pm#L3481 > [1] https://github.com/toddr/IPC-Run/issues/57
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Improve contrib/amcheck's tests for CREATE INDEX CONCURRENTLY.
- b1f943d2aa7e 14.1 landed
- 7f580aa5d88a 15.0 landed
- 5a4b8a8a720c 13.5 landed
- 141cd0ef0b0b 12.9 landed
-
Fix minor memory leaks in pg_dump.
- 70bef494000e 15.0 cited
-
Avoid race in RelationBuildDesc() affecting CREATE INDEX CONCURRENTLY.
- e428699cb3be 9.6.24 landed
- db86746fd11e 10.19 landed
- 5141e471b36a 11.14 landed
- dde966efb286 14.1 landed
- 2e33b43599ad 13.5 landed
- 0869e53d3a07 12.9 landed
- fdd965d074d4 15.0 landed
-
Fix CREATE INDEX CONCURRENTLY for the newest prepared transactions.
- df6158139f64 11.14 landed
- 560124a37c2f 10.19 landed
- 5184932432b4 9.6.24 landed
- fe5d44a1d38f 12.9 landed
- a9d0a5409415 13.5 landed
- a5b9a0000e14 14.1 landed
- 3cd9c3b92197 15.0 landed
-
Add -w back to the flags for pg_ctl (re)start in PostgresNode
- b33259e261ae 15.0 cited
-
Fix CREATE INDEX CONCURRENTLY for simultaneous prepared transactions.
- 77a0e14f0b21 9.5.25 landed
- d683d6528dba 9.6.21 landed
- 179775135b41 10.16 landed
- d1ab4bf6ed2d 11.11 landed
- be843ce29737 12.6 landed
- 86a5b309c933 13.2 landed
- 8a54e12a38d1 14.0 landed