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

Поиск
Список
Период
Сортировка
От Magnus Hagander
Тема Re: BUG #4958: Stats collector hung on WaitForMultipleObjectsEx while attempting to recv a datagram
Дата
Msg-id 9837222c0908010828x7182494av3fd5909b64f4b2ad@mail.gmail.com
обсуждение исходный текст
Ответ на Re: BUG #4958: Stats collector hung on WaitForMultipleObjectsEx while attempting to recv a datagram  (Alvaro Herrera <alvherre@commandprompt.com>)
Ответы Re: BUG #4958: Stats collector hung on WaitForMultipleObjectsEx while attempting to recv a datagram  (Nikhil Sontakke <nikhil.sontakke@enterprisedb.com>)
Список pgsql-bugs
On Sat, Aug 1, 2009 at 01:49, Alvaro Herrera<alvherre@commandprompt.com> wr=
ote:
> Luke Koops wrote:
>
>> Description: =A0 =A0 =A0 =A0Stats collector hung on WaitForMultipleObjec=
tsEx while
>> attempting to recv a datagram
>> Details:
>>
>> While running a load test with 80 processes connected to postgres, of wh=
ich
>> 62 were generating load, the stats collector got blocked on
>> WaitForMultipleObjectsEx which was called with INFINITE timeout. =A0The =
stack
>> trace for the hung thread follows:
>
>
>> ntdll.dll!NtWaitForMultipleObjects+0xc
>> kernel32.dll!WaitForMultipleObjectsEx+0x11a
>> postgres.exe!pgwin32_waitforsinglesocket+0x1ed
>> postgres.exe!pgwin32_recv+0x90
>> postgres.exe!PgstatCollectorMain+0x17f
>> postgres.exe!SubPostmasterMain+0x33a
>> postgres.exe!main+0x168
>> postgres.exe!__tmainCRTStartup+0x10f
>> kernel32.dll!BaseProcessStart+0x23
>
> I have seen this problem too. =A0The process seems stuck for no good
> reason. =A0I wondered at the time if it could be a kernel issue. =A0I
> remember trying to send some data to the collector to verify whether
> it'd wake up, but no luck. =A0(I mean I couldn't find a way to do it on
> Windows).

I have seen this as well, but only in cases where there has been
broken firewall software or such things involved. I have seen a couple
of reports from the field though.

Anyway, this really is a should-never-happen thing. As soon as a new
packet is sent in, WaitForMultipleObjectsEx() should return right
away. And given that backends regularly send packets over, it
shouldn't be an issue even if we miss one...

To generate packets, you should be able to use for example "nc" that
is available as a win32 binary as well.


--=20
 Magnus Hagander
 Self: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: Re: BUG #4958: Stats collector hung on WaitForMultipleObjectsEx while attempting to recv a datagram
Следующее
От: Matthias Cesna
Дата:
Сообщение: Re: BUG #4960: Unexpected timestamp rounding