Skip site navigation (1) Skip section navigation (2)

Re: pgstat wait timeout

From: Alexey Luchko <luch(at)ank-sia(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: Re: pgstat wait timeout
Date: 2009-12-17 15:38:18
Message-ID: 4B2A506A.5030808@ank-sia.com (view raw or flat)
Thread:
Lists: pgsql-bugs
Hi!

On 16-12-2009 17:45, Magnus Hagander wrote:
 > 
http://wiki.postgresql.org/wiki/Getting_a_stack_trace_of_a_running_PostgreSQL_backend_on_Windows
Thanks, it helps!

Yesterday evening Windows on the server were restarted.
Today the messages still appear, but not so regularly as before.
There was one message per minute. Now the rate is lower.

While I was looking at it the WARNING:  pgstat wait timeout
appeared at ~16:48, 16:54, 17:10, 17:15, 17:16. Then I disconnected.

I've found the stats collector process by the stack trace:
"C:/Program Files/PostgreSQL/8.4/bin/postgres.exe" "--forkcol" "1228"

17:00
"""
ntkrnlpa.exe!ExAllocatePoolWithTag+0xfa0
ntkrnlpa.exe!KeInitializeMutant+0x1c
ntkrnlpa.exe!MiFlushSectionInternal+0x89c
ntkrnlpa.exe!MiFlushSectionInternal+0xba4
ntkrnlpa.exe!KeI386Call16BitCStyleFunction+0x55
ntkrnlpa.exe!PopFlushVolumeWorker+0x12e
ntkrnlpa.exe!PopFlushVolumes+0x72
ntkrnlpa.exe!MiReserveSystemPtes+0x1ca
ntdll.dll!KiFastSystemCall+0x3
ntdll.dll!KiFastSystemCallRet
ntdll.dll!NtWaitForMultipleObjects+0xc
kernel32.dll!WaitForMultipleObjectsEx+0x11a
postgres.exe!pgwin32_waitforsinglesocket+0x1f0
postgres.exe!PgstatCollectorMain+0x175
postgres.exe!SubPostmasterMain+0x352
postgres.exe!main+0x177
postgres.exe!__tmainCRTStartup+0x10f
kernel32.dll!BaseProcessStart+0x23
"""

17:12
"""
ntkrnlpa.exe!KiSwapContext+0x26
ntkrnlpa.exe!KiSwapThread+0x2e5
ntkrnlpa.exe!KeWaitForSingleObject+0x346
ntkrnlpa.exe!KiSuspendThread+0x18
ntkrnlpa.exe!KiDeliverApc+0x117
ntkrnlpa.exe!KiSwapThread+0x300
ntkrnlpa.exe!KeWaitForMultipleObjects+0x3d7
ntkrnlpa.exe!ObpWaitForMultipleObjects+0x202
ntkrnlpa.exe!NtWaitForMultipleObjects+0xc8
ntkrnlpa.exe!KiFastCallEntry+0xfc
ntdll.dll!KiFastSystemCallRet
ntdll.dll!NtWaitForMultipleObjects+0xc
kernel32.dll!WaitForMultipleObjectsEx+0x11a
postgres.exe!pgwin32_waitforsinglesocket+0x1f0
postgres.exe!PgstatCollectorMain+0x175
postgres.exe!SubPostmasterMain+0x352
postgres.exe!main+0x177
postgres.exe!__tmainCRTStartup+0x10f
kernel32.dll!BaseProcessStart+0x23
"""

17:18
"""
ntkrnlpa.exe!KiSwapContext+0x26
ntkrnlpa.exe!KiSwapThread+0x2e5
ntkrnlpa.exe!KeWaitForSingleObject+0x346
ntkrnlpa.exe!KiSuspendThread+0x18
ntkrnlpa.exe!KiDeliverApc+0x117
ntkrnlpa.exe!KiSwapThread+0x300
ntkrnlpa.exe!KeWaitForMultipleObjects+0x3d7
ntkrnlpa.exe!ObpWaitForMultipleObjects+0x202
ntkrnlpa.exe!NtWaitForMultipleObjects+0xc8
ntkrnlpa.exe!KiFastCallEntry+0xfc
ntdll.dll!KiFastSystemCallRet
ntdll.dll!NtWaitForMultipleObjects+0xc
kernel32.dll!WaitForMultipleObjectsEx+0x11a
postgres.exe!pgwin32_waitforsinglesocket+0x1f0
postgres.exe!PgstatCollectorMain+0x175
postgres.exe!SubPostmasterMain+0x352
postgres.exe!main+0x177
postgres.exe!__tmainCRTStartup+0x10f
kernel32.dll!BaseProcessStart+0x23
"""

And autovacuum launcher:
"C:/Program Files/PostgreSQL/8.4/bin/postgres.exe" "--forkavlauncher" "1232"
"""
ntkrnlpa.exe!ExAllocatePoolWithTag+0xfa0
ntkrnlpa.exe!KeInitializeMutant+0x1c
ntkrnlpa.exe!MiFlushSectionInternal+0x89c
ntkrnlpa.exe!MiFlushSectionInternal+0xba4
ntkrnlpa.exe!KeInitializeMutant+0x1c
ntkrnlpa.exe!PoGetLightestSystemStateForEject+0x132
ntkrnlpa.exe!MiReserveSystemPtes+0x1ca
ntdll.dll!KiFastSystemCall+0x3
ntdll.dll!KiFastSystemCallRet
ntdll.dll!NtWaitForSingleObject+0xc
kernel32.dll!WaitForSingleObjectEx+0xac
kernel32.dll!WaitForSingleObject+0x12
postgres.exe!pg_usleep+0x36
postgres.exe!AutoVacLauncherMain+0x24c
postgres.exe!SubPostmasterMain+0x2b5
postgres.exe!main+0x177
postgres.exe!__tmainCRTStartup+0x10f
kernel32.dll!BaseProcessStart+0x23
"""

17:12
"""
ntkrnlpa.exe!KiSwapContext+0x26
ntkrnlpa.exe!KiSwapThread+0x2e5
ntkrnlpa.exe!KeWaitForSingleObject+0x346
ntkrnlpa.exe!KiSuspendThread+0x18
ntkrnlpa.exe!KiDeliverApc+0x117
ntkrnlpa.exe!KiSwapThread+0x300
ntkrnlpa.exe!KeWaitForSingleObject+0x346
ntkrnlpa.exe!NtWaitForSingleObject+0x9a
ntkrnlpa.exe!KiFastCallEntry+0xfc
ntdll.dll!KiFastSystemCallRet
ntdll.dll!NtWaitForSingleObject+0xc
kernel32.dll!WaitForSingleObjectEx+0xac
kernel32.dll!WaitForSingleObject+0x12
postgres.exe!pg_usleep+0x36
postgres.exe!AutoVacLauncherMain+0x24c
postgres.exe!SubPostmasterMain+0x2b5
postgres.exe!main+0x177
postgres.exe!__tmainCRTStartup+0x10f
kernel32.dll!BaseProcessStart+0x23
"""

17:17
"""
ntkrnlpa.exe!KiSwapContext+0x26
ntkrnlpa.exe!KiSwapThread+0x2e5
ntkrnlpa.exe!KeWaitForSingleObject+0x346
ntkrnlpa.exe!KiSuspendThread+0x18
ntkrnlpa.exe!KiDeliverApc+0x117
ntkrnlpa.exe!KiSwapThread+0x300
ntkrnlpa.exe!KeWaitForSingleObject+0x346
ntkrnlpa.exe!NtWaitForSingleObject+0x9a
ntkrnlpa.exe!KiFastCallEntry+0xfc
ntdll.dll!KiFastSystemCallRet
ntdll.dll!NtWaitForSingleObject+0xc
kernel32.dll!WaitForSingleObjectEx+0xac
kernel32.dll!WaitForSingleObject+0x12
postgres.exe!pg_usleep+0x36
postgres.exe!AutoVacLauncherMain+0x24c
postgres.exe!SubPostmasterMain+0x2b5
postgres.exe!main+0x177
postgres.exe!__tmainCRTStartup+0x10f
kernel32.dll!BaseProcessStart+0x23
"""


Process Explorer showed the following for both processes
in process properties / threads:
"""
postgres.exe!mainCRTStartup
biolsp.dll!GetLspGuid+0xc00
biolsp.dll!GetLspGuid+0xc00  (second time)
WS2HELP.dll!ApcThread
postgres.exe!pg	signal_thread
"""

Please, ask if one needs more details.


-- 
Alexey

sms stands for save my soul

In response to

pgsql-bugs by date

Next:From: Ashis AnandDate: 2009-12-17 20:24:30
Subject: BUG #5249: PGUSER has to be set in the console for PSQL to authenticate
Previous:From: Robert HaasDate: 2009-12-17 14:41:54
Subject: Re: BUG #5247: postgres.exe not updating

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group