Subject: Thank's for 4.0 But.....

From: "Schenkelaars.V.F" <[email-masked]>
Date: Thu, 16 Jul 92 15:40:01 MET DST

Dear Postgres group,

Thank you all for the new release. As far as I can see now, all works
fine. But there is still a problem with the r-tree. I've mentioned it
before and hoped it would be gone in version 4. Unfortunatly it's still 
there. I run the following script:

#! /bin/sh

# Change for own path setting 
DB=${1:-test3d}
TESTHOME=${2:-/fusr/vfsj3/postgres/test3d}

monitor $DB << EOF

create test(region = BOX3)\g

copy test from "$TESTHOME/create.pq"\g

define index test_index on test using rtree (region Box3_ops)\g

vacuum \g

EOF

This crashes the backend. But if I define the index first and then
append the tuples, it works. BOX3 is a 3D box and Box3_ops is an
opclass for this BOX3 type. The following is a stack dump after
the crash.

(dbx) where
kill() at 0x101190
abort() at 0x107994
ExcAbort(excP = 0x13f9e8, detail = 0, data = (nil), message = 0x13ca48 "!PointerIsValid(alloc)"), line 24 in "/usr2/postgres/obj.sparc/utils/error/excabort.c"
ExcUnCaught(excP = 0x13f9e8, detail = 0, data = (nil), message = 0x13ca48 "!PointerIsValid(alloc)"), line 136 in "/usr2/postgres/obj.sparc/utils/error/exc.c"
ExcRaise(excP = 0x13f9e8, detail = 0, data = (nil), message = 0x13ca48 "!PointerIsValid(alloc)"), line 154 in "/usr2/postgres/obj.sparc/utils/error/exc.c"
ExceptionalCondition(conditionName = 0x13ca48 "!PointerIsValid(alloc)", exceptionP = 0x13f9e8, detail = (nil), fileName = 0x13ca5f "aset.c", lineNumber = 168), line 63 in "/usr2/postgres/obj.sparc/utils/error/assert.c"
AllocSetAlloc(set = 0x199e68, size = 39), line 168 in "/usr2/postgres/obj.sparc/utils/mmgr/aset.c"
PortalHeapMemoryAlloc(this = 0x17c960, size = 39), line 280 in "/usr2/postgres/obj.sparc/utils/mmgr/portalmem.c"
MemoryContextAlloc(context = 0x17c960, size = 39), line 264 in "/usr2/postgres/obj.sparc/utils/mmgr/mcxt.c"
palloc(size = 39), line 33 in "/usr2/postgres/obj.sparc/utils/mmgr/palloc.c"
textout(vlena = 0x198664), line 194 in "/usr2/postgres/obj.sparc/utils/adt/varlena.c"
fmgr_dynamic(procedureId = 19764, pronargs = 0xf7ffcd94), line 104 in "/usr2/postgres/obj.sparc/utils/fmgr/dfmgr.c"
fmgr_info(procedureId = 19764, function = 0xf7ffcd6c, nargs = 0xf7ffcd94), line 852 in "/usr2/postgres/obj.sparc/utils/fmgr/fmgr.c"
fmgr(__builtin_va_alist = 19764), line 900 in "/usr2/postgres/obj.sparc/utils/fmgr/fmgr.c"
picksplit(r = 0x191e08, page = 0xf772fe8c "", v = 0xf7ffced8, itup = 0xe30f70), line 599  in "/usr2/postgres/obj.sparc/access/index-rtree/rtree.c"
dosplit(r = 0x191e08, buffer = 16, stack = 0x2db7d88, itup = 0xe30f70), line 398 in "/usr2/postgres/obj.sparc/access/index-rtree/rtree.c"
rtdoinsert(r = 0x191e08, itup = 0xe30f70), line 267 in "/usr2/postgres/obj.sparc/access/index-rtree/rtree.c"
rtbuild(heap = 0x18c9a0, index = 0x191e08, natts = 25, attnum = 0x199f98, istrat = 0x193230, pcount = 0, params = (nil), finfo = (nil), pred = (nil)), line 172 in "/usr2/postgres/obj.sparc/access/index-rtree/rtree.c"
c_lang_func_call_ptr(user_fn = &rtbuild() at 0x179f8, n_arguments = 9, values =  RECORD , isNull = 0xf7ffd183 ""), line 588 in "/usr2/postgres/obj.sparc/utils/fmgr/fmgr.c"
fmgr(__builtin_va_alist = 323), line 915 in "/usr2/postgres/obj.sparc/utils/fmgr/fmgr.c"
index_build(heapRelation = 0x18c9a0, indexRelation = 0x191e08, numberOfAttributes = 25, attributeNumber = 0x199f98, parameterCount = 0, parameter = (nil), funcInfo = (nil), predicate = (nil)), line 1487 in "/usr2/postgres/obj.sparc/lib/catalog/index.c"
index_create(heapRelationName = 0x18fd78, indexRelationName = 0x18f168, funcInfo = (nil), accessMethodObjectId = 402, numatts = 25, attNums = 0x199f98, classObjectId = 0x18fda8, parameterCount = 0, parameter = (nil), predicate = (nil)), line 1033 in "/usr2/postgres/obj.sparc/lib/catalog/index.c"
DefineIndex(heapRelationName = 0x18fd78, indexRelationName = 0x18f168, accessMethodName = 0x18f438, attributeList = 0x18ceb0, parameterList = (nil), predicate = (nil)), line 168 in "/usr2/postgres/obj.sparc/commands/defind.c"
ProcessUtility(command = 266, args = 0x18cee8, commandString = 0xf7ffd54c "define index test_index on test using rtree (region Box3_ops)", dest = Remote), line 328 in "/usr2/postgres/obj.sparc/tcop/utility.c"
pg_eval_dest(query_string = 0xf7ffd54c "define index test_index on test using rtree (region Box3_ops)", argv = (nil), typev = (nil), nargs = 0, dest = Remote), line 703 in "/usr2/postgres/obj.sparc/tcop/postgres.c"
pg_eval(query_string = 0xf7ffd54c "define index test_index on test using rtree (region Box3_ops)", argv = (nil), typev = (nil), nargs = 0), line 635 in "/usr2/postgres/obj.sparc/tcop/postgres.c"
PostgresMain(argc = 5, argv = 0xf7fff634), line 1429 in "/usr2/postgres/obj.sparc/tcop/postgres.c"
main(argc = 5, argv = 0xf7fff634), line 26 in "/usr2/postgres/obj.sparc/main/main.c"
(dbx)
regards

     ____________________
 \  / . _   _  _   _  |
  \/ ( ( \ (_ (-' ( \ |

--------------------------------------------------------------------------------
Vincent F. Schenkelaars				|
Company: FEL-TNO                                | Private:
Email  : [email-masked]	|
address: Oude Waalsdorperweg 63			| Groenhovenstraat 12
         Postbus 96864				|
         2509 JG  Den Haag			| 2311 BT  Leiden
         The Netherlands			| The Netherlands
Phone  : Holland 070-3264221			| Holland 071-125576
Fax    : Holland 070-3280961			|
--------------------------------------------------------------------------------
We apologize for the inconvenience.