New btree_gist code has a few problems

Started by Tom Laneover 21 years ago4 messages
#1Tom Lane
tgl@sss.pgh.pa.us

I tried running 'make installcheck' in contrib just now, and didn't
get past btree_gist :-(

The interval test fails with the attached diffs. text, varchar, char,
bytea, bit, varbit and numeric either dump core or go into infinite
loops during CREATE INDEX. (It's probably significant that these are
all varlena datatypes...)

This is on HPUX 10.20 using gcc. Let me know if you have any thoughts
about tracking it down.

regards, tom lane

*** ./expected/interval.out	Fri May 28 06:43:27 2004
--- ./results/interval.out	Tue Jun  1 01:35:07 2004
***************
*** 49,66 ****
  SELECT count(*) FROM intervaltmp WHERE a  = '199 days 21:21:23'::interval;
   count 
  -------
!      1
  (1 row)

SELECT count(*) FROM intervaltmp WHERE a >= '199 days 21:21:23'::interval;
count
-------
! 271
(1 row)

SELECT count(*) FROM intervaltmp WHERE a > '199 days 21:21:23'::interval;
count
-------
! 270
(1 row)

--- 49,66 ----
  SELECT count(*) FROM intervaltmp WHERE a  = '199 days 21:21:23'::interval;
   count 
  -------
!      0
  (1 row)

SELECT count(*) FROM intervaltmp WHERE a >= '199 days 21:21:23'::interval;
count
-------
! 8
(1 row)

SELECT count(*) FROM intervaltmp WHERE a > '199 days 21:21:23'::interval;
count
-------
! 8
(1 row)

Core dump in varchar test looks like:

Program terminated with signal 10, Bus error.
#0 0xc0c6de40 in gbt_var_key_copy (u=0x7b03e4f0, force_node=5 '\005')
at btree_utils_var.c:31
31 r = (GBT_VARKEY *) palloc(VARSIZE(u->lower) + VARSIZE(u->upper) + VARHDRSZ );
(gdb) bt
#0 0xc0c6de40 in gbt_var_key_copy (u=0x7b03e4f0, force_node=5 '\005')
at btree_utils_var.c:31
#1 0xc0c6e3f8 in gbt_var_bin_union (u=0x7b03d920, e=0x40110cd8,
tinfo=0x7afff594) at btree_utils_var.c:220
[ gdb gets confused here, possibly stack is smashed ]

#2Teodor Sigaev
teodor@sigaev.ru
In reply to: Tom Lane (#1)
Re: New btree_gist code has a few problems

Ok, I'll have a look.

Tom Lane wrote:

I tried running 'make installcheck' in contrib just now, and didn't
get past btree_gist :-(

The interval test fails with the attached diffs. text, varchar, char,
bytea, bit, varbit and numeric either dump core or go into infinite
loops during CREATE INDEX. (It's probably significant that these are
all varlena datatypes...)

This is on HPUX 10.20 using gcc. Let me know if you have any thoughts
about tracking it down.

regards, tom lane

*** ./expected/interval.out	Fri May 28 06:43:27 2004
--- ./results/interval.out	Tue Jun  1 01:35:07 2004
***************
*** 49,66 ****
SELECT count(*) FROM intervaltmp WHERE a  = '199 days 21:21:23'::interval;
count 
-------
!      1
(1 row)

SELECT count(*) FROM intervaltmp WHERE a >= '199 days 21:21:23'::interval;
count
-------
! 271
(1 row)

SELECT count(*) FROM intervaltmp WHERE a > '199 days 21:21:23'::interval;
count
-------
! 270
(1 row)

--- 49,66 ----
SELECT count(*) FROM intervaltmp WHERE a  = '199 days 21:21:23'::interval;
count 
-------
!      0
(1 row)

SELECT count(*) FROM intervaltmp WHERE a >= '199 days 21:21:23'::interval;
count
-------
! 8
(1 row)

SELECT count(*) FROM intervaltmp WHERE a > '199 days 21:21:23'::interval;
count
-------
! 8
(1 row)

Core dump in varchar test looks like:

Program terminated with signal 10, Bus error.
#0 0xc0c6de40 in gbt_var_key_copy (u=0x7b03e4f0, force_node=5 '\005')
at btree_utils_var.c:31
31 r = (GBT_VARKEY *) palloc(VARSIZE(u->lower) + VARSIZE(u->upper) + VARHDRSZ );
(gdb) bt
#0 0xc0c6de40 in gbt_var_key_copy (u=0x7b03e4f0, force_node=5 '\005')
at btree_utils_var.c:31
#1 0xc0c6e3f8 in gbt_var_bin_union (u=0x7b03d920, e=0x40110cd8,
tinfo=0x7afff594) at btree_utils_var.c:220
[ gdb gets confused here, possibly stack is smashed ]

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faqs/FAQ.html

--
Teodor Sigaev E-mail: teodor@sigaev.ru

#3Teodor Sigaev
teodor@sigaev.ru
In reply to: Teodor Sigaev (#2)
Re: New btree_gist code has a few problems

I tried running 'make installcheck' in contrib just now, and didn't
get past btree_gist :-(

Fix and test on Alpha box.

--
Teodor Sigaev E-mail: teodor@sigaev.ru

#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: Teodor Sigaev (#3)
Re: New btree_gist code has a few problems

Teodor Sigaev <teodor@sigaev.ru> writes:

I tried running 'make installcheck' in contrib just now, and didn't
get past btree_gist :-(

Fix and test on Alpha box.

Works for me on HPPA now, too. Thanks.

regards, tom lane