Re: Failing assertions in indxpath.c, placeholder.c and brin_minmax.c - Mailing list pgsql-hackers

From Andreas Seltenreich
Subject Re: Failing assertions in indxpath.c, placeholder.c and brin_minmax.c
Date
Msg-id 87k2tm2l3i.fsf@ex.ansel.ydns.eu
Whole thread Raw
In response to Re: Failing assertions in indxpath.c, placeholder.c and brin_minmax.c  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Failing assertions in indxpath.c, placeholder.c and brin_minmax.c
Re: Failing assertions in indxpath.c, placeholder.c and brin_minmax.c
List pgsql-hackers
Tom Lane writes:

> Andreas Seltenreich <seltenreich@gmx.de> writes:
>> when running my random query generator contraption[1] against the
>> regression database of 9.5 or master, it occasionally triggers one of
>> the following three assertions.
>
> I've fixed the first two of these --- thanks for the report!

I let sqlsmith run during the night, and it did no longer trigger the
first two.  During roughly a million random queries it triggered the
already mentioned brin one 10 times, but there was also one instance of
this new one in the log:

TRAP: FailedAssertion("!(join_clause_is_movable_into(rinfo, joinrel->relids, join_and_req))", File: "relnode.c", Line:
987)
LOG:  server process (PID 12851) was terminated by signal 6: Aborted
DETAIL:  Failed process was running: select    rel65543066.tmplname as c0,   rel65543064.umuser as c1from   public.dept
asrel65543059    inner join pg_catalog.pg_user_mappings as rel65543064        left join pg_catalog.pg_enum as
rel65543065       on (rel65543064.srvname = rel65543065.enumlabel )      inner join pg_catalog.pg_ts_template as
rel65543066     on (rel65543065.enumtypid = rel65543066.tmplnamespace )    on (rel65543059.dname = rel65543064.srvname
)where((rel65543059.mgrname = rel65543059.mgrname)     and (rel65543064.usename = rel65543066.tmplname))   and
(rel65543059.mgrname~~ rel65543059.mgrname)fetch first 128 rows only;
 

>> ,----[ git bisect ]
>> |   first bad commit: [3f8c23c4d31d4a0e801041733deb2c7cfa577b32] Improve
>> |   predtest.c's ability to reason about operator expressions.
>> `----
>
> I'm a bit confused about this aspect of your report though, because in
> my hands that example fails clear back to 9.2.  It doesn't seem to require
> the predtest.c improvement to expose the fault.

Hmm, I actually used a different, uglier query to trigger this assertion
for the bisection run.  I'll attach it[1] along with the complete git
bisect log[2].

regards,
andreas

Footnotes: 
[1]  select  subq_717608.c3 as c0, rel4551421.inhrelid as c1, rel4551421.inhrelid as c2, subq_717608.c3 as c3 from
information_schema.foreign_tablesas rel4551363 right join public.hash_f8_heap as rel4551366 inner join
pg_catalog.pg_constraintas rel4551419 inner join (select  rel4551420.bb as c0, rel4551420.aa as c1, rel4551420.aa as
c2,rel4551420.aa as c3 from public.b as rel4551420 where ( rel4551420.bb>rel4551420.bb ) and (
rel4551420.bb<rel4551420.bb) ) as subq_717608 on (rel4551419.coninhcount = subq_717608.c1 ) left join
pg_catalog.pg_inheritsas rel4551421 on (subq_717608.c1 = rel4551421.inhseqno ) on (rel4551366.seqno = subq_717608.c1 )
on(rel4551363.foreign_table_schema = rel4551419.conname ) where ( ( rel4551419.contypid<>rel4551419.connamespace ) and
(rel4551419.connamespace>=rel4551419.conrelid ) ) and ( rel4551421.inhparent<rel4551419.contypid )  fetch first 9 rows
only;
 

[2] git bisect start
# bad: [3b5a89c4820fb11c337838c1ad71e8e93f2937d1] Fix resource leak pointed out by Coverity.
git bisect bad 3b5a89c4820fb11c337838c1ad71e8e93f2937d1
# good: [e6df2e1be6330660ba4d81daa726ae4a71535aa9] Stamp 9.4beta1.
git bisect good e6df2e1be6330660ba4d81daa726ae4a71535aa9
# bad: [68e66923ff629c324e219090860dc9e0e0a6f5d6] Add missing volatile qualifier.
git bisect bad 68e66923ff629c324e219090860dc9e0e0a6f5d6
# bad: [a16bac36eca8158cbf78987e95376f610095f792] Remove dependency on wsock32.lib in favor of ws2_32
git bisect bad a16bac36eca8158cbf78987e95376f610095f792
# good: [55d5b3c08279b487cfa44d4b6e6eea67a0af89e4] Remove unnecessary output expressions from unflattened subqueries.
git bisect good 55d5b3c08279b487cfa44d4b6e6eea67a0af89e4
# bad: [1cbc9480106241aaa8db112331e93d0a265b6db0] Check interrupts during logical decoding more frequently.
git bisect bad 1cbc9480106241aaa8db112331e93d0a265b6db0
# bad: [686f362bee126e50280bcd3b35807b02f18a8966] Fix contrib/pg_upgrade/test.sh for $PWD containing spaces.
git bisect bad 686f362bee126e50280bcd3b35807b02f18a8966
# bad: [be76a6d39e2832d4b88c0e1cc381aa44a7f86881] Secure Unix-domain sockets of "make check" temporary clusters.
git bisect bad be76a6d39e2832d4b88c0e1cc381aa44a7f86881
# good: [6554656ea2043c5bb877b427237dc5ddd7c5e5c8] Improve tuplestore's error messages for I/O failures.
git bisect good 6554656ea2043c5bb877b427237dc5ddd7c5e5c8
# bad: [a7205d81573cb0c979f2d463a1d9edb6f97c94aa] Adjust 9.4 release notes.
git bisect bad a7205d81573cb0c979f2d463a1d9edb6f97c94aa
# bad: [3f8c23c4d31d4a0e801041733deb2c7cfa577b32] Improve predtest.c's ability to reason about operator expressions.
git bisect bad 3f8c23c4d31d4a0e801041733deb2c7cfa577b32
# good: [c81e63d85f0c2c39d3fdfd8b95fc1ead6fdcb89f] Fix pg_restore's processing of old-style BLOB COMMENTS data.
git bisect good c81e63d85f0c2c39d3fdfd8b95fc1ead6fdcb89f
# first bad commit: [3f8c23c4d31d4a0e801041733deb2c7cfa577b32] Improve predtest.c's ability to reason about operator
expressions.




pgsql-hackers by date:

Previous
From: David Rowley
Date:
Subject: Re: Sharing aggregate states between different aggregate functions
Next
From: Haribabu Kommi
Date:
Subject: Re: Sharing aggregate states between different aggregate functions