[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