[postgis-users] Postgis 1.5 core dumps on GEOSIntersects with side location conflict

Dave Potts dave.potts at pinan.co.uk
Thu Sep 20 08:04:29 PDT 2012


I have used the jts library and have the same type of issue

In jts you would

1.  Try to use a buffer of 0.
2.  Try calling one of the simplify geom operations.

Dave.
Adam wrote:
> Running this query against Postgis 1.5 causes a core dump:
> SELECT ST_intersects(
>    geomfromtext('POLYGON((31.904296875 67.32421875,14.58984375
> 67.32421875,12.744140625 65.830078125,33.75 66.09375,31.904296875
> 67.236328125,31.81640625 67.32421875,31.904296875 67.32421875))', 4326),
>    geomfromtext('POLYGON((31.904296875 67.32421875,14.58984375
> 67.32421875,12.744140625 65.830078125,33.75 66.09375,31.904296875
> 67.236328125,31.81640625 67.32421875,31.904296875 67.32421875))', 4326)
> );
>
> Running against Postgis 2.0 gives the following error (much preferred to
> get an error than a core dump!):
> ERROR:  GEOSIntersects: TopologyException: side location conflict at
> 31.81640625 67.32421875
> CONTEXT:  SQL function "st_intersects" statement 1
>
> Both are using geos version: '3.3.5-CAPI-1.7.5'.
>
> Unfortunately upgrading to Postgis 2 is not an option for us.
> Our platform is Solaris 10 x86 using 64 bit builds.
>
>>From dbx the core file shows:
>   [1] 0x1b408d(0x1, 0x1, 0x474e5543432b2b00, 0xbe0170, 0xfffffd7fffdf8880,
> 0x1b408d), at 0x1b408d
>   [2] _Unwind_RaiseException_Body(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at
> 0xfffffd7ffec416bc
>   [3] _SUNW_Unwind_RaiseException(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at
> 0xfffffd7ffec418a9
>   [4] __cxa_throw(obj = (nil), tinfo = (nil), dest = (nil)), line 75 in
> "eh_throw.cc"
>   [5] geos::geomgraph::EdgeEndStar::propagateSideLabels(this =
> 0xfffffd7ffe6e2a00, geomIndex = 0), line 69 in "new_allocator.h"
>   [6]
> _ZN4geos9geomgraph11EdgeEndStar16computeLabellingEPSt6vectorIPNS0_13GeometryGraphESaIS4_EE(this
> = 0x91bc10, geomGraph = 0xfffffd7fffdf8e18), line 88 in "EdgeEndStar.cpp"
>   [7] geos::operation::relate::RelateComputer::labelNodeEdges(this =
> 0xfffffd7fffdf8e30), line 327 in "RelateComputer.cpp"
>   [8] geos::operation::relate::RelateComputer::computeIM(this =
> 0xfffffd7fffdf8e30), line 131 in "RelateComputer.cpp"
>   [9] geos::operation::relate::RelateOp::relate(a = (nil), b = (nil)),
> line
> 43 in "RelateOp.cpp"
>   [10] geos::geom::Geometry::intersects(this = 0x91b598, g = 0x91b638),
> line 191 in "memory"
>   [11] GEOSIntersects_r(extHandle = 0x91d100, g1 = (nil), g2 = (nil)),
> line
> 351 in "geos_ts_c.cpp"
>   [12] GEOSIntersects(g1 = (nil), g2 = (nil)), line 139 in "geos_c.cpp"
>   [13] intersects(fcinfo = 0xfffffd7fffdf9110), line 2322 in
> "lwgeom_geos.c"
>   [14] ExecMakeFunctionResult(fcache = 0xfffffd7fffdf90d0, econtext =
> 0xbd5740, isNull = 0xbd6c28 "", isDone = (nil)), at 0x5a9d88
>   [15] ExecEvalAnd(andExpr = (nil), econtext = 0xbd5740, isNull = 0xbd6c28
> "", isDone = (nil)), at 0x5aaf23
>   [16] ExecProject(projInfo = 0xbd6c40, isDone = 0xfffffd7fffdf95bc), at
> 0x5ae659
>   [17] ExecResult(node = 0xbd5630), at 0x5ba7d0
>   [18] ExecProcNode(node = 0xbd5630), at 0x5a77ec
>   [19] standard_ExecutorRun(queryDesc = 0xbcd2e8, direction =
> ForwardScanDirection, count = 1), at 0x5a550c
>   [20] fmgr_sql(fcinfo = 0xfffffd7fffdf9880), at 0x5b1529
> _______________________________________________
> 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