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