[pgsql-jp: 29099] Re: バックエンドが array_dims 関数の不正使用でダウン

HOTTA Michihide hotta @ net-newbie.com
2003年 2月 18日 (火) 12:06:14 JST


堀田@諫早市です。

On 18 Feb 2003 11:20:48 +0900
Subject: [pgsql-jp: 29094] バックエンドが array_dims 関数の不正使用でダウン
kinoshitawataru <kinoshitawataru @ mail.goo.ne.jp> wrote:

> 木下と申します。
> (Windows2000 cygwin-postgreSQL7.2.1)
> 
> 配列長を取得する関数 array_dims を使用するテスト中、
> 「もし、配列項目でない項目を使用したら」
> ということで、以下のテストをしました。
> 
> select array_dims(usename) from pg_shadow;
> 
> すると、以下のメッセージを吐いてバックエンドがダウンして
> しまいました。
> 
> DEBUG:  server process (pid 1764) was terminated by signal 11
(略)

不具合を見つけた場合は、より新しいバージョンでも再現するのを確認
してから報告すると、もっとよいと思います。

dejima=# select version();
                            version
---------------------------------------------------------------
 PostgreSQL 7.2.3 on i686-pc-linux-gnu, compiled by GCC 2.95.3
(1 行)

dejima=# select array_dims(usename) from pg_shadow ;
ERROR:  MemoryContextAlloc: invalid request size 1936028267

新しいバージョンでは直っている(少なくとも、コケないようにはなっ
ているようです)のに、あえて古いバージョンを使い続けるのは、ユー
ザ責任ですよね?(まあ新しいバージョンを使ったからといって保証さ
れるわけではありませんが…)

hotta=# select version();
                            version
---------------------------------------------------------------
 PostgreSQL 7.3.1 on i686-pc-linux-gnu, compiled by GCC 2.95.3
(1 行)

hotta=# select array_dims(usename) from pg_shadow ;
ERROR:  Function array_dims(name) does not exist
        Unable to identify a function that satisfies the given argument types
        You may need to add explicit typecasts

(こっちはよくわかりませんです)

> ほかにもこのようなケースはあるかと思いますが、このケース
> では、「配列でない項目への array_dims は無効です」のよう
> なエラーとして、バックエンドが落ちないようにすべきだと私
> は思うのですが、どうでしょうか。

もちろんそうでしょう。で、それをみんなでよりよく改善してゆこうと
いうのがオープンソースの世界だと理解しております。
-- 
堀田 倫英 <hotta @ net-newbie.com> <http://www.net-newbie.com>



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