[postgis-tickets] [PostGIS] #4990: getfacecontainingpoint fails on i386

PostGIS trac at osgeo.org
Fri Sep 24 09:57:57 PDT 2021


#4990: getfacecontainingpoint fails on i386
-----------------------------+---------------------------
  Reporter:  Bas Couwenberg  |      Owner:  strk
      Type:  defect          |     Status:  new
  Priority:  medium          |  Milestone:  PostGIS 3.2.0
 Component:  topology        |    Version:  master
Resolution:                  |   Keywords:
-----------------------------+---------------------------

Comment (by strk):

 The failing test is t9, that is:
 {{{
 select getfacecontainingpoint('city_data', 'POINT(7.1 31)');
 }}}

 Here's the run with debugging on:
 {{{
 DEBUG:  [lwgeom_topo.c:lwt_GetFaceContainingPoint:7097] Shortest line to
 closest edge 26: (null)
 DEBUG:  [lwgeom_topo.c:lwt_GetFaceContainingPoint:7103] Closest point on
 closest edge: POINT(7 31)
 DEBUG:  [lwgeom_topo.c:lwt_GetFaceContainingPoint:7209] Closest point is
 NOT a node
 DEBUG:  [lwgeom_topo.c:lwt_GetFaceContainingPoint:7236] Closest segment to
 edge 26 is 0
 DEBUG:  [lwgeom_topo.c:lwt_GetFaceContainingPoint:7239] Closest segment to
 edge 26 is LINESTRING(0 5.31406e-315, 5.32539e-315 5.31406e-315)
 ERROR:  Closest point is first point of closest segment, unexpectedly
 }}}

 The "closest segment" is clearly bogus, and it's probably because of the
 unaligned memory.
 I'm on the right track to fix that, but keep thinking we could be nice and
 ALWAYS align the pointarray memory to the double boundary

-- 
Ticket URL: <https://trac.osgeo.org/postgis/ticket/4990#comment:20>
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