[postgis-users] Performance and memory problems

strk strk at keybit.net
Thu Dec 4 11:05:48 PST 2003


A quick fix might be removing that pfree() call (memory is freed at
the end of transaction). Anyway, if you can restrict the number
of records needed to reproduce the problem I'd take a look at
them. 

Dave, looking for possible fixes of the bug reported by Andrea 
I've incurred of the DirectFunctionCall2 of line  1391
Is it really needed ? Why don't we make a real direct function call 
instead ?

--strk;

andrea.aime wrote:
> strk wrote:
> 
> 
> > Ask on the pgsql-hackers mailing list about postmaster
> > stack trace (and please let me know).
> > 
> > --strk;
> > 
> 
> I did some search on net net and found a way.
> First, I compiled everything with -ggdb. Then,
> I discovered I could run a standalone backend
> calling directly the postgres executable.
> But I could not get core dumps. I've set ulimit -c
> to unlimited, I get the "core dumped" message, but
> there is no core file on the file system... uff
> 
> Anyway, using directly "gdb postgres" allowed me
> to get the following stack trace (using the bt
> command):
> 
> #0  0x08228022 in pfree (pointer=0x8408810) at mcxt.c:563
> #1  0x4ac2f5a9 in GEOS2POSTGIS (g=0x8461bc8, want3d=0 '\0')
>      at postgis_geos.c:1394
> #2  0x4ac2ddaf in intersection (fcinfo=0xbffff310) at postgis_geos.c:644
> #3  0x0811ca50 in ExecMakeFunctionResult (fcache=0x8380d00,
>      econtext=0x8380c88, isNull=0xbffff46f "", isDone=0x8385558)
>      at execQual.c:882
> #4  0x0811d19b in ExecEvalFunc (fcache=0x8380d00, econtext=0x8380c88,
>      isNull=0xbffff46f "", isDone=0x8385558) at execQual.c:1189
> #5  0x0811eb51 in ExecEvalExpr (expression=0x8380d00, econtext=0x8380c88,
>      isNull=0xbffff46f "", isDone=0x8385558) at execQual.c:2228
> #6  0x0811fc94 in ExecTargetList (targetlist=0x8380e68,
> targettype=0x83852d8,
>      econtext=0x8380c88, values=0x8385528, nulls=0x8385540 "    ",
>      itemIsDone=0x8385558, isDone=0xbffff4e8) at execQual.c:2959
> #7  0x0811ff7b in ExecProject (projInfo=0x8382bd0, isDone=0xbffff4e8)
>      at execQual.c:3105
> #8  0x08128734 in ExecNestLoop (node=0x8380c00) at nodeNestloop.c:248
> #9  0x0811aec6 in ExecProcNode (node=0x8380c00) at execProcnode.c:329
> #10 0x08119655 in ExecutePlan (estate=0x8380a30, planstate=0x8380c00,
>      operation=CMD_SELECT, numberTuples=0, direction=ForwardScanDirection,
>      dest=0x82b436c) at execMain.c:1054
> #11 0x081188dd in ExecutorRun (queryDesc=0x8380628,
>      direction=ForwardScanDirection, count=0) at execMain.c:249
> #12 0x0819ec9a in ProcessQuery (parsetree=0x836d0e8, plan=0x83756c8,
>      params=0x0, dest=0x82b436c, completionTag=0xbffff700 "") at pquery.c:139
> #13 0x0819f87d in PortalRunMulti (portal=0x837e488, dest=0x82b4380,
>      altdest=0x82b4380, completionTag=0xbffff700 "") at pquery.c:846
> #14 0x0819f290 in PortalRun (portal=0x837e488, count=2147483647,
>      dest=0x82b4380, altdest=0x82b4380, completionTag=0xbffff700 "")
>      at pquery.c:483
> #15 0x0819bdd7 in exec_simple_query (
>      query_string=0x836c620 "select intersection(counties.the_geom,
> hydrounit_poly.the_geom), counties.county, hydrounit_poly.map_label,
> hydrounit_poly.reg_name into hydro_counties from counties, hydrounit_poly
> where counties.the"...)
>      at postgres.c:873
> #16 0x0819e438 in PostgresMain (argc=4, argv=0x82f5040,
>      username=0x82f6250 "postgres") at postgres.c:2868
> #17 0x08137f23 in main (argc=4, argv=0xbffff8c4) at main.c:260
> #18 0x401d67f7 in __libc_start_main () from /lib/i686/libc.so.6
> 
> Have fun with it :-)
> Best regards
> Andrea Aime
> 
> 
> 
> 
> 
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users



More information about the postgis-users mailing list