Thread: New btree_gist code has a few problems
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 ]
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
>> 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
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