8.5alpha3 bug in information_schema.table_privileges

From: Robert Treat <xzilla(at)users(dot)sourceforge(dot)net>
To: pgsql-hackers(at)postgresql(dot)org
Cc: robert(at)omniti(dot)com
Subject: 8.5alpha3 bug in information_schema.table_privileges
Date: 2010-01-12 01:37:01
Message-ID: 201001112037.01676.xzilla@users.sourceforge.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

pagila=# select * from information_schema.table_privileges;
TRAP: FailedAssertion("!(idx[0] < (((int *) (((char *) (acl)) +
sizeof(ArrayType)))[0]))", File: "acl.c", Line: 1740)
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.

On a build without assertions it dumps core, which gives a backtrace like so:
(dbx) where
current thread: t(at)1
=>[1] aclexplode(fcinfo = ???) (optimized), at 0x7345fa (line ~1743) in
"acl.c"
[2] ExecMakeFunctionResult(fcache = ???, econtext = ???, isNull = ???,
isDone = ???) (optimized), at 0x65ae76 (line ~1590) in "execQual.c"
[3] ExecEvalFieldSelect(fstate = ???, econtext = ???, isNull = ???, isDone =
???) (optimized), at 0x65e57c (line ~3759) in "execQual.c"
[4] ExecTargetList(targetlist = ???, econtext = ???, values = ???, isnull =
???, itemIsDone = ???, isDone = ???) (optimized), at 0x6600b8 (line ~4981) in
"execQual.c"
[5] ExecProject(projInfo = ???, isDone = ???) (optimized), at 0x660a2d (line
~5198) in "execQual.c"
[6] ExecScan(node = ???, accessMtd = ???, recheckMtd = ???) (optimized), at
0x660b57 (line ~139) in "execScan.c"
[7] ExecSeqScan(node = ???) (optimized), at 0x671c5f (line ~116) in
"nodeSeqscan.c"
[8] ExecProcNode(node = ???) (optimized), at 0x658cc9 (line ~378) in
"execProcnode.c"
[9] SubqueryNext(node = ???) (optimized), at 0x674fd8 (line ~53) in
"nodeSubqueryscan.c"
[10] ExecScan(node = ???, accessMtd = ???, recheckMtd = ???) (optimized), at
0x660d3d (line ~82) in "execScan.c"
[11] ExecSubqueryScan(node = ???) (optimized), at 0x675007 (line ~87) in
"nodeSubqueryscan.c"
[12] ExecProcNode(node = ???) (optimized), at 0x658c95 (line ~396) in
"execProcnode.c"
[13] ExecNestLoop(node = ???) (optimized), at 0x670ef0 (line ~154) in
"nodeNestloop.c"
[14] ExecProcNode(node = ???) (optimized), at 0x658c48 (line ~419) in
"execProcnode.c"
[15] ExecNestLoop(node = ???) (optimized), at 0x670eb4 (line ~120) in
"nodeNestloop.c"
[16] ExecProcNode(node = ???) (optimized), at 0x658c48 (line ~419) in
"execProcnode.c"
[17] ExecNestLoop(node = ???) (optimized), at 0x670eb4 (line ~120) in
"nodeNestloop.c"
[18] ExecProcNode(node = ???) (optimized), at 0x658c48 (line ~419) in
"execProcnode.c"
[19] ExecutePlan(estate = ???, planstate = ???, operation = ???, sendTuples
= ???, numberTuples = ???, direction = ???, dest = ???) (optimized), at
0x657220 (line ~1190) in "execMain.c"
[20] standard_ExecutorRun(queryDesc = ???, direction = ???, count = ???)
(optimized), at 0x6561e8 (line ~284) in "execMain.c"
[21] ExecutorRun(queryDesc = ???, direction = ???, count = ???) (optimized),
at 0x65610b (line ~227) in "execMain.c"
[22] PortalRunSelect(portal = ???, forward = ???, count = ???, dest = ???)
(optimized), at 0x71f8a4 (line ~953) in "pquery.c"
[23] PortalRun(portal = ???, count = ???, isTopLevel = ???, dest = ???,
altdest = ???, completionTag = ???) (optimized), at 0x71f4b2 (line ~779) in
"pquery.c"
[24] exec_simple_query(query_string = ???) (optimized), at 0x719ed6 (line
~1052) in "postgres.c"
[25] PostgresMain(argc = ???, argv = ???, username = ???) (optimized), at
0x71de04 (line ~3671) in "postgres.c"
[26] BackendRun(port = ???) (optimized), at 0x6e9b57 (line ~3369) in
"postmaster.c"
[27] BackendStartup(port = ???) (optimized), at 0x6e94a9 (line ~3076) in
"postmaster.c"
[28] ServerLoop() (optimized), at 0x6e709e (line ~1400) in "postmaster.c"
[29] PostmasterMain(argc = ???, argv = ???) (optimized), at 0x6e675f (line
~1065) in "postmaster.c"
[30] main(argc = ???, argv = ???) (optimized), at 0x688336 (line ~188) in
"main.c"

Both of those systems run Solaris, though one was compiled with gcc, the other
with SunStudio. I can probably dig up more info if needed.

Oh, seems it might be related to one of:
http://git.postgresql.org/gitweb?p=postgresql.git&a=search&h=HEAD&st=commit&s=aclexplode

HTH

--
Robert Treat
Conjecture: http://www.xzilla.net
Consulting: http://www.omniti.com

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Josh Berkus 2010-01-12 01:52:23 Re: damage control mode
Previous Message Bruce Momjian 2010-01-12 01:27:13 Re: [PATCH] remove redundant ownership checks