[pgsql-jp: 32888] Re: pgpool +長いデータの INSERT
Tatsuo Ishii
t-ishii @ sra.co.jp
2004年 5月 2日 (日) 08:59:54 JST
石井です.
ご報告ありがとうございます.
> 川村と申します。
>
> FreeBSD 5.2.1-RELEASE-p4 上で、pgpool-1.0 と PostgreSQL-7.3.5 を
> 動作させています。
>
> pgpool 経由で postmaster へ、例えば 40000 byte 位の文字列データを
> INSERT するクエリを送ると、pgpool が core dump する現象が起きてい
> ます。pgpool を通さずに、postmaster 直だと問題ありません。
>
> gdb でバックトレースを取ると、
>
> -----------------------------------------------------------------------
> Program received signal SIGSEGV, Segmentation fault.
> 0x281413f8 in __vfprintf () from /lib/libc.so.5
> (gdb) bt
> #0 0x281413f8 in __vfprintf () from /lib/libc.so.5
> #1 0x2813d3a3 in snprintf () from /lib/libc.so.5
> #2 0x0804ce9f in AsciiRow (frontend=0x8058040, backend=0x80620a0,
> num_fields=3) at pool_process_query.c:632
> #3 0x0804c46e in pool_process_query (frontend=0x8058040, backend=0x80620a0,
> connection_reuse=0) at pool_process_query.c:270
> #4 0x0804a173 in do_child (unix_fd=4, inet_fd=5) at child.c:212
> #5 0x08049903 in fork_a_child (unix_fd=4, inet_fd=5) at main.c:363
> #6 0x080493c3 in main (argc=1, argv=0x8062094) at main.c:192
> #7 0x080490f2 in _start ()
> (gdb)
> -----------------------------------------------------------------------
>
> このようになっており、試しに AscciRow() 内の snprinf() 直前に
> breakpoint 仕掛けていろいろ調べてみたのですが、いまいち追いき
> れていません。
AsciiRow()はINSERTのときには使用されませんが,SELECTでは使われます.と
いうことは,INSERTはできるが,その後SELECTしようとすると落ちる,と言う
理解でよろしいでしょうか?
--
Tatsuo Ishii
pgsql-jp メーリングリストの案内