[pgsql-jp: 41146] サーバープロセスが例外0xC0000409で終了し、PostgreSQLサービスが停止
fx HABAGUCHI KATSUHITO
katsuhito.habaguchi @ fujixerox.co.jp
2012年 7月 11日 (水) 15:29:22 JST
富士ゼロックスの幅口です。
お客様先の環境で、PostgreSQLのサーバープロセスが例外0xC0000409で終了し、
PostgreSQLサービスが停止してしまいました。
※それまでは正常に動作しており、本事象の発生も1回のみです。
(環境)
OS:Windows Server 2008 R2(vmware仮想環境)
メモリ:4GB
PostgreSQLバージョン:8.3.15
クライアント:libpqを使用したC++アプリケーションでlocalhost接続
(サーバー側ログ)
LOG: server process (PID 1124) was terminated by exception 0xC0000409
HINT: See C include file "ntstatus.h" for a description of the hexadecimal value.
LOG: terminating any other active server processes
WARNING: terminating connection because of crash of another server process
DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
HINT: In a moment you should be able to reconnect to the database and repeat your command.
LOG: all server processes terminated; reinitializing
FATAL: pre-existing shared memory block is still in use
HINT: Check if there are any old server processes still running, and terminate them.
クライアント側のログにより、クライアント側のPQconnectdbで本現象が発生して
おり、サーバー側プロセス起動直後に例外終了したものと思われます。
(0xC0000409は、ntstatus.hで調べるとSTATUS_STACK_BUFFER_OVERRUNでした)
本現象について、原因・対応策など皆様方のご意見を伺いたくて、投稿させて
いただきました。
よろしくお願いします。
※備考:本現象発生時は、56個のクライアントアプリケーションのそれぞれが
5秒おきに、接続/SELECT/切断を繰り返している状況でした。
//幅口
pgsql-jp メーリングリストの案内