Re: BUG #8025: PostgreSQL crash (>= 9.1 64 bit) - Mailing list pgsql-bugs

From Jeff Janes
Subject Re: BUG #8025: PostgreSQL crash (>= 9.1 64 bit)
Date
Msg-id CAMkU=1xxijdOodXNd+HuVU3tpbhnmo4SJ-FRCVRqstdiZ6Yp2w@mail.gmail.com
Whole thread Raw
In response to BUG #8025: PostgreSQL crash (>= 9.1 64 bit)  (lindebg@gmail.com)
Responses Re: BUG #8025: PostgreSQL crash (>= 9.1 64 bit)  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
I've bisected this down to this commit:

commit 0f61d4dd1b4f95832dcd81c9688dac56fd6b5687
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date:   Fri Nov 19 17:31:50 2010 -0500

    Improve relation width estimation for subqueries.

And looking at the core dump,

#0  make_rel_from_joinlist (root=0xee4fb8, joinlist=<value optimized out>)
at allpaths.c:942
942                     if (IsA(jlnode, RangeTblRef))

jlnode holds 0x20, which is not a legal address.  Full backtrace at bottom
of this email.

Also, if I enable cassert on 0f61d4dd1b4f95, I get:

TRAP: FailedAssertion("!(te->resno >= rel->min_attr && te->resno <=
rel->max_attr)", File: "costsize.c", Line: 3217)

At which point, resno = 16, min_attr = 0, max_attr = 15

I don't where to take it from here, but maybe this info will help someone
else get there faster.

Cheers,

Jeff

#0  make_rel_from_joinlist (root=0xee4fb8, joinlist=<value optimized out>)
at allpaths.c:942
#1  0x00000000005ae856 in query_planner (root=0xee4fb8, tlist=<value
optimized out>, tuple_fraction=0, limit_tuples=-1,
cheapest_path=0x7fff041d8420,
    sorted_path=0x7fff041d8418, num_groups=0x7fff041d8428) at planmain.c:271
#2  0x00000000005b0304 in grouping_planner (root=<value optimized out>,
tuple_fraction=0) at planner.c:1144
#3  0x00000000005b1ee3 in subquery_planner (glob=0xe6bb20, parse=0xee1350,
parent_root=<value optimized out>, hasRecursion=<value optimized out>,
    tuple_fraction=0, subroot=0x7fff041d8568) at planner.c:535
#4  0x00000000005b57e4 in make_subplan (node=0xee10e0, context=<value
optimized out>) at subselect.c:378
#5  process_sublinks_mutator (node=0xee10e0, context=<value optimized out>)
at subselect.c:1680
#6  0x000000000057bc71 in expression_tree_mutator (node=<value optimized
out>, mutator=0x5b55e0 <process_sublinks_mutator>, context=0x7fff041d8640)
    at nodeFuncs.c:2060
#7  0x00000000005b5837 in process_sublinks_mutator (node=0xee1090,
context=0x7fff041d8730) at subselect.c:1770
#8  0x000000000057c09b in expression_tree_mutator (node=<value optimized
out>, mutator=0x5b55e0 <process_sublinks_mutator>, context=0x7fff041d8730)
    at nodeFuncs.c:1991
#9  0x00000000005b5837 in process_sublinks_mutator (node=0xee1060,
context=0x7fff041d8790) at subselect.c:1770
#10 0x00000000005b5d6a in SS_process_sublinks (root=<value optimized out>,
expr=<value optimized out>, isQual=<value optimized out>) at
subselect.c:1653
#11 0x00000000005aeebf in preprocess_expression (root=0xee0d10, expr=<value
optimized out>, kind=1) at planner.c:656
#12 0x00000000005b1cbd in subquery_planner (glob=0xe6bb20, parse=0xedc2f0,
parent_root=<value optimized out>, hasRecursion=<value optimized out>,
    tuple_fraction=0, subroot=0x7fff041d88b8) at planner.c:417
#13 0x0000000000599426 in set_subquery_pathlist (root=0xedba38,
rel=0xedbed8, rti=<value optimized out>, rte=<value optimized out>) at
allpaths.c:754
#14 set_rel_pathlist (root=0xedba38, rel=0xedbed8, rti=<value optimized
out>, rte=<value optimized out>) at allpaths.c:178
#15 0x00000000005997d3 in set_base_rel_pathlists (root=0xedba38,
joinlist=0xedc070) at allpaths.c:158
#16 make_one_rel (root=0xedba38, joinlist=0xedc070) at allpaths.c:94
#17 0x00000000005ae856 in query_planner (root=0xedba38, tlist=<value
optimized out>, tuple_fraction=0, limit_tuples=-1,
cheapest_path=0x7fff041d8b60,
    sorted_path=0x7fff041d8b58, num_groups=0x7fff041d8b68) at planmain.c:271
#18 0x00000000005b0304 in grouping_planner (root=<value optimized out>,
tuple_fraction=0) at planner.c:1144
#19 0x00000000005b1ee3 in subquery_planner (glob=0xe6bb20, parse=0xe6aa18,
parent_root=<value optimized out>, hasRecursion=<value optimized out>,
    tuple_fraction=0, subroot=0x7fff041d8c48) at planner.c:535
#20 0x00000000005b2191 in standard_planner (parse=0xe6aa18,
cursorOptions=0, boundParams=0x0) at planner.c:200
#21 0x0000000000602b4a in pg_plan_query (querytree=<value optimized out>,
cursorOptions=<value optimized out>, boundParams=<value optimized out>)
    at postgres.c:764
#22 0x0000000000602c34 in pg_plan_queries (querytrees=<value optimized
out>, cursorOptions=0, boundParams=0x0) at postgres.c:823
#23 0x0000000000603bf0 in exec_simple_query (query_string=0xe69bf0 "select
* from vinfo;") at postgres.c:988
#24 0x0000000000604a73 in PostgresMain (argc=<value optimized out>,
argv=<value optimized out>, username=<value optimized out>) at
postgres.c:3932
#25 0x00000000005d1bc9 in BackendRun () at postmaster.c:3561
#26 BackendStartup () at postmaster.c:3246
#27 ServerLoop () at postmaster.c:1432
#28 0x00000000005d41bc in PostmasterMain (argc=<value optimized out>,
argv=<value optimized out>) at postmaster.c:1093
#29 0x000000000057a210 in main (argc=4, argv=0xdbed00) at main.c:188

Cheers,

Jeff

pgsql-bugs by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: BUG #8092: pg_dump need sur quoting schema name
Next
From: nyetter@gmail.com
Date:
Subject: BUG #8094: psql prompt variable and command substitution broken