Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#2732 closed defect (fixed)

gserialized_estimate crashes under mingw64 windows when compiled with --enable-debug

Reported by: robe Owned by: pramsey
Priority: medium Milestone: PostGIS 2.1.3
Component: postgis Version: 2.1.x
Keywords: windows, mingw64 Cc:

Description

I think this is a similar issue to #2729 so probably some NULL string being trying to output in debug.

I accidentally ran this query in my debug compiled install

POSTGIS="2.1.3dev r12523" GEOS="3.4.2-CAPI-1.8.2 r3924" PROJ="Rel. 4.8.0, 6 March 2012" GDAL="GDAL 1.10.0, released 2013/04/24" LIBXML="2.7.8" LIBJSON="UNKNOWN" (core procs from "2.1.3dev r12521" need upgrade) RASTER (raster procs from "2.1.3dev r12521" need upgrade) PostgreSQL 9.3.0 on x86_64-w64-mingw32, compiled by gcc.exe (rubenvb-4.8.0) 4.8.0, 64-bit

 SELECT pprint_addy(addy), st_astext(geomout), rating FROM
  geocode_intersection('Broadway', 'Houston St', 'NY', 'New York', '10012');

and got this back trace on crash:

(gdb) bt
#0  0x000007fefd8e5a01 in strlen () from C:\Windows\system32\msvcrt.dll
#1  0x000000000074df39 in fmtstr (target=0x23cc7a0, pointflag=<optimized out>, maxwidth=0, minlen=0, leftjust=0, value=0x0) at snprintf.c:779
#2  dopr (target=target@entry=0x23cc7a0, format=0x30b144 "\" Oid(%d)", args=0x23cc8e8 "", args@entry=0x23cc8b8 "") at snprintf.c:714
#3  0x000000000074e13f in pg_vsnprintf (str=<optimized out>, count=count@entry=1023, fmt=fmt@entry=0x30b118 "[%s:%s:%d] using relations \"%s\" Oid(%d), \"%s\" Oid(%d)", args=args@entry=0x23cc8b8 "") at snprintf.c:154
#4  0x000000000057c0b1 in appendStringInfoVA (str=str@entry=0x23cc860, fmt=fmt@entry=0x30b118 "[%s:%s:%d] using relations \"%s\" Oid(%d), \"%s\" Oid(%d)", args=args@entry=0x23cc8b8 "") at stringinfo.c:137
#5  0x000000000071607f in errmsg_internal (fmt=fmt@entry=0x6a00a700 <my_finfo.69106+1076> "[%s:%s:%d] using relations \"%s\" Oid(%d), \"%s\" Oid(%d)") at elog.c:821
#6  0x0000000069fa7538 in gserialized_gist_joinsel (fcinfo=fcinfo@entry=0x23cc960) at gserialized_estimate.c:1166
#7  0x000000000071b9ab in DirectFunctionCall5Coll (func=func@entry=0x69fa7320 <gserialized_gist_joinsel>, collation=collation@entry=0, arg1=<optimized out>, arg2=<optimized out>, arg3=63487248, arg4=0, arg5=arg5@entry=2) at fmgr.c:1133
#8  0x0000000069faa775 in gserialized_gist_joinsel_2d (fcinfo=<optimized out>) at gserialized_estimate.c:1109
#9  0x000000000071caef in OidFunctionCall5Coll (functionId=<optimized out>, collation=collation@entry=0, arg1=arg1@entry=63400352, arg2=arg2@entry=22743, arg3=arg3@entry=63487248, arg4=arg4@entry=0, arg5=arg5@entry=37541248) at fmgr.c:1714
#10 0x00000000005de350 in join_selectivity (root=root@entry=0x3c769a0, operatorid=operatorid@entry=22743, args=0x3c8bd10, inputcollid=0, jointype=jointype@entry=JOIN_INNER, sjinfo=sjinfo@entry=0x23cd580) at plancat.c:1082
#11 0x00000000005abaf9 in clause_selectivity (root=root@entry=0x3c769a0, clause=0x3c8bc38, clause@entry=0x3c91b58, varRelid=varRelid@entry=0, jointype=jointype@entry=JOIN_INNER, sjinfo=sjinfo@entry=0x23cd580) at clausesel.c:659
#12 0x00000000005abd68 in clauselist_selectivity (root=0x3c769a0, clauses=<optimized out>, varRelid=varRelid@entry=0, jointype=jointype@entry=JOIN_INNER, sjinfo=sjinfo@entry=0x23cd580) at clausesel.c:123
#13 0x00000000005ac690 in calc_joinrel_size_estimate (root=root@entry=0x3c769a0, outer_rows=1, inner_rows=1, sjinfo=sjinfo@entry=0x23cd580, restrictlist=restrictlist@entry=0x3c98e38) at costsize.c:3645
#14 0x00000000005b0578 in set_joinrel_size_estimates (root=root@entry=0x3c769a0, rel=rel@entry=0x3c98810, outer_rel=outer_rel@entry=0x3c975f0, inner_rel=inner_rel@entry=0x3c8f218, sjinfo=sjinfo@entry=0x23cd580, restrictlist=restrictlist@entry=0x3c98e38) at costsize.c:3531
#15 0x00000000005e050a in build_join_rel (root=root@entry=0x3c769a0, joinrelids=joinrelids@entry=0x3c97460, outer_rel=outer_rel@entry=0x3c975f0, inner_rel=inner_rel@entry=0x3c8f218, sjinfo=0x23cd580, restrictlist_ptr=restrictlist_ptr@entry=0x23cd578) at relnode.c:426
#16 0x00000000005b9c56 in make_join_rel (root=root@entry=0x3c769a0, rel1=rel1@entry=0x3c975f0, rel2=rel2@entry=0x3c8f218) at joinrels.c:634
#17 0x00000000005ba579 in make_rels_by_clause_joins (other_rels=<optimized out>, old_rel=<optimized out>, root=<optimized out>) at joinrels.c:274
#18 join_search_one_level (root=root@entry=0x3c769a0, level=level@entry=2) at joinrels.c:96
#19 0x00000000005ab15f in standard_join_search (root=0x3c769a0, levels_needed=2, initial_rels=<optimized out>) at allpaths.c:1569
#20 0x00000000005ab4e9 in make_one_rel (root=root@entry=0x3c769a0, joinlist=joinlist@entry=0x3c91f10) at allpaths.c:143
#21 0x00000000005c6012 in query_planner (root=root@entry=0x3c769a0, tlist=tlist@entry=0x3c86580, tuple_fraction=tuple_fraction@entry=100, limit_tuples=100, qp_callback=qp_callback@entry=0x5c6bb0 <standard_qp_callback>, qp_extra=qp_extra@entry=0x23cd930,
    cheapest_path=cheapest_path@entry=0x23cd920, sorted_path=sorted_path@entry=0x23cd928, num_groups=num_groups@entry=0x23cd918) at planmain.c:261
#22 0x00000000005c72fd in grouping_planner (root=root@entry=0x3c769a0, tuple_fraction=100, tuple_fraction@entry=0) at planner.c:1207
#23 0x00000000005c9bc9 in subquery_planner (glob=0xe0441e8, parse=0x3c62210, parent_root=parent_root@entry=0xdfe1f58, hasRecursion=<optimized out>, tuple_fraction=tuple_fraction@entry=0, subroot=subroot@entry=0x23cdb58) at planner.c:558
#24 0x00000000005cea30 in SS_process_ctes (root=root@entry=0xdfe1f58) at subselect.c:1061
#25 0x00000000005c96e1 in subquery_planner (glob=glob@entry=0xe0441e8, parse=parse@entry=0xdf2df60, parent_root=parent_root@entry=0x0, hasRecursion=hasRecursion@entry=0 '\000', tuple_fraction=0, subroot=subroot@entry=0x23cdc88) at planner.c:328
#26 0x00000000005c9f02 in standard_planner (parse=0xdf2df60, cursorOptions=0, boundParams=0xda55dd8) at planner.c:209
#27 0x0000000000640f59 in pg_plan_query (querytree=<optimized out>, cursorOptions=cursorOptions@entry=0, boundParams=boundParams@entry=0xda55dd8) at postgres.c:753
#28 0x000000000064108b in pg_plan_queries (querytrees=querytrees@entry=0xdfe40a0, cursorOptions=0, boundParams=boundParams@entry=0xda55dd8) at postgres.c:812
#29 0x0000000000705b76 in BuildCachedPlan (plansource=plansource@entry=0xdf11568, qlist=0xdfe40a0, qlist@entry=0x0, boundParams=boundParams@entry=0xda55dd8) at plancache.c:907
#30 0x0000000000705db7 in GetCachedPlan (plansource=plansource@entry=0xdf11568, boundParams=boundParams@entry=0xda55dd8, useResOwner=useResOwner@entry=0 '\000') at plancache.c:1166
#31 0x000000000057a1fa in SPI_cursor_open_internal (name=name@entry=0x0, plan=plan@entry=0x23cdef0, paramLI=paramLI@entry=0xda55dd8, read_only=read_only@entry=1 '\001') at spi.c:1277
#32 0x000000000057a70c in SPI_cursor_open_with_args (name=name@entry=0x0,
    src=src@entry=0xdd6a170 "\n    WITH \n      a1 AS (SELECT f.*, addr.fromhn, addr.tohn, addr.side , addr.zip\n                               FROM (SELECT * FROM featnames \n                                                        WHERE statefp = $1 AND ( lower(name) = $2   or  lower(fullname) LIKE
 $"..., nargs=<optimized out>, argtypes=0xdd6b1e0, Values=0xdd6b238, Nulls=0xdd6a098 "         ~\177\177\177\177\177\177A'☼\r", read_only=1 '\001', cursorOptions=cursorOptions@entry=0) at spi.c:1171
#33 0x000000006984d59e in exec_dynquery_with_params (estate=estate@entry=0x23ce360, dynquery=<optimized out>, params=<optimized out>, portalname=portalname@entry=0x0, cursorOptions=cursorOptions@entry=0) at pl_exec.c:6427
#34 0x000000006984f325 in exec_stmt_dynfors (stmt=0xdb427e0, estate=0x23ce360) at pl_exec.c:3606
#35 exec_stmt (stmt=0xdb427e0, estate=0x23ce360) at pl_exec.c:1454
#36 exec_stmts (estate=0x23ce360, stmts=<optimized out>) at pl_exec.c:1345
#37 0x0000000069851921 in exec_stmt_block (estate=0x0, estate@entry=0x23ce360, block=0xda53ee0) at pl_exec.c:1283
#38 0x0000000069851b8d in plpgsql_exec_function (func=0xda29370, func@entry=0x23ce890, fcinfo=0x23ce890, fcinfo@entry=0x23ce5a8) at pl_exec.c:321
#39 0x0000000069846dd8 in plpgsql_call_handler (fcinfo=0x23ce5a8) at pl_handler.c:129
#40 0x000000000071d862 in fmgr_security_definer (fcinfo=0x200000000) at fmgr.c:975
#41 0x000000000055ac5d in ExecMakeTableFunctionResult (funcexpr=0xdb21bd8, econtext=0xda49fa8, expectedDesc=0xda4b9f8, randomAccess=0 '\000') at execQual.c:2167
#42 0x000000000056ed97 in FunctionNext (node=0xda49e90) at nodeFunctionscan.c:64
#43 0x000000000055ce49 in ExecScanFetch (recheckMtd=0x56ed20 <FunctionRecheck>, accessMtd=0x56ed30 <FunctionNext>, node=0xda49e90) at execScan.c:82
#44 ExecScan (node=node@entry=0xda49e90, accessMtd=accessMtd@entry=0x56ed30 <FunctionNext>, recheckMtd=recheckMtd@entry=0x56ed20 <FunctionRecheck>) at execScan.c:167
#45 0x000000000056edc3 in ExecFunctionScan (node=node@entry=0xda49e90) at nodeFunctionscan.c:107
#46 0x0000000000555898 in ExecProcNode (node=node@entry=0xda49e90) at execProcnode.c:426
#47 0x0000000000552a0c in ExecutePlan (dest=0xdb1b1d8, direction=<optimized out>, numberTuples=0, sendTuples=1 '\001', operation=CMD_SELECT, planstate=0xda49e90, estate=0xda49d78) at execMain.c:1470
#48 standard_ExecutorRun (queryDesc=0xda2ea38, direction=<optimized out>, count=0) at execMain.c:306
#49 0x00000000006441a6 in PortalRunSelect (portal=portal@entry=0xda35ca8, forward=forward@entry=1 '\001', count=count@entry=0, dest=dest@entry=0xda35ca8) at pquery.c:946
#50 0x0000000000645876 in PortalRun (portal=0x23ceea0, portal@entry=0xda35ca8, count=0, count@entry=2147483647, isTopLevel=isTopLevel@entry=0 '\000', dest=0xda35ca8, dest@entry=0xdb1b1d8, altdest=altdest@entry=0xdb1b1d8, completionTag=0x23cf220 "",
    completionTag@entry=0x40000000088 <Address 0x40000000088 out of bounds>) at pquery.c:790
#51 0x0000000000643146 in exec_simple_query (query_string=0x7fefd8e3fc0 <msvcrt!__iob_func> "H\215\005\271ê\a") at postgres.c:1048
#52 PostgresMain (argc=<optimized out>, argv=argv@entry=0x30aa68, dbname=0x17 <Address 0x17 out of bounds>, username=<optimized out>) at postgres.c:3985
#53 0x00000000005f6b41 in BackendRun (port=0x23cf410) at postmaster.c:3999
#54 SubPostmasterMain (argc=argc@entry=3, argv=argv@entry=0x2437de0) at postmaster.c:4504
#55 0x000000000075fb29 in main (argc=3, argv=0x2437de0) at main.c:173

So gathering from the bt, I'm guessing the problem is in

gserialized_estimate.c line 1166

where we have:

POSTGIS_DEBUGF(3, "using relations \"%s\" Oid(%d), \"%s\" Oid(%d)", 
	                  get_rel_name(relid1), relid1, get_rel_name(relid2), relid2);

Presumably one of those inputs is returning a null pointer which is annoying windows.

Attachments (1)

debugcrash.patch (662 bytes) - added by pramsey 6 years ago.
see if this helps, please apply to 2.0+ if it does

Download all attachments as: .zip

Change History (10)

Changed 6 years ago by pramsey

Attachment: debugcrash.patch added

see if this helps, please apply to 2.0+ if it does

comment:1 Changed 6 years ago by robe

no dice

(gdb) bt
#0  0x000007fefe545a01 in strlen () from C:\Windows\system32\msvcrt.dll
#1  0x000000000074df39 in fmtstr (target=0x23cc720, pointflag=<optimized out>, maxwidth=0, minlen=0, leftjust=0, value=0x0) at snprintf.c:779
#2  dopr (target=target@entry=0x23cc720, format=0x36b548 "\" do not exist", args=0x23cc858 "Xb\217\004", args@entry=0x23cc838 "") at snprintf.c:714
#3  0x000000000074e13f in pg_vsnprintf (str=<optimized out>, count=count@entry=1023, fmt=fmt@entry=0x36b530 "[%s:%s:%d] stats for \"%s\" do not exist", args=args@entry=0x23cc838 "") at snprintf.c:154
#4  0x000000000057c0b1 in appendStringInfoVA (str=str@entry=0x23cc7e0, fmt=fmt@entry=0x36b530 "[%s:%s:%d] stats for \"%s\" do not exist", args=args@entry=0x23cc838 "") at stringinfo.c:137
#5  0x000000000071607f in errmsg_internal (fmt=fmt@entry=0x6a00a318 <my_finfo.69106+76> "[%s:%s:%d] stats for \"%s\" do not exist") at elog.c:821
#6  0x0000000069fa5b87 in pg_get_nd_stats (table_oid=table_oid@entry=0, att_num=<optimized out>, mode=mode@entry=2) at gserialized_estimate.c:820
#7  0x0000000069fa747c in gserialized_gist_joinsel (fcinfo=fcinfo@entry=0x23cc960) at gserialized_estimate.c:1171
#8  0x000000000071b9ab in DirectFunctionCall5Coll (func=func@entry=0x69fa7320 <gserialized_gist_joinsel>, collation=collation@entry=0, arg1=<optimized out>, arg2=<optimized out>, arg3=241743096, arg4=0, arg5=ar
#9  0x0000000069faa7a5 in gserialized_gist_joinsel_2d (fcinfo=<optimized out>) at gserialized_estimate.c:1109
#10 0x000000000071caef in OidFunctionCall5Coll (functionId=<optimized out>, collation=collation@entry=0, arg1=arg1@entry=241656200, arg2=arg2@entry=22743, arg3=arg3@entry=241743096, arg4=arg4@entry=0, arg5=arg5
#11 0x00000000005de350 in join_selectivity (root=root@entry=0xe676188, operatorid=operatorid@entry=22743, args=0xe68b4f8, inputcollid=0, jointype=jointype@entry=JOIN_INNER, sjinfo=sjinfo@entry=0x23cd580) at pla
#12 0x00000000005abaf9 in clause_selectivity (root=root@entry=0xe676188, clause=0xe68b420, clause@entry=0xe691340, varRelid=varRelid@entry=0, jointype=jointype@entry=JOIN_INNER, sjinfo=sjinfo@entry=0x23cd580) a
#13 0x00000000005abd68 in clauselist_selectivity (root=0xe676188, clauses=<optimized out>, varRelid=varRelid@entry=0, jointype=jointype@entry=JOIN_INNER, sjinfo=sjinfo@entry=0x23cd580) at clausesel.c:123
#14 0x00000000005ac690 in calc_joinrel_size_estimate (root=root@entry=0xe676188, outer_rows=1, inner_rows=1, sjinfo=sjinfo@entry=0x23cd580, restrictlist=restrictlist@entry=0xe698620) at costsize.c:3645
#15 0x00000000005b0578 in set_joinrel_size_estimates (root=root@entry=0xe676188, rel=rel@entry=0xe697ff8, outer_rel=outer_rel@entry=0xe696dd8, inner_rel=inner_rel@entry=0xe68ea00, sjinfo=sjinfo@entry=0x23cd580,
#16 0x00000000005e050a in build_join_rel (root=root@entry=0xe676188, joinrelids=joinrelids@entry=0xe696c48, outer_rel=outer_rel@entry=0xe696dd8, inner_rel=inner_rel@entry=0xe68ea00, sjinfo=0x23cd580, restrictli
#17 0x00000000005b9c56 in make_join_rel (root=root@entry=0xe676188, rel1=rel1@entry=0xe696dd8, rel2=rel2@entry=0xe68ea00) at joinrels.c:634
#18 0x00000000005ba579 in make_rels_by_clause_joins (other_rels=<optimized out>, old_rel=<optimized out>, root=<optimized out>) at joinrels.c:274
#19 join_search_one_level (root=root@entry=0xe676188, level=level@entry=2) at joinrels.c:96
#20 0x00000000005ab15f in standard_join_search (root=0xe676188, levels_needed=2, initial_rels=<optimized out>) at allpaths.c:1569
#21 0x00000000005ab4e9 in make_one_rel (root=root@entry=0xe676188, joinlist=joinlist@entry=0xe6916f8) at allpaths.c:143
#22 0x00000000005c6012 in query_planner (root=root@entry=0xe676188, tlist=tlist@entry=0xe685d68, tuple_fraction=tuple_fraction@entry=100, limit_tuples=100, qp_callback=qp_callback@entry=0x5c6bb0 <standard_qp_ca
    cheapest_path=cheapest_path@entry=0x23cd920, sorted_path=sorted_path@entry=0x23cd928, num_groups=num_groups@entry=0x23cd918) at planmain.c:261
#23 0x00000000005c72fd in grouping_planner (root=root@entry=0xe676188, tuple_fraction=100, tuple_fraction@entry=0) at planner.c:1207
#24 0x00000000005c9bc9 in subquery_planner (glob=0xdfb9a40, parse=0xe6619f8, parent_root=parent_root@entry=0xdf577b0, hasRecursion=<optimized out>, tuple_fraction=tuple_fraction@entry=0, subroot=subroot@entry=0
#25 0x00000000005cea30 in SS_process_ctes (root=root@entry=0xdf577b0) at subselect.c:1061
#26 0x00000000005c96e1 in subquery_planner (glob=glob@entry=0xdfb9a40, parse=parse@entry=0xdec1fc0, parent_root=parent_root@entry=0x0, hasRecursion=hasRecursion@entry=0 '\000', tuple_fraction=0, subroot=subroot
#27 0x00000000005c9f02 in standard_planner (parse=0xdec1fc0, cursorOptions=0, boundParams=0x49022b8) at planner.c:209
#28 0x0000000000640f59 in pg_plan_query (querytree=<optimized out>, cursorOptions=cursorOptions@entry=0, boundParams=boundParams@entry=0x49022b8) at postgres.c:753
#29 0x000000000064108b in pg_plan_queries (querytrees=querytrees@entry=0xdf598f8, cursorOptions=0, boundParams=boundParams@entry=0x49022b8) at postgres.c:812
#30 0x0000000000705b76 in BuildCachedPlan (plansource=plansource@entry=0xdeb2f38, qlist=0xdf598f8, qlist@entry=0x0, boundParams=boundParams@entry=0x49022b8) at plancache.c:907
#31 0x0000000000705db7 in GetCachedPlan (plansource=plansource@entry=0xdeb2f38, boundParams=boundParams@entry=0x49022b8, useResOwner=useResOwner@entry=0 '\000') at plancache.c:1166
#32 0x000000000057a1fa in SPI_cursor_open_internal (name=name@entry=0x0, plan=plan@entry=0x23cdef0, paramLI=paramLI@entry=0x49022b8, read_only=read_only@entry=1 '\001') at spi.c:1277
#33 0x000000000057a70c in SPI_cursor_open_with_args (name=name@entry=0x0,
    src=src@entry=0xdd29610 "\n    WITH \n      a1 AS (SELECT f.*, addr.fromhn, addr.tohn, addr.side , addr.zip\n                               FROM (SELECT * FROM featnames \n
 $"..., nargs=<optimized out>, argtypes=0xdd2a680, Values=0xdd2a6d8, Nulls=0xdd29538 "         ~\177\177\177\177\177\177èñ\217\004", read_only=1 '\001', cursorOptions=cursorOptions@entry=0) at spi.c:1171
#34 0x000000006984d59e in exec_dynquery_with_params (estate=estate@entry=0x23ce360, dynquery=<optimized out>, params=<optimized out>, portalname=portalname@entry=0x0, cursorOptions=cursorOptions@entry=0) at pl_
#35 0x000000006984f325 in exec_stmt_dynfors (stmt=0xdb0d150, estate=0x23ce360) at pl_exec.c:3606
#36 exec_stmt (stmt=0xdb0d150, estate=0x23ce360) at pl_exec.c:1454
#37 exec_stmts (estate=0x23ce360, stmts=<optimized out>) at pl_exec.c:1345
#38 0x0000000069851921 in exec_stmt_block (estate=0x0, estate@entry=0x23ce360, block=0x49003c0) at pl_exec.c:1283
#39 0x0000000069851b8d in plpgsql_exec_function (func=0x48ff418, func@entry=0x23ce890, fcinfo=0x23ce890, fcinfo@entry=0x23ce5a8) at pl_exec.c:321
#40 0x0000000069846dd8 in plpgsql_call_handler (fcinfo=0x23ce5a8) at pl_handler.c:129
#41 0x000000000071d862 in fmgr_security_definer (fcinfo=0x200000000) at fmgr.c:975
#42 0x000000000055ac5d in ExecMakeTableFunctionResult (funcexpr=0x4956038, econtext=0x48ec438, expectedDesc=0x48ede88, randomAccess=0 '\000') at execQual.c:2167
#43 0x000000000056ed97 in FunctionNext (node=0x48ec320) at nodeFunctionscan.c:64
#44 0x000000000055ce49 in ExecScanFetch (recheckMtd=0x56ed20 <FunctionRecheck>, accessMtd=0x56ed30 <FunctionNext>, node=0x48ec320) at execScan.c:82
#45 ExecScan (node=node@entry=0x48ec320, accessMtd=accessMtd@entry=0x56ed30 <FunctionNext>, recheckMtd=recheckMtd@entry=0x56ed20 <FunctionRecheck>) at execScan.c:167
#46 0x000000000056edc3 in ExecFunctionScan (node=node@entry=0x48ec320) at nodeFunctionscan.c:107
#47 0x0000000000555898 in ExecProcNode (node=node@entry=0x48ec320) at execProcnode.c:426
#48 0x0000000000552a0c in ExecutePlan (dest=0x49f7b88, direction=<optimized out>, numberTuples=0, sendTuples=1 '\001', operation=CMD_SELECT, planstate=0x48ec320, estate=0x48ec208) at execMain.c:1470
#49 standard_ExecutorRun (queryDesc=0xda7f268, direction=<optimized out>, count=0) at execMain.c:306
#50 0x00000000006441a6 in PortalRunSelect (portal=portal@entry=0x48d6128, forward=forward@entry=1 '\001', count=count@entry=0, dest=dest@entry=0x48d6128) at pquery.c:946
#51 0x0000000000645876 in PortalRun (portal=0x23ceea0, portal@entry=0x48d6128, count=0, count@entry=2147483647, isTopLevel=isTopLevel@entry=0 '\000', dest=0x48d6128, dest@entry=0x49f7b88, altdest=altdest@entry=
    completionTag@entry=0x40000000088 <Address 0x40000000088 out of bounds>) at pquery.c:790
#52 0x0000000000643146 in exec_simple_query (query_string=0x7fefe543fc0 <msvcrt!__iob_func> "H\215\005\271ê\a") at postgres.c:1048
#53 PostgresMain (argc=<optimized out>, argv=argv@entry=0x36aa68, dbname=0x17 <Address 0x17 out of bounds>, username=<optimized out>) at postgres.c:3985
#54 0x00000000005f6b41 in BackendRun (port=0x23cf410) at postmaster.c:3999
#55 SubPostmasterMain (argc=argc@entry=3, argv=argv@entry=0x227de0) at postmaster.c:4504
#56 0x000000000075fb29 in main (argc=3, argv=0x227de0) at main.c:173
(gdb)

comment:2 Changed 6 years ago by robe

For the record, I was testing with skeleton tables, not sure it makes a difference:

CREATE EXTENSION postgis;
CREATE EXTENSION fuzzystrmatch;
CREATE EXTENSION postgis_tiger_geocoder;


After all installed reconnect and run this query:

 SELECT pprint_addy(addy), st_astext(geomout), rating FROM
  geocode_intersection('Broadway', 'Houston St', 'NY', 'New York', '10012');

comment:3 Changed 6 years ago by robe

still no dice after changing to below but on closer inspection, I think its failing somewhere else

	POSTGIS_DEBUGF(3, "using relations \"%s\" Oid(%d), \"%s\" Oid(%d)", 
	                 get_rel_name(relid1) ? get_rel_name(relid1) : "NULL", relid1, get_rel_name(relid2) ? get_rel_name(relid2) : "NULL", relid2); 

Now get:

(gdb) bt
#0  0x000007fefe545a01 in strlen () from C:\Windows\system32\msvcrt.dll
#1  0x000000000074df39 in fmtstr (target=0x23cc720, pointflag=<optimized out>, maxwidth=0, minlen=0, leftjust=0, value=0x0) at snprintf.c:779
#2  dopr (target=target@entry=0x23cc720, format=0x15b548 "\" do not exist", args=0x23cc858 "Xb|\r", args@entry=0x23cc838 "") at snprintf.c:714
#3  0x000000000074e13f in pg_vsnprintf (str=<optimized out>, count=count@entry=1023, fmt=fmt@entry=0x15b530 "[%s:%s:%d] stats for \"%s\" do not exist", args=args@entry=0x23cc838 "") at snprintf.c:154
#4  0x000000000057c0b1 in appendStringInfoVA (str=str@entry=0x23cc7e0, fmt=fmt@entry=0x15b530 "[%s:%s:%d] stats for \"%s\" do not exist", args=args@entry=0x23cc838 "") at stringinfo.c:137
#5  0x000000000071607f in errmsg_internal (fmt=fmt@entry=0x6a00a318 <my_finfo.69106+76> "[%s:%s:%d] stats for \"%s\" do not exist") at elog.c:821
#6  0x0000000069fa5b87 in pg_get_nd_stats (table_oid=table_oid@entry=0, att_num=<optimized out>, mode=mode@entry=2) at gserialized_estimate.c:820
#7  0x0000000069fa747c in gserialized_gist_joinsel (fcinfo=fcinfo@entry=0x23cc960) at gserialized_estimate.c:1171
#8  0x000000000071b9ab in DirectFunctionCall5Coll (func=func@entry=0x69fa7320 <gserialized_gist_joinsel>, collation=collation@entry=0, arg1=<optimized out>, arg2=<optimized out>, arg3=67089656, arg4=0, arg5=arg5@entry=2) at fmgr.c:1133
#9  0x0000000069faa7a5 in gserialized_gist_joinsel_2d (fcinfo=<optimized out>) at gserialized_estimate.c:1109
#10 0x000000000071caef in OidFunctionCall5Coll (functionId=<optimized out>, collation=collation@entry=0, arg1=arg1@entry=67002760, arg2=arg2@entry=22743, arg3=arg3@entry=67089656, arg4=arg4@entry=0, arg5=arg5@entry=37541248) at fmgr.c:1714
#11 0x00000000005de350 in join_selectivity (root=root@entry=0x3fe6188, operatorid=operatorid@entry=22743, args=0x3ffb4f8, inputcollid=0, jointype=jointype@entry=JOIN_INNER, sjinfo=sjinfo@entry=0x23cd580) at plancat.c:1082
#12 0x00000000005abaf9 in clause_selectivity (root=root@entry=0x3fe6188, clause=0x3ffb420, clause@entry=0x4001340, varRelid=varRelid@entry=0, jointype=jointype@entry=JOIN_INNER, sjinfo=sjinfo@entry=0x23cd580) at clausesel.c:659
#13 0x00000000005abd68 in clauselist_selectivity (root=0x3fe6188, clauses=<optimized out>, varRelid=varRelid@entry=0, jointype=jointype@entry=JOIN_INNER, sjinfo=sjinfo@entry=0x23cd580) at clausesel.c:123
#14 0x00000000005ac690 in calc_joinrel_size_estimate (root=root@entry=0x3fe6188, outer_rows=1, inner_rows=1, sjinfo=sjinfo@entry=0x23cd580, restrictlist=restrictlist@entry=0x4008620) at costsize.c:3645
#15 0x00000000005b0578 in set_joinrel_size_estimates (root=root@entry=0x3fe6188, rel=rel@entry=0x4007ff8, outer_rel=outer_rel@entry=0x4006dd8, inner_rel=inner_rel@entry=0x3ffea00, sjinfo=sjinfo@entry=0x23cd580, restrictlist=restrictlist@entry=0x4008620) at costsize.c:3531
#16 0x00000000005e050a in build_join_rel (root=root@entry=0x3fe6188, joinrelids=joinrelids@entry=0x4006c48, outer_rel=outer_rel@entry=0x4006dd8, inner_rel=inner_rel@entry=0x3ffea00, sjinfo=0x23cd580, restrictlist_ptr=restrictlist_ptr@entry=0x23cd578) at relnode.c:426
#17 0x00000000005b9c56 in make_join_rel (root=root@entry=0x3fe6188, rel1=rel1@entry=0x4006dd8, rel2=rel2@entry=0x3ffea00) at joinrels.c:634
#18 0x00000000005ba579 in make_rels_by_clause_joins (other_rels=<optimized out>, old_rel=<optimized out>, root=<optimized out>) at joinrels.c:274
#19 join_search_one_level (root=root@entry=0x3fe6188, level=level@entry=2) at joinrels.c:96
#20 0x00000000005ab15f in standard_join_search (root=0x3fe6188, levels_needed=2, initial_rels=<optimized out>) at allpaths.c:1569
#21 0x00000000005ab4e9 in make_one_rel (root=root@entry=0x3fe6188, joinlist=joinlist@entry=0x40016f8) at allpaths.c:143
#22 0x00000000005c6012 in query_planner (root=root@entry=0x3fe6188, tlist=tlist@entry=0x3ff5d68, tuple_fraction=tuple_fraction@entry=100, limit_tuples=100, qp_callback=qp_callback@entry=0x5c6bb0 <standard_qp_callback>, qp_extra=qp_extra@entry=0x23cd930,
    cheapest_path=cheapest_path@entry=0x23cd920, sorted_path=sorted_path@entry=0x23cd928, num_groups=num_groups@entry=0x23cd918) at planmain.c:261
#23 0x00000000005c72fd in grouping_planner (root=root@entry=0x3fe6188, tuple_fraction=100, tuple_fraction@entry=0) at planner.c:1207
#24 0x00000000005c9bc9 in subquery_planner (glob=0xe0a9a40, parse=0x3fd19f8, parent_root=parent_root@entry=0xe0477b0, hasRecursion=<optimized out>, tuple_fraction=tuple_fraction@entry=0, subroot=subroot@entry=0x23cdb58) at planner.c:558
#25 0x00000000005cea30 in SS_process_ctes (root=root@entry=0xe0477b0) at subselect.c:1061
#26 0x00000000005c96e1 in subquery_planner (glob=glob@entry=0xe0a9a40, parse=parse@entry=0xdfb1fc0, parent_root=parent_root@entry=0x0, hasRecursion=hasRecursion@entry=0 '\000', tuple_fraction=0, subroot=subroot@entry=0x23cdc88) at planner.c:328
#27 0x00000000005c9f02 in standard_planner (parse=0xdfb1fc0, cursorOptions=0, boundParams=0xd7d22b8) at planner.c:209
#28 0x0000000000640f59 in pg_plan_query (querytree=<optimized out>, cursorOptions=cursorOptions@entry=0, boundParams=boundParams@entry=0xd7d22b8) at postgres.c:753
#29 0x000000000064108b in pg_plan_queries (querytrees=querytrees@entry=0xe0498f8, cursorOptions=0, boundParams=boundParams@entry=0xd7d22b8) at postgres.c:812
#30 0x0000000000705b76 in BuildCachedPlan (plansource=plansource@entry=0xdfa2f38, qlist=0xe0498f8, qlist@entry=0x0, boundParams=boundParams@entry=0xd7d22b8) at plancache.c:907
#31 0x0000000000705db7 in GetCachedPlan (plansource=plansource@entry=0xdfa2f38, boundParams=boundParams@entry=0xd7d22b8, useResOwner=useResOwner@entry=0 '\000') at plancache.c:1166
#32 0x000000000057a1fa in SPI_cursor_open_internal (name=name@entry=0x0, plan=plan@entry=0x23cdef0, paramLI=paramLI@entry=0xd7d22b8, read_only=read_only@entry=1 '\001') at spi.c:1277
#33 0x000000000057a70c in SPI_cursor_open_with_args (name=name@entry=0x0,
    src=src@entry=0xde19610 "\n    WITH \n      a1 AS (SELECT f.*, addr.fromhn, addr.tohn, addr.side , addr.zip\n                               FROM (SELECT * FROM featnames \n                                                        WHERE statefp = $1 AND ( lower(name) = $2   or  lower(fullname) LIKE
 $"..., nargs=<optimized out>, argtypes=0xde1a680, Values=0xde1a6d8, Nulls=0xde19538 "         ~\177\177\177\177\177\177èñ|\r", read_only=1 '\001', cursorOptions=cursorOptions@entry=0) at spi.c:1171
#34 0x000000006984d59e in exec_dynquery_with_params (estate=estate@entry=0x23ce360, dynquery=<optimized out>, params=<optimized out>, portalname=portalname@entry=0x0, cursorOptions=cursorOptions@entry=0) at pl_exec.c:6427
#35 0x000000006984f325 in exec_stmt_dynfors (stmt=0xdbfd150, estate=0x23ce360) at pl_exec.c:3606
#36 exec_stmt (stmt=0xdbfd150, estate=0x23ce360) at pl_exec.c:1454
#37 exec_stmts (estate=0x23ce360, stmts=<optimized out>) at pl_exec.c:1345
#38 0x0000000069851921 in exec_stmt_block (estate=0x0, estate@entry=0x23ce360, block=0xd7d03c0) at pl_exec.c:1283
#39 0x0000000069851b8d in plpgsql_exec_function (func=0xd7cf418, func@entry=0x23ce890, fcinfo=0x23ce890, fcinfo@entry=0x23ce5a8) at pl_exec.c:321
#40 0x0000000069846dd8 in plpgsql_call_handler (fcinfo=0x23ce5a8) at pl_handler.c:129
#41 0x000000000071d862 in fmgr_security_definer (fcinfo=0x200000000) at fmgr.c:975
#42 0x000000000055ac5d in ExecMakeTableFunctionResult (funcexpr=0xd826038, econtext=0xd7bc438, expectedDesc=0xd7bde88, randomAccess=0 '\000') at execQual.c:2167
#43 0x000000000056ed97 in FunctionNext (node=0xd7bc320) at nodeFunctionscan.c:64
#44 0x000000000055ce49 in ExecScanFetch (recheckMtd=0x56ed20 <FunctionRecheck>, accessMtd=0x56ed30 <FunctionNext>, node=0xd7bc320) at execScan.c:82
#45 ExecScan (node=node@entry=0xd7bc320, accessMtd=accessMtd@entry=0x56ed30 <FunctionNext>, recheckMtd=recheckMtd@entry=0x56ed20 <FunctionRecheck>) at execScan.c:167
#46 0x000000000056edc3 in ExecFunctionScan (node=node@entry=0xd7bc320) at nodeFunctionscan.c:107
#47 0x0000000000555898 in ExecProcNode (node=node@entry=0xd7bc320) at execProcnode.c:426
#48 0x0000000000552a0c in ExecutePlan (dest=0xd8c7b88, direction=<optimized out>, numberTuples=0, sendTuples=1 '\001', operation=CMD_SELECT, planstate=0xd7bc320, estate=0xd7bc208) at execMain.c:1470
#49 standard_ExecutorRun (queryDesc=0xdb6f268, direction=<optimized out>, count=0) at execMain.c:306
#50 0x00000000006441a6 in PortalRunSelect (portal=portal@entry=0xd7a6128, forward=forward@entry=1 '\001', count=count@entry=0, dest=dest@entry=0xd7a6128) at pquery.c:946
#51 0x0000000000645876 in PortalRun (portal=0x23ceea0, portal@entry=0xd7a6128, count=0, count@entry=2147483647, isTopLevel=isTopLevel@entry=0 '\000', dest=0xd7a6128, dest@entry=0xd8c7b88, altdest=altdest@entry=0xd8c7b88, completionTag=0x23cf220 "",
    completionTag@entry=0x40000000088 <Address 0x40000000088 out of bounds>) at pquery.c:790
#52 0x0000000000643146 in exec_simple_query (query_string=0x7fefe543fc0 <msvcrt!__iob_func> "H\215\005\271ê\a") at postgres.c:1048
#53 PostgresMain (argc=<optimized out>, argv=argv@entry=0x15aa68, dbname=0x17 <Address 0x17 out of bounds>, username=<optimized out>) at postgres.c:3985
#54 0x00000000005f6b41 in BackendRun (port=0x23cf410) at postmaster.c:3999
#55 SubPostmasterMain (argc=argc@entry=3, argv=argv@entry=0x317dd0) at postmaster.c:4504

comment:4 Changed 6 years ago by robe

couldn't figure out where this was failing but dustymugs pointed me at line 820 of gserialized_estimate.c

		POSTGIS_DEBUGF(2, "stats for \"%s\" do not exist", get_rel_name(table_oid));

I guess I got to wrap nulls around that too.

comment:5 Changed 6 years ago by robe

okay patched line 820 with:

POSTGIS_DEBUGF(2, "stats for \"%s\" do not exist", get_rel_name(table_oid)? get_rel_name(table_oid) : "NULL");

and yeh another break somewhere else on line 1181

(gdb) bt
#0  0x000007fefe545a01 in strlen () from C:\Windows\system32\msvcrt.dll
#1  0x000000000074df39 in fmtstr (target=0x23cc700, pointflag=<optimized out>, maxwidth=0, minlen=0, leftjust=0, value=0x0) at snprintf.c:779
#2  dopr (target=target@entry=0x23cc700, format=0x3eb143 "\" Oid(%d)", args=0x23cc838 "", args@entry=0x23cc818 "\005£") at snprintf.c:714
#3  0x000000000074e13f in pg_vsnprintf (str=<optimized out>, count=count@entry=1023, fmt=fmt@entry=0x3eb118 "[%s:%s:%d] unable to retrieve stats for \"%s\" Oid(%d)", args=args@entry=0x23cc818 "\005£") at snprintf.c:154
#4  0x000000000057c0b1 in appendStringInfoVA (str=str@entry=0x23cc7c0, fmt=fmt@entry=0x3eb118 "[%s:%s:%d] unable to retrieve stats for \"%s\" Oid(%d)", args=args@entry=0x23cc818 "\005£") at stringinfo.c:137
#5  0x000000000071607f in errmsg_internal (fmt=fmt@entry=0x6a00a740 <my_finfo.69106+1140> "[%s:%s:%d] unable to retrieve stats for \"%s\" Oid(%d)") at elog.c:821
#6  0x0000000069fa7657 in gserialized_gist_joinsel (fcinfo=fcinfo@entry=0x23cc8c0) at gserialized_estimate.c:1181
#7  0x000000000071b9ab in DirectFunctionCall5Coll (func=func@entry=0x69fa7330 <gserialized_gist_joinsel>, collation=collation@entry=0, arg1=<optimized out>, arg2=<optimized out>, arg3=62832304, arg4=0, arg5=arg5@entry=2) at fmgr.c:1133
#8  0x0000000069faa7b5 in gserialized_gist_joinsel_2d (fcinfo=<optimized out>) at gserialized_estimate.c:1109
#9  0x000000000071caef in OidFunctionCall5Coll (functionId=<optimized out>, collation=collation@entry=0, arg1=arg1@entry=62686056, arg2=arg2@entry=22743, arg3=arg3@entry=62832304, arg4=arg4@entry=0, arg5=arg5@entry=37541088) at fmgr.c:1714
#10 0x00000000005de350 in join_selectivity (root=root@entry=0x3bc8368, operatorid=operatorid@entry=22743, args=0x3bebeb0, inputcollid=0, jointype=jointype@entry=JOIN_INNER, sjinfo=sjinfo@entry=0x23cd4e0) at plancat.c:1082
#11 0x00000000005abaf9 in clause_selectivity (root=root@entry=0x3bc8368, clause=0x3bebdd8, clause@entry=0xe670c08, varRelid=varRelid@entry=0, jointype=jointype@entry=JOIN_INNER, sjinfo=sjinfo@entry=0x23cd4e0) at clausesel.c:659
#12 0x00000000005abd68 in clauselist_selectivity (root=0x3bc8368, clauses=<optimized out>, varRelid=varRelid@entry=0, jointype=jointype@entry=JOIN_INNER, sjinfo=sjinfo@entry=0x23cd4e0) at clausesel.c:123
#13 0x00000000005ac690 in calc_joinrel_size_estimate (root=root@entry=0x3bc8368, outer_rows=1, inner_rows=1, sjinfo=sjinfo@entry=0x23cd4e0, restrictlist=restrictlist@entry=0xe679980) at costsize.c:3645
#14 0x00000000005b0578 in set_joinrel_size_estimates (root=root@entry=0x3bc8368, rel=rel@entry=0xe6794c8, outer_rel=outer_rel@entry=0x3bee7c8, inner_rel=inner_rel@entry=0x3beea18, sjinfo=sjinfo@entry=0x23cd4e0, restrictlist=restrictlist@entry=0xe679980) at costsize.c:3531
#15 0x00000000005e050a in build_join_rel (root=root@entry=0x3bc8368, joinrelids=joinrelids@entry=0xe679308, outer_rel=outer_rel@entry=0x3bee7c8, inner_rel=inner_rel@entry=0x3beea18, sjinfo=0x23cd4e0, restrictlist_ptr=restrictlist_ptr@entry=0x23cd4d8) at relnode.c:426
#16 0x00000000005b9c56 in make_join_rel (root=root@entry=0x3bc8368, rel1=rel1@entry=0x3bee7c8, rel2=rel2@entry=0x3beea18) at joinrels.c:634
#17 0x00000000005ba579 in make_rels_by_clause_joins (other_rels=<optimized out>, old_rel=<optimized out>, root=<optimized out>) at joinrels.c:274
#18 join_search_one_level (root=root@entry=0x3bc8368, level=level@entry=2) at joinrels.c:96
#19 0x00000000005ab15f in standard_join_search (root=0x3bc8368, levels_needed=2, initial_rels=<optimized out>) at allpaths.c:1569
#20 0x00000000005ab29c in make_rel_from_joinlist (root=0x3bc8368, joinlist=<optimized out>) at allpaths.c:1465
#21 0x00000000005ab29c in make_rel_from_joinlist (root=0x3bc8368, joinlist=<optimized out>) at allpaths.c:1465
#22 0x00000000005ab4e9 in make_one_rel (root=root@entry=0x3bc8368, joinlist=joinlist@entry=0xe673c98) at allpaths.c:143
#23 0x00000000005c6012 in query_planner (root=root@entry=0x3bc8368, tlist=tlist@entry=0x3be7b80, tuple_fraction=tuple_fraction@entry=40, limit_tuples=-1, qp_callback=qp_callback@entry=0x5c6bb0 <standard_qp_callback>, qp_extra=qp_extra@entry=0x23cd930, cheapest_path=cheapest_path@entry=0x23cd920,
    sorted_path=sorted_path@entry=0x23cd928, num_groups=num_groups@entry=0x23cd918) at planmain.c:261
#24 0x00000000005c72fd in grouping_planner (root=root@entry=0x3bc8368, tuple_fraction=40, tuple_fraction@entry=0) at planner.c:1207
#25 0x00000000005c9bc9 in subquery_planner (glob=0xe040920, parse=0x3ba2a58, parent_root=parent_root@entry=0xdfde690, hasRecursion=<optimized out>, tuple_fraction=tuple_fraction@entry=0, subroot=subroot@entry=0x23cdb58) at planner.c:558
#26 0x00000000005cea30 in SS_process_ctes (root=root@entry=0xdfde690) at subselect.c:1061
#27 0x00000000005c96e1 in subquery_planner (glob=glob@entry=0xe040920, parse=parse@entry=0xdf4ceb0, parent_root=parent_root@entry=0x0, hasRecursion=hasRecursion@entry=0 '\000', tuple_fraction=0, subroot=subroot@entry=0x23cdc88) at planner.c:328
#28 0x00000000005c9f02 in standard_planner (parse=0xdf4ceb0, cursorOptions=0, boundParams=0x48f3e48) at planner.c:209
#29 0x0000000000640f59 in pg_plan_query (querytree=<optimized out>, cursorOptions=cursorOptions@entry=0, boundParams=boundParams@entry=0x48f3e48) at postgres.c:753
#30 0x000000000064108b in pg_plan_queries (querytrees=querytrees@entry=0xdfe07d8, cursorOptions=0, boundParams=boundParams@entry=0x48f3e48) at postgres.c:812
#31 0x0000000000705b76 in BuildCachedPlan (plansource=plansource@entry=0xdf35e18, qlist=0xdfe07d8, qlist@entry=0x0, boundParams=boundParams@entry=0x48f3e48) at plancache.c:907
#32 0x0000000000705db7 in GetCachedPlan (plansource=plansource@entry=0xdf35e18, boundParams=boundParams@entry=0x48f3e48, useResOwner=useResOwner@entry=0 '\000') at plancache.c:1166
#33 0x000000000057a1fa in SPI_cursor_open_internal (name=name@entry=0x0, plan=plan@entry=0x23cdef0, paramLI=paramLI@entry=0x48f3e48, read_only=read_only@entry=1 '\001') at spi.c:1277
#34 0x000000000057a70c in SPI_cursor_open_with_args (name=name@entry=0x0,
    src=src@entry=0xdd9cde0 "\n    WITH \n      a1 AS (SELECT f.*, addr.fromhn, addr.tohn, addr.side , addr.zip\n                               FROM (SELECT * FROM featnames \n                                                        WHERE statefp = $1 AND ( lower(name) = $2   or  lower(fullname) L
 $"..., nargs=<optimized out>, argtypes=0xdd9de50, Values=0xdd9dea8, Nulls=0xdd9cd08 "         ~\177\177\177\177\177\177àiZ\004", read_only=1 '\001', cursorOptions=cursorOptions@entry=0) at spi.c:1171
#35 0x000000006984d59e in exec_dynquery_with_params (estate=estate@entry=0x23ce360, dynquery=<optimized out>, params=<optimized out>, portalname=portalname@entry=0x0, cursorOptions=cursorOptions@entry=0) at pl_exec.c:6427
#36 0x000000006984f325 in exec_stmt_dynfors (stmt=0xdb8f910, estate=0x23ce360) at pl_exec.c:3606
#37 exec_stmt (stmt=0xdb8f910, estate=0x23ce360) at pl_exec.c:1454
#38 exec_stmts (estate=0x23ce360, stmts=<optimized out>) at pl_exec.c:1345
#39 0x0000000069851921 in exec_stmt_block (estate=0x0, estate@entry=0x23ce360, block=0x48f1f50) at pl_exec.c:1283
#40 0x0000000069851b8d in plpgsql_exec_function (func=0x48e6c10, func@entry=0x23ce890, fcinfo=0x23ce890, fcinfo@entry=0x23ce5a8) at pl_exec.c:321
#41 0x0000000069846dd8 in plpgsql_call_handler (fcinfo=0x23ce5a8) at pl_handler.c:129
#42 0x000000000071d862 in fmgr_security_definer (fcinfo=0x200000000) at fmgr.c:975
#43 0x000000000055ac5d in ExecMakeTableFunctionResult (funcexpr=0x49405a8, econtext=0x48ec038, expectedDesc=0x48eda88, randomAccess=0 '\000') at execQual.c:2167
#44 0x000000000056ed97 in FunctionNext (node=0x48ebf20) at nodeFunctionscan.c:64
#45 0x000000000055ce49 in ExecScanFetch (recheckMtd=0x56ed20 <FunctionRecheck>, accessMtd=0x56ed30 <FunctionNext>, node=0x48ebf20) at execScan.c:82
#46 ExecScan (node=node@entry=0x48ebf20, accessMtd=accessMtd@entry=0x56ed30 <FunctionNext>, recheckMtd=recheckMtd@entry=0x56ed20 <FunctionRecheck>) at execScan.c:167
#47 0x000000000056edc3 in ExecFunctionScan (node=node@entry=0x48ebf20) at nodeFunctionscan.c:107
#48 0x0000000000555898 in ExecProcNode (node=node@entry=0x48ebf20) at execProcnode.c:426
#49 0x0000000000552a0c in ExecutePlan (dest=0x49e9bd0, direction=<optimized out>, numberTuples=0, sendTuples=1 '\001', operation=CMD_SELECT, planstate=0x48ebf20, estate=0x48ebe08) at execMain.c:1470
#50 standard_ExecutorRun (queryDesc=0xdb81a38, direction=<optimized out>, count=0) at execMain.c:306
#51 0x00000000006441a6 in PortalRunSelect (portal=portal@entry=0x48cfd28, forward=forward@entry=1 '\001', count=count@entry=0, dest=dest@entry=0x48cfd28) at pquery.c:946
#52 0x0000000000645876 in PortalRun (portal=0x23ceea0, portal@entry=0x48cfd28, count=0, count@entry=2147483647, isTopLevel=isTopLevel@entry=0 '\000', dest=0x48cfd28, dest@entry=0x49e9bd0, altdest=altdest@entry=0x49e9bd0, completionTag=0x23cf220 "",
    completionTag@entry=0x40000000088 <Address 0x40000000088 out of bounds>) at pquery.c:790
#53 0x0000000000643146 in exec_simple_query (query_string=0x7fefe543fc0 <msvcrt!__iob_func> "H\215\005\271ê\a") at postgres.c:1048
#54 PostgresMain (argc=<optimized out>, argv=argv@entry=0x3ea850, dbname=0x17 <Address 0x17 out of bounds>, username=<optimized out>) at postgres.c:3985
#55 0x00000000005f6b41 in BackendRun (port=0x23cf410) at postmaster.c:3999
#56 SubPostmasterMain (argc=argc@entry=3, argv=argv@entry=0x257de0) at postmaster.c:4504
#57 0x000000000075fb29 in main (argc=3, argv=0x257de0) at main.c:173
(gdb)

comment:6 Changed 6 years ago by robe

okay doesn't crash anymore after changes in r12527 probably more lurking but none I can exercise with this code. Willl close this out once backport to 2.0 and upport to 2.2

comment:7 Changed 6 years ago by robe

oops committed to trunk instead of 2.1, but file hadn't changed much anyway.

2.1 commit at r12529, trunk (2.2) at r12527, r12528

comment:8 Changed 6 years ago by robe

Resolution: fixed
Status: newclosed

not going to bother trying to fix 2.0. The code is too different and since debug code is probably only used by me, why bother.

comment:9 Changed 6 years ago by robe

Summary: gserialized_estimate crashes under mingw64 windows when compiled with --enabled-debuggserialized_estimate crashes under mingw64 windows when compiled with --enable-debug
Note: See TracTickets for help on using tickets.