[postgis-devel] [PostGIS] #210: segmentation faults in lwgeom_geos.c:pgis_union_geometry_array
PostGIS
trac at osgeo.org
Wed Jun 24 11:01:09 PDT 2009
#210: segmentation faults in lwgeom_geos.c:pgis_union_geometry_array
------------------------+---------------------------------------------------
Reporter: dfuhriman | Owner: pramsey
Type: defect | Status: new
Priority: medium | Milestone: postgis 1.3.7
Component: postgis | Version: trunk
Resolution: | Keywords:
------------------------+---------------------------------------------------
Comment (by dfuhriman):
Hmm... the SRID -1 is something I saw, too, but couldn't quite figure out,
and like you said, doesn't seem to happen consistently. What really
strange to me is that sqft_of is being called at all, since it is defined
as STRICT and the Intersection on B1 or the Union on B2 do not intersect.
I *think* it's because tranform() was operating on a NULL geometry, unless
for some reason union or intersect were returning something with the wrong
SRID, which seems unlikely. Unless there's something magic about being
called from within a coalesce.
I started simplifying things a bit, and now it seems to only happen on
about every third call. When it *does* succeed, the result of
st_numgeometries() is NULL (which is what I would expect).
Here's the call I'm using:
{{{
SELECT T1.gid as gid,
st_numgeometries(ST_Union(B2.the_geom)) as sqft
INTO TABLE example
FROM test.T1 as T1
LEFT OUTER JOIN test.B2 as B2 on
(st_within(B2.the_geom_centroids,T1.the_geom))
where T1.gid = 1
GROUP by T1.gid;
}}}
Successful calls show this in the log:
{{{
NOTICE: [lwgeom_gist.c:LWGEOM_overlap:126] GIST: lwgeom_overlap:
(-122.687775 45.531441, -122.687767 45.531441) (-122.667847 45.497169
-122.661789 45.497169) = 0
NOTICE: [lwgeom_geos.c:pgis_union_geometry_array:119] GEOS incremental
union (call 2)
NOTICE: [lwgeom_geos.c:pgis_union_geometry_array:131] unite_garray:
number of elements: 1
NOTICE: [lwgeom_api.c:lwgeom_getType:853] lwgeom_getType 0
SELECT
}}}
Unsuccessful attempts show the same error as the previous log.
I maybe able to attach a debugger to the server process and see what I can
see, though my profound lack of knowledge on the codebase may make that
somewhat less useful. :)
--
Ticket URL: <http://trac.osgeo.org/postgis/ticket/210#comment:5>
PostGIS <http://trac.osgeo.org/postgis/>
PostGIS
More information about the postgis-devel
mailing list