[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 メーリングリストの案内