[postgis-tickets] [PostGIS] #5347: berries are crashing on garden tests ST_Intersection(geography, geography) infinite linestring and point
PostGIS
trac at osgeo.org
Sun Feb 26 17:51:23 PST 2023
#5347: berries are crashing on garden tests ST_Intersection(geography, geography)
infinite linestring and point
----------------------+---------------------------
Reporter: robe | Owner: pramsey
Type: defect | Status: new
Priority: blocker | Milestone: PostGIS 3.0.9
Component: postgis | Version: master
Resolution: | Keywords:
----------------------+---------------------------
Old description:
> {{{
> SELECT ST_Intersection(geography(foo1.the_geom),
> geography(foo2.the_geom)) As result, ST_AsText(foo1.the_geom) As
> ref1_geom, ST_AsText(foo2.the_geom) As ref2_geom
> FROM ((SELECT
> '0102000020E610000005000000000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F'::geometry
> AS the_geom
> )
> ) As foo1 CROSS JOIN ((SELECT
> '0101000020E6100000000000000000F07F000000000000F07F'::geometry AS
> the_geom ) ) As foo2 LIMIT 10
>
> NOTICE: Coordinate values were coerced into range [-180 -90, 180 90] for
> GEOGRAPHY
> NOTICE: Coordinate values were coerced into range [-180 -90, 180 90] for
> GEOGRAPHY
> server closed the connection unexpectedly
> This probably means the server terminated abnormally
> before or while processing the request.
> connection to server was lost
>
> }}}
>
> when I run this on my system I don't get a crash though, I get
>
> {{{
> NOTICE: Coordinate values were coerced into range [-180 -90, 180 90] for
> GEOGRAPHY
> NOTICE: Coordinate values were coerced into range [-180 -90, 180 90] for
> GEOGRAPHY
>
> ERROR: Cannot find SRID (-2146484647) in spatial_ref_sys
> CONTEXT: SQL function "st_intersection" statement 1
> SQL state: XX000
> }}}
>
> So crash I guess might be ARM specific, though having a crazy srid is not
> that helpful either.
New description:
{{{
SELECT ST_Intersection(geography(foo1.the_geom), geography(foo2.the_geom))
As result, ST_AsText(foo1.the_geom) As ref1_geom, ST_AsText(foo2.the_geom)
As ref2_geom
FROM ((SELECT
'0102000020E610000005000000000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F'::geometry
AS the_geom
)
) As foo1 CROSS JOIN ((SELECT
'0101000020E6100000000000000000F07F000000000000F07F'::geometry AS the_geom
) ) As foo2 LIMIT 10
NOTICE: Coordinate values were coerced into range [-180 -90, 180 90] for
GEOGRAPHY
NOTICE: Coordinate values were coerced into range [-180 -90, 180 90] for
GEOGRAPHY
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
connection to server was lost
}}}
when I run this on my system I don't get a crash though, I get
{{{
NOTICE: Coordinate values were coerced into range [-180 -90, 180 90] for
GEOGRAPHY
NOTICE: Coordinate values were coerced into range [-180 -90, 180 90] for
GEOGRAPHY
ERROR: Cannot find SRID (-2146484647) in spatial_ref_sys
CONTEXT: SQL function "st_intersection" statement 1
SQL state: XX000
}}}
So crash I guess might be ARM specific, though having a crazy srid is not
that helpful either.
--
Comment (by robe):
Looks like it's the _ST_BestSRID function coming up with that SRID
{{{
SELECT
_ST_BestSRID('0102000020E610000005000000000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F000000000000F07F'::geometry,
'0101000020E6100000000000000000F07F000000000000F07F'::geometry)
}}}
Yields: -2146484647
--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/5347#comment:1>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.
More information about the postgis-tickets
mailing list