From: | Noah Misch <noah(at)leadboat(dot)com> |
---|---|
To: | pgsql-hackers(at)postgresql(dot)org |
Cc: | andrew(dot)dunstan(at)2ndquadrant(dot)com |
Subject: | Re: Freeze on Cygwin w/ concurrency |
Date: | 2017-08-01 05:06:11 |
Message-ID: | 20170801050611.GC2650302@rfd.leadboat.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Mon, Mar 20, 2017 at 11:47:03PM -0400, Noah Misch wrote:
> "pgbench -i -s 50; pgbench -S -j2 -c16 -T900 -P5" freezes consistently on
> Cygwin 2.2.1 and Cygwin 2.6.0. (I suspect most other versions are affected.)
> I've pinged[1] the Cygwin bug thread with some additional detail.
The problem was cygserver thread exhaustion; cygserver needs a thread per
simultaneous waiter. With "cygserver -r 40" or the equivalent config file
setting, this test does not freeze. Cygwin 2.8.0 introduced a change to
dynamically grow the thread count:
https://cygwin.com/git/gitweb.cgi?p=newlib-cygwin.git;a=commitdiff;h=0b73dba4de3fdadde499edfbc7ca9d9a01c11487
However, Cygwin 2.8.0 introduced another source of cygserver freezes:
https://cygwin.com/git/gitweb.cgi?p=newlib-cygwin.git;a=commitdiff;h=b80b2c011936f7f075b76b6e59f9e8a5ec49caa1
The 2.8.0-specific freezes have no known workaround. Cygwin 2.8.1 works,
having reverted the problem commit. Do not use PostgreSQL with Cygwin 2.8.0.
> If a Cygwin
> buildfarm member starts using --enable-tap-tests, you may see failures in the
> pgbench test suite. (lorikeet used --enable-tap-tests from 2017-03-18 to
> 2017-03-20, but it failed before reaching the pgbench test suite.) Curious
> that "make check" has too little concurrency to see more effects from this.
I now understand the bug required eleven concurrent lock waiters, and it's
plausible that "make check" doesn't experience that. The pgbench test suite
uses -c5, so I expect it to be stable on almost any Cygwin.
From | Date | Subject | |
---|---|---|---|
Next Message | Markus Sintonen | 2017-08-01 05:06:52 | Re: [PATCH] Pattern based listeners for asynchronous messaging (LISTEN/NOTIFY) |
Previous Message | Noah Misch | 2017-08-01 04:46:50 | Re: segfault in HEAD when too many nested functions call |