[sqlsmith] Failed assertion at relnode.c

From: tushar <tushar(dot)ahuja(at)enterprisedb(dot)com>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: [sqlsmith] Failed assertion at relnode.c
Date: 2019-03-14 14:53:26
Message-ID: 7d72ab20-c725-3ce2-f99d-4e64dd8a0de6@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

While running sqlsmith against 12devel, got the the following
assertion-  (issue is reproducible  on v10/v11 as well)

TRAP: FailedAssertion("!(bms_is_subset(appendrel->lateral_relids,
required_outer))", File: "relnode.c", Line: 1521)

stack trace -

#0  0x00007f2a2f349277 in raise () from /lib64/libc.so.6
#1  0x00007f2a2f34a968 in abort () from /lib64/libc.so.6
#2  0x0000000000893727 in ExceptionalCondition
(conditionName=conditionName(at)entry=0xa44ae8
"!(bms_is_subset(appendrel->lateral_relids, required_outer))",
    errorType=errorType(at)entry=0x8e1de9 "FailedAssertion",
fileName=fileName(at)entry=0xa441e4 "relnode.c",
lineNumber=lineNumber(at)entry=1521) at assert.c:54
#3  0x00000000006f2e0c in get_appendrel_parampathinfo
(appendrel=appendrel(at)entry=0x7f2a300e0b10,
required_outer=required_outer(at)entry=0x0) at relnode.c:1521
#4  0x00000000006e7d1d in create_append_path (root=root(at)entry=0x0,
rel=rel(at)entry=0x7f2a300e0b10, subpaths=subpaths(at)entry=0x0,
partial_subpaths=partial_subpaths(at)entry=0x0,
    required_outer=required_outer(at)entry=0x0,
parallel_workers=parallel_workers(at)entry=0,
parallel_aware=parallel_aware(at)entry=false,
partitioned_rels=partitioned_rels(at)entry=0x0,
    rows=rows(at)entry=-1) at pathnode.c:1239
#5  0x00000000006a7fc7 in set_dummy_rel_pathlist
(rel=rel(at)entry=0x7f2a300e0b10) at allpaths.c:1976
#6  0x00000000006a95e9 in set_subquery_pathlist (rte=<optimized out>,
rti=2, rel=0x7f2a300e0b10, root=0x29975e0) at allpaths.c:2162
#7  set_rel_size (root=root(at)entry=0x29975e0,
rel=rel(at)entry=0x7f2a300e0b10, rti=rti(at)entry=2, rte=<optimized out>) at
allpaths.c:422
#8  0x00000000006ab1ed in set_base_rel_sizes (root=<optimized out>) at
allpaths.c:324
#9  make_one_rel (root=root(at)entry=0x29975e0,
joinlist=joinlist(at)entry=0x7f2a300e1e88) at allpaths.c:186
#10 0x00000000006cad5d in query_planner (root=root(at)entry=0x29975e0,
tlist=tlist(at)entry=0x7f2a300e0608, qp_callback=qp_callback(at)entry=0x6cb920
<standard_qp_callback>,
    qp_extra=qp_extra(at)entry=0x7ffc93d63d20) at planmain.c:265
#11 0x00000000006cf3ac in grouping_planner (root=root(at)entry=0x29975e0,
inheritance_update=inheritance_update(at)entry=false,
tuple_fraction=<optimized out>, tuple_fraction(at)entry=0)
    at planner.c:1933
#12 0x00000000006d1b85 in subquery_planner (glob=glob(at)entry=0x29beb88,
parse=parse(at)entry=0x29be638, parent_root=parent_root(at)entry=0x0,
hasRecursion=hasRecursion(at)entry=false,
    tuple_fraction=tuple_fraction(at)entry=0) at planner.c:1001
#13 0x00000000006d2e36 in standard_planner (parse=0x29be638,
cursorOptions=256, boundParams=0x0) at planner.c:417
#14 0x000000000078793d in pg_plan_query
(querytree=querytree(at)entry=0x29be638,
cursorOptions=cursorOptions(at)entry=256,
boundParams=boundParams(at)entry=0x0) at postgres.c:878
#15 0x0000000000787a1e in pg_plan_queries (querytrees=<optimized out>,
cursorOptions=cursorOptions(at)entry=256,
boundParams=boundParams(at)entry=0x0) at postgres.c:968
#16 0x0000000000787eba in exec_simple_query (
    query_string=0x29979f8 "select\n  subq_1.c5 as c0\nfrom\n
pg_catalog.pg_description as ref_0,\n  lateral (select\n subq_0.c11 as
c0,\n        ref_0.objsubid as c1,\n ref_0.classoid as c2,\n       
ref_2.action_referen"...) at postgres.c:1143
#17 0x00000000007890d2 in PostgresMain (argc=<optimized out>,
argv=argv(at)entry=0x29c1300, dbname=0x29c1140 "postgres",
username=<optimized out>) at postgres.c:4256
#18 0x000000000047cee2 in BackendRun (port=<optimized out>,
port=<optimized out>) at postmaster.c:4399
#19 BackendStartup (port=0x29b9120) at postmaster.c:4090
#20 ServerLoop () at postmaster.c:1703
#21 0x00000000007105ff in PostmasterMain (argc=argc(at)entry=3,
argv=argv(at)entry=0x2991ce0) at postmaster.c:1376
#22 0x000000000047e083 in main (argc=3, argv=0x2991ce0) at main.c:228
(gdb) q

Query -
====

select
  subq_1.c5 as c0
from
  pg_catalog.pg_description as ref_0,
  lateral (select
        subq_0.c11 as c0,
        ref_0.objsubid as c1,
        ref_0.classoid as c2,
        ref_2.action_reference_new_row as c3,
        ref_4.opfmethod as c4,
        pg_catalog.pg_postmaster_start_time() as c5
      from
        pg_catalog.pg_prepared_statements as ref_1
            inner join information_schema.triggers as ref_2
              left join pg_catalog.pg_subscription_rel as ref_3
              on ((select idx_scan from pg_catalog.pg_stat_all_indexes
limit 1 offset 6)
                     > (select idx_blks_read from
pg_catalog.pg_statio_sys_indexes limit 1 offset 1)
                    )
            on (cast(null as macaddr) <= cast(null as macaddr))
          left join pg_catalog.pg_opfamily as ref_4
          on (ref_0.description is NULL),
        lateral (select
              ref_2.trigger_schema as c0,
              ref_2.action_reference_old_row as c1,
              ref_4.opfmethod as c2,
              ref_1.statement as c3,
              ref_0.objoid as c4,
              ref_2.action_reference_old_table as c5,
              ref_2.event_object_catalog as c6,
              ref_2.event_object_schema as c7,
              ref_2.trigger_catalog as c8,
              ref_0.description as c9,
              ref_4.opfname as c10,
              sample_0.stxname as c11
            from
              pg_catalog.pg_statistic_ext as sample_0 tablesample
system (2.7)
            where cast(null as point) @ cast(null as polygon)
            limit 105) as subq_0
      where (true)
        and ((ref_4.opfname is NULL)
          and (cast(null as int8) < ref_0.objsubid))) as subq_1
where subq_1.c5 is not NULL
limit 79;

--
regards,tushar
EnterpriseDB https://www.enterprisedb.com/
The Enterprise PostgreSQL Company

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andreas Karlsson 2019-03-14 14:56:26 Re: Feature: temporary materialized views
Previous Message Magnus Hagander 2019-03-14 14:32:22 Re: Offline enabling/disabling of data checksums