Re: Backend crash during explain

From: Zdenek Kotala <Zdenek(dot)Kotala(at)Sun(dot)COM>
To: Grant Finnemore <grantf(at)guruhut(dot)co(dot)za>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Backend crash during explain
Date: 2007-05-31 10:31:44
Message-ID: 465EA410.8000409@sun.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Grant Finnemore napsal(a):
> CrashReporter trace:
>
> Date/Time: 2007-05-31 10:21:39.285 +0200
> OS Version: 10.4.9 (Build 8P2137)
> Report Version: 4
>
> Command: postmaster
> Path: ./bin/postmaster
> Parent: postmaster [23091]
>
> Version: ??? (???)
>
> PID: 23096
> Thread: 0
>
> Exception: EXC_BAD_ACCESS (0x0001)
> Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000018
>
> Thread 0 Crashed:
> 0 postmaster 0x00116ec6 ExecSetSlotDescriptor + 77 (execTuples.c:344)
> 1 postmaster 0x001182f9 ExecAssignScanTypeFromOuterPlan + 33
> (execUtils.c:771)
> 2 postmaster 0x001240c8 ExecInitSort + 168 (nodeSort.c:211)

It looks that tupDesc contains invalid pointer. I found some strange
assignment in ExecAssignScanTypeFromOuterPlan function. See comment
bellow. OuterPlanState expects PlaneState structure instead ScanState.

00762 ExecAssignScanTypeFromOuterPlan(ScanState *scanstate)
00763 {
00764 PlanState *outerPlan;
00765 TupleDesc tupDesc;
00766
00767 outerPlan = outerPlanState(scanstate);
^^^^^
scanstate->ps ??

00768 tupDesc = ExecGetResultType(outerPlan);
00769
00770 ExecAssignScanType(scanstate, tupDesc);
00771 }

Zdenek

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2007-05-31 12:45:25 Re: ERROR: index row size 2960 exceeds btree maximum
Previous Message Galy Lee 2007-05-31 09:14:06 BUG #3326: Invalid lower bound of autovacuum_cost_limit