[pgpool-general-jp: 586] pgpool-IIのsegfaultについて

kaminosono tooru0316 @ gmail.com
2009年 8月 10日 (月) 10:10:54 JST


初めまして、上之薗と申します。

pgpool周りでコネクションが異常になる障害が多発していたので、
調査していたところ、segfaultがログに出力されていました。
原因として考えられそうな事象、対処方法などご存じではないでしょうか?

[発生した環境]
OS:
 CentOS 5.3 64bit
PostgreSQL:
 ここからダウンロードしたrpmを使用しました。
 https://projects.commandprompt.com/public/pgcore

 postgresql.x86_64		8.3.7-1PGDG.rhel5
 postgresql-devel.x86_64	8.3.7-1PGDG.rhel5
 postgresql-libs.x86_64		8.3.7-1PGDG.rhel5
 postgresql-server.x86_64	8.3.7-1PGDG.rhel5
pgpool:
 pgpool-II 2.2.2、最新のCVSのソース(8月7日時点)で確認しましたが結果は同じでした。

[詳細]
下記のページを参考にして、segfault時にコアダンプを取得しました。
http://www.mail-archive.com/pgpool-general@pgfoundry.org/msg01076.html

コアダンプの内容をみると、pool_stream.cの320行目でコケているようです。

====================================================================================
# gdb /usr/local/pgpool/bin/pgpool core.5309

Core was generated by `pgpool: accept connection
                     '.
Program terminated with signal 11, Segmentation fault.
[New process 5309]
#0  pool_write (cp=0x554245442036313a, buf=0x4572cf, len=1) at pool_stream.c:320
320             if (cp->no_forward)
(gdb) bt
#0  pool_write (cp=0x554245442036313a, buf=0x4572cf, len=1) at pool_stream.c:320
#1  0x0000000000412ca5 in pool_send_frontend_exits (backend=0xe7d88e0)
at pool_process_query.c:1482
#2  0x0000000000406dd6 in send_frontend_exits () at child.c:1318
#3  0x0000000000406e5d in child_exit (code=1) at child.c:1382
#4  0x0000000000418f88 in new_connection (p=0xe7d88e0) at
pool_connection_pool.c:597
#5  0x000000000040848d in do_child (unix_fd=6, inet_fd=7) at child.c:1155
#6  0x000000000040412a in fork_a_child (unix_fd=6, inet_fd=7, id=0) at
main.c:828
#7  0x00000000004058de in main (argc=<value optimized out>,
argv=<value optimized out>) at main.c:434
=====================================================================================================

pool_stream.cの320行目でチェックをしています。

-- pool_stream.c抜粋 --
	if (cp->no_forward)
		return 0;

たぶん、cp->no_forwardがおかしなところを参照していると思われます。

以上、よろしくお願い致します。


pgpool-general-jp メーリングリストの案内