BUG #14174: Expanded-datum bug accessing freed memory

From: andrew(at)tao11(dot)riddles(dot)org(dot)uk
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #14174: Expanded-datum bug accessing freed memory
Date: 2016-06-03 12:46:28
Message-ID: 20160603124628.9932.41279@wrigleys.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 14174
Logged by: Andrew Gierth
Email address: andrew(at)tao11(dot)riddles(dot)org(dot)uk
PostgreSQL version: 9.5.3
Operating system: any
Description:

This is a testcase distilled from a problem reported on IRC:

create or replace function afn1(integer) returns int[] language plpgsql
as $f$ declare r int[]; begin select into r array[$1,$1]; return r; end;
$f$;
create or replace function afn2(int[]) returns integer language plpgsql
as $f$ begin return $1[1]; end; $f$;
create or replace view v_test as select i, a from (select afn1(1) as a
offset 0) s, lateral afn2(a) i;
create function tstfn(integer) returns setof v_test language plpgsql
as $f$ begin return query select * from v_test where i=$1; end; $f$;
select * from tstfn(1);

ERROR: cache lookup failed for type 2139062143

(2139062143 = 0x7f7f7f7f, and I'm testing this on a cassert build, so this
is accessing freed memory somewhere - the original reporter was getting
"cache lookup failed for type 0" or a segfault)

If the "return r;" in afn1() is changed to "return r || '{}';", or if the
lateral call to afn2 is omitted, the problem is not apparent.

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message james.beck 2016-06-03 13:31:57 BUG #14175: RPM Conflicts Origination from pgdg94
Previous Message furstenheim 2016-06-03 10:37:44 BUG #14173: Not using partitions with ANY(ARRAY[...])