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
Views: Raw Message | Whole Thread | Download mbox | Resend email
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

Browse pgsql-bugs by date

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