Re: BUG #8025: PostgreSQL crash (>= 9.1 64 bit)

From: Jeff Janes <jeff(dot)janes(at)gmail(dot)com>
To: lindebg(at)gmail(dot)com
Cc: Pg Bugs <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: BUG #8025: PostgreSQL crash (>= 9.1 64 bit)
Date: 2013-04-18 16:39:53
Message-ID: CAMkU=1xxijdOodXNd+HuVU3tpbhnmo4SJ-FRCVRqstdiZ6Yp2w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

I've bisected this down to this commit:

commit 0f61d4dd1b4f95832dcd81c9688dac56fd6b5687
Author: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)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

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message nyetter 2013-04-18 17:43:33 BUG #8094: psql prompt variable and command substitution broken
Previous Message bmohareb 2013-04-18 16:20:19 BUG #8093: After starting postgres, any attempt to connect generate a core dump and unable to login