[pgsql-jp: 32926] Re: pgpool +長いデータの INSERT
川村 純一
jkawa @ m.email.ne.jp
2004年 5月 10日 (月) 15:58:12 JST
川村です。
こちらの情報が混乱していて申し訳ありません。
以下、整理いたしました。
On Mon, 10 May 2004 15:08:00 +0900 (JST)
Tatsuo Ishii <t-ishii @ sra.co.jp> wrote:
> せめてどういうどういうSQL文を投げたときに落ちたとか,情報をいただけな
> いとなんとも.
ごもっともです。
今回は、
Table "public.ikkatulock"
Column | Type | Modifiers
----------+-----------------------------+------------------------
systemid | integer | not null
clientid | integer | not null
filename | text | not null
mes | text | not null
modtime | timestamp without time zone | not null default now()
Indexes: ikkatulock_pkey primary key btree (systemid, clientid, filename)
このようなテーブル ikkatulock に対して、
INSERT INTO ikkatulock (systemid,clientid,filename,mes)
VALUES ('1','3','ikkatu.mes','aaaaa....<4096bytes>...')
というクエリを発行したときに signal 11 がおきて、pgpool が core dump
しました。クエリ発行ごとに pg_query() の戻り値のチェックを行っていま
すので、INSERT クエリで落ちたのは間違いないと思います。
同様の内容ですが、この時の backtrace は、
------------------------------------------------------------------------
#0 0x0804e7d7 in pool_read_string (cp=0x80580c0, len=0xbfbfc9a8, line=0)
at pool_stream.c:387
#1 0x0804c750 in Query (frontend=0x80580c0, backend=0x8058080)
at pool_process_query.c:342
#2 0x0804da96 in ProcessFrontendResponse (frontend=0x80580c0,
backend=0x8058080) at pool_process_query.c:1096
#3 0x0804c89c in ReadyForQuery (frontend=0x80580c0, backend=0x8058080,
send_ready=1) at pool_process_query.c:391
#4 0x0804c50e in pool_process_query (frontend=0x80580c0, backend=0x8058080,
connection_reuse=1) at pool_process_query.c:320
#5 0x0804a167 in do_child (unix_fd=4, inet_fd=5) at child.c:212
#6 0x080498fa in fork_a_child (unix_fd=4, inet_fd=5) at main.c:362
#7 0x080493c3 in main (argc=1, argv=0x8058080) at main.c:192
#8 0x080490f2 in _start ()
------------------------------------------------------------------------
このようになっています。
動作環境は FreeBSD 5.2.1-RELEASE-p4 上で、pgpool-1.0 をオプション
なしで起動しています。Postgresql は、v7.3.5 を使用しています。
> 現象を再現するミニマムのテストデータを提示していただくのが一番嬉しいで
> す.
情報に不足などありましたらご連絡下さい。
pgsql-jp メーリングリストの案内