Fixed in cvs for 7.4-8.2 releases.
Michael Fuhr wrote:
> On Sat, Apr 01, 2006 at 03:40:19PM +0200, jeroen van iddekinge wrote:
>> When using intarray operator in a query, postgres dies and restart
>> itself when executing the following query:
>>
>> select r1.bet_sentence & r2.bet_sentence
>> from related r1,related r2
>> where r1.bet_sentence && r2.bet_sentence
>
> Here's a complete test case:
>
> CREATE TABLE foo (a integer[]);
>
> INSERT INTO foo (a)
> SELECT array[random() * 10, random() * 10, random() * 10]
> FROM generate_series(1, 24);
>
> CREATE INDEX foo_a_idx ON foo USING gist (a gist__int_ops);
>
> SET enable_seqscan TO off;
> SELECT f1.a & f2.a FROM foo f1, foo f2 WHERE f1.a && f2.a;
>
> This crashes for me in 8.1.3 on FreeBSD 6.1-PRERELEASE and Solaris 9.
> An assert-enabled 8.1.3 logs the following:
>
> TRAP: BadArgument("!(((header->context) != ((void *)0) && (((((Node*)((header->context)))->type) ==
T_AllocSetContext))))",File: "mcxt.c", Line: 612)
>
--
Teodor Sigaev E-mail: teodor@sigaev.ru
WWW: http://www.sigaev.ru/