Tom Lane writes:
> Andreas Seltenreich <[email protected]> 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 c1
from
public.dept as rel65543059
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_tables as rel4551363 right join public.hash_f8_heap
as rel4551366 inner join pg_catalog.pg_constraint as 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_inherits as 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.
--
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers