Re: BUG #4958: Stats collector hung on WaitForMultipleObjectsEx while attempting to recv a datagram

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Luke Koops <luke(dot)koops(at)entrust(dot)com>, Pg Bugs <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: BUG #4958: Stats collector hung on WaitForMultipleObjectsEx while attempting to recv a datagram
Date: 2012-08-25 04:10:57
Message-ID: CA+TgmobgZtEobmee7t9ozF3L5Rrn6W1_qX4w5FCFLtkjRNwbFA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Wed, Aug 22, 2012 at 10:24 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Robert Haas <robertmhaas(at)gmail(dot)com> writes:
>> On Tue, Aug 21, 2012 at 4:30 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>>> Meanwhile, back at the ranch: I'm fine with applying that patch now that
>>> it's had some field testing.
>
>> Attached is a version that applies OK to 9.1, after resolving some
>> conflicts. Review appreciated. It wasn't exactly clear to me how to
>> handle the ereport/elog calls.
>
> It looks sane to me in a quick once-over (bearing in mind I can't test
> it). What's bothering you about the ereport calls?

Well, 9.1 currently has:

errmsg_internal("failed to enumerate network events: %i", (int) GetLastError()))

Prior to your patch, master had:

errmsg_internal("failed to enumerate network events: error code %lu",
GetLastError())

And you changed it to:

elog(ERROR, "failed to enumerate network events: error code %u",
WSAGetLastError())

So obviously there's a conflict there. In the previously-posted
version, I chose to just take your version, but I'm not sure whether
it would be better -- in the back branches -- to simply replace
GetLastError() with WSAGetLastError() and leave it alone otherwise.

>> What to do pre-9.1 is a bit less clear to me, as the latch machinery
>> doesn't exist at all in those versions. Some of the fixes can
>> probably still be pulled out and applied, though.
>
> Presumably the changes in win32/socket.c could still be applied; but
> on the other hand it's not clear there's so much need for them pre-9.1.
> IIRC most of the point of this patch was to eliminate the tug-of-war
> over the socket's event attachment between socket.c and win32_latch.c,
> so maybe there's not a bug pre-9.1.

Well, this thread started as a bug report against 8.3.7...

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Alvaro Herrera 2012-08-25 04:55:22 Re: BUG #4958: Stats collector hung on WaitForMultipleObjectsEx while attempting to recv a datagram
Previous Message crispond 2012-08-25 00:56:28 BUG #7506: Windows 64 bit PGAdmin 1.14.3 plpgsql default parameter value not appearing