Re: Fwd: Core dump with nested CREATE TEMP TABLE

From: Jim Nasby <Jim(dot)Nasby(at)BlueTreble(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
Cc: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Fwd: Core dump with nested CREATE TEMP TABLE
Date: 2015-09-05 06:41:41
Message-ID: 55EA8EA5.4040606@BlueTreble.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 9/4/15 12:41 PM, Tom Lane wrote:
> I wrote:
>>> After review of all the callers of RelationClearRelation, it seems like
>>> most of them already have sufficient guards to prevent triggering of the
>>> Assert. The ones that lack such tests are AtEOXact_cleanup and
>>> AtEOSubXact_cleanup. So what I'm now thinking is that those should do
>>> something along the lines of
>
>> Specifically, this, which can be shown to mitigate the results of the
>> problem cases in an otherwise-unpatched build.
>
> And pushed. I noticed that while the relcache.c fix mitigates the error
> pretty well in 9.3 and up, in the older branches you still end up with
> a PANIC due to error stack overflow. This may indicate that there's
> some patch we'd have been better off back-porting. However, with the
> Portal changes in place the test cases work in all branches, so I'm
> not excited enough to pursue the point further myself.

I was about to test this and was verifying that the crash still worked
when I noticed this in the logs (9.4.1, not HEAD). Not sure if there's
any realion here or not...

WARNING: relation "pg_proc" page 121 is uninitialized --- fixing
WARNING: relation "pg_proc" page 122 is uninitialized --- fixing
WARNING: relation "pg_proc" page 123 is uninitialized --- fixing
WARNING: relation "pg_proc" page 124 is uninitialized --- fixing
WARNING: relation "pg_proc" page 125 is uninitialized --- fixing
WARNING: relation "pg_proc" page 126 is uninitialized --- fixing
WARNING: relation "pg_proc" page 127 is uninitialized --- fixing
WARNING: relation "pg_proc" page 128 is uninitialized --- fixing
WARNING: relation "pg_proc" page 129 is uninitialized --- fixing
WARNING: relation "pg_proc" page 130 is uninitialized --- fixing
WARNING: relation "pg_proc" page 131 is uninitialized --- fixing
WARNING: relation "pg_proc" page 132 is uninitialized --- fixing
WARNING: relation "pg_proc" page 133 is uninitialized --- fixing
WARNING: relation "pg_proc" page 134 is uninitialized --- fixing
WARNING: relation "pg_proc" page 135 is uninitialized --- fixing
WARNING: relation "pg_proc" page 136 is uninitialized --- fixing
WARNING: relation "pg_proc" page 137 is uninitialized --- fixing
WARNING: relation "pg_proc" page 138 is uninitialized --- fixing
WARNING: relation "pg_proc" page 139 is uninitialized --- fixing
WARNING: relation "pg_proc" page 140 is uninitialized --- fixing
WARNING: relation "pg_proc" page 141 is uninitialized --- fixing
WARNING: relation "pg_proc" page 142 is uninitialized --- fixing
WARNING: relation "pg_proc" page 143 is uninitialized --- fixing
WARNING: relation "pg_proc" page 144 is uninitialized --- fixing
WARNING: relation "pg_proc" page 145 is uninitialized --- fixing
WARNING: relation "pg_proc" page 146 is uninitialized --- fixing
WARNING: relation "pg_proc" page 147 is uninitialized --- fixing
WARNING: relation "pg_proc" page 148 is uninitialized --- fixing
WARNING: relation "pg_proc" page 149 is uninitialized --- fixing
WARNING: relation "pg_proc" page 150 is uninitialized --- fixing
WARNING: relation "pg_proc" page 151 is uninitialized --- fixing
WARNING: relation "pg_proc" page 152 is uninitialized --- fixing
WARNING: relation "pg_proc" page 153 is uninitialized --- fixing
WARNING: relation "pg_proc" page 154 is uninitialized --- fixing
WARNING: relation "pg_proc" page 155 is uninitialized --- fixing
WARNING: relation "pg_proc" page 156 is uninitialized --- fixing
WARNING: relation "pg_proc" page 157 is uninitialized --- fixing
WARNING: relation "pg_proc" page 158 is uninitialized --- fixing
WARNING: relation "pg_proc" page 159 is uninitialized --- fixing
WARNING: relation "pg_proc" page 160 is uninitialized --- fixing
WARNING: relation "pg_proc" page 161 is uninitialized --- fixing
WARNING: relation "pg_proc" page 162 is uninitialized --- fixing
WARNING: relation "pg_proc" page 246 is uninitialized --- fixing
WARNING: relation "pg_depend" page 82 is uninitialized --- fixing
WARNING: relation "pg_depend" page 83 is uninitialized --- fixing
WARNING: relation "pg_depend" page 84 is uninitialized --- fixing
WARNING: relation "pg_depend" page 85 is uninitialized --- fixing
WARNING: relation "pg_depend" page 86 is uninitialized --- fixing
WARNING: relation "pg_depend" page 87 is uninitialized --- fixing
WARNING: relation "pg_depend" page 88 is uninitialized --- fixing
WARNING: relation "pg_depend" page 89 is uninitialized --- fixing
WARNING: relation "pg_depend" page 90 is uninitialized --- fixing
WARNING: relation "pg_depend" page 91 is uninitialized --- fixing
WARNING: relation "pg_depend" page 92 is uninitialized --- fixing
WARNING: relation "pg_depend" page 93 is uninitialized --- fixing
WARNING: relation "pg_depend" page 94 is uninitialized --- fixing
WARNING: relation "pg_depend" page 95 is uninitialized --- fixing
WARNING: relation "pg_depend" page 96 is uninitialized --- fixing
WARNING: relation "pg_depend" page 112 is uninitialized --- fixing
WARNING: relation "pg_depend" page 128 is uninitialized --- fixing
--
Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX
Experts in Analytics, Data Architecture and PostgreSQL
Data in Trouble? Get it in Treble! http://BlueTreble.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Oskari Saarenmaa 2015-09-05 06:47:07 jsonb_concat: make sure we always return a non-scalar value
Previous Message dinesh kumar 2015-09-05 06:35:52 Re: [PATCH] SQL function to report log message