Re: 8.3b2 XPath-based function index server crash - Mailing list pgsql-general

From Matt Magoffin
Subject Re: 8.3b2 XPath-based function index server crash
Date
Msg-id 49796.192.168.1.108.1195429978.squirrel@msqr.us
Whole thread Raw
In response to Re: 8.3b2 XPath-based function index server crash  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: 8.3b2 XPath-based function index server crash  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
> "Matt Magoffin" <postgresql.org@msqr.us> writes:
>> I understand. I cannot make the SELECT query nor the ADD INDEX command
>> break on an empty database. I cannot share this database data, either.
>
> So try to make a test case using dummy data, or with suitably obscured
> versions of your real data.
>
> Also, consider compiling a debug-enabled build and showing us a gdb
> stack trace from the core dump.

Generating obscured dummy data would be a difficult task. Here's a
stacktrace from gdb after the server crashed:

(gdb) c
Continuing.
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x00a04000
0xffff8820 in __memcpy ()
(gdb) bt
#0  0xffff8820 in __memcpy ()
#1  0x004d9098 in xmlBufferAdd ()
#2  0x004e0dc4 in xmlParserInputBufferCreateMem ()
#3  0x004ced98 in xmlCtxtReadMemory ()
#4  0x0026ea0c in xpath (fcinfo=0x37) at xml.c:3183
#5  0x001095bc in ExecMakeFunctionResultNoSets (fcache=0x10563fc,
econtext=0x10562a8, isNull=0xbfffd4f8 "\004Y?P", isDone=0x0) at
execQual.c:1412
#6  0x00109640 in ExecEvalArrayRef (astate=0x1056364, econtext=0x10562a8,
isNull=0xbfffd4f8 "\004Y?P", isDone=0x0) at execQual.c:254
#7  0x0010d550 in ExecEvalXml (xmlExpr=0x1056324, econtext=0x10562a8,
isNull=0xbfffd5d8 "\001)?\f", isDone=<value temporarily unavailable, due
to optimizations>) at execQual.c:3012
#8  0x0010ae18 in ExecEvalExprSwitchContext (expression=<value temporarily
unavailable, due to optimizations>, econtext=<value temporarily
unavailable, due to optimizations>, isNull=<value temporarily unavailable,
due to optimizations>, isDone=<value temporarily unavailable, due to
optimizations>) at execQual.c:3726
#9  0x00076490 in FormIndexDatum (indexInfo=0x1044ef4, slot=0x1044e1c,
estate=0x105621c, values=0xbfffd69c, isnull=0xbfffd67c "") at index.c:1041
#10 0x000770e8 in IndexBuildHeapScan (heapRelation=0x7a7428,
indexRelation=0x7a9ca0, indexInfo=0x1044ef4, callback=0x36c90
<btbuildCallback>, callback_state=0xbfffda08) at index.c:1705
#11 0x00036bfc in btbuild (fcinfo=<value temporarily unavailable, due to
optimizations>) at nbtree.c:119
#12 0x002875a8 in OidFunctionCall3 (functionId=<value temporarily
unavailable, due to optimizations>, arg1=8025128, arg2=8035488,
arg3=17059572) at fmgr.c:1580
#13 0x00074e94 in index_build (heapRelation=0x7a7428,
indexRelation=0x7a9ca0, indexInfo=0x1044ef4, isprimary=0 '\0') at
index.c:1331
#14 0x000762ac in index_create (heapRelationId=601643,
indexRelationName=0x1044fe0 "assigned_area_idx", indexRelationId=983040,
indexInfo=0x1044ef4, accessMethodObjectId=403, tableSpaceId=0,
classObjectId=0x10505c0, coloptions=0x10509e0, reloptions=0, isprimary=0
'\0', isconstraint=0 '\0', allow_system_table_mods=0 '\0', skip_build=0
'\0', concurrent=6 '\006') at index.c:817
#15 0x000cef14 in DefineIndex (heapRelation=0x1044eb4,
indexRelationName=0x1044fe0 "assigned_area_idx", indexRelationId=0,
accessMethodName=0x1044f80 "btree", tableSpaceName=0x273a "",
attributeList=0x1044db4, predicate=0x19, options=0x0, src_options=0x0,
unique=0 '\0', primary=0 '\0', isconstraint=0 '\0', is_alter_table=0 '\0',
check_rights=1 '\001', skip_build=0 '\0', quiet=0 '\0', concurrent=0 '\0')
at indexcmds.c:453
#16 0x001c8aec in ProcessUtility (parsetree=0x103ac88,
queryString=0x1044c1c "create index assigned_area_idx ON lead

(\nXMLSERIALIZE(CONTENT(xpath('/als:auto-lead-service/als:meta[@key=\"com.autoleadservice.service.AssignDealer.AREA\"][1]/text()',
xml,\nARRAY[ARRAY['als','http://au"..., params=0x0, isTopLevel=1 '\001',
dest=0x103ad04, completionTag=<value temporarily unavailable, due to
optimizations>) at utility.c:919
#17 0x001c566c in PortalRunUtility (portal=0x104bc1c,
utilityStmt=0x103ac88, isTopLevel=1 '\001', dest=0x103ad04,
completionTag=0xbfffe4ca "") at pquery.c:1173
#18 0x001c5af0 in PortalRunMulti (portal=0x104bc1c, isTopLevel=1 '\001',
dest=0x103ad04, altdest=0x103ad04, completionTag=0xbfffe4ca "") at
pquery.c:1266
#19 0x001c647c in PortalRun (portal=0x104bc1c, count=2147483647,
isTopLevel=0 '\0', dest=0x103ad04, altdest=0x103ad04,
completionTag=0xbfffe4ca "") at pquery.c:813
#20 0x001c1584 in exec_simple_query (query_string=0x1039e1c "create index
assigned_area_idx ON lead
(\nXMLSERIALIZE(CONTENT(xpath('/als:auto-lead-service/als:meta[@key=\"AREA\"][1]/text()',
xml,\nARRAY[ARRAY['als','http://au"...) at postgres.c:962
#21 0x001c335c in PostgresMain (argc=4, argv=<value temporarily
unavailable, due to optimizations>, username=0x1001650 "lms") at
postgres.c:3529
#22 0x00188f58 in ServerLoop () at postmaster.c:3175
#23 0x0018a464 in PostmasterMain (argc=8, argv=0x800420) at postmaster.c:1026
#24 0x0012d49c in main (argc=8, argv=0x800420) at main.c:188



pgsql-general by date:

Previous
From: "Andrej Ricnik-Bay"
Date:
Subject: Re: Sharing static data among several databases
Next
From: "Robert James"
Date:
Subject: Re: Sharing static data among several databases