Opened 12 years ago

Closed 12 years ago

#530 closed defect (fixed)

Overlay crash with input having NaN ordinate values

Reported by: strk Owned by: strk
Priority: blocker Milestone: 3.3.4
Component: Default Version: 3.3.3
Severity: Unassigned Keywords:
Cc:

Description

pg15=# select ST_Difference( '010200000002000000000000000000F8FF000000000000F8FF0000000000000000000000000000F03F', 'POINT(1 1)' );
The connection to the server was lost. Attempting reset: Failed.
!> 

The HEXWKB represent a line with a NaN coordinate.

Change History (3)

comment:1 by strk, 12 years ago

Origin: http://trac.osgeo.org/postgis/ticket/1773#comment:2 (to be closed when fixed here)

comment:2 by strk, 12 years ago

Owner: changed from geos-devel@… to strk
Status: newassigned

Cause:

Node.cpp:142: virtual void geos::geomgraph::Node::add(geos::geomgraph::EdgeEnd*): Assertion `e->getCoordinate().equals2D(coord)' failed.
(gdb) bt
#0  0x00007ffff6d19a75 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00007ffff6d1d5c0 in *__GI_abort () at abort.c:92
#2  0x00007ffff6d12941 in *__GI___assert_fail (assertion=0x7ffff7b932b0 "e->getCoordinate().equals2D(coord)", file=<value optimized out>, line=142, function=0x7ffff7b933e0 "virtual void geos::geomgraph::Node::add(geos::geomgraph::EdgeEnd*)") at assert.c:81
#3  0x00007ffff7b1956f in geos::geomgraph::Node::add (this=0x88bf80, e=0x88f280) at Node.cpp:142
#4  0x00007ffff7b1bf34 in geos::geomgraph::PlanarGraph::add (this=0x7fffffffd4e8, e=0x88f280) at PlanarGraph.cpp:136
#5  0x00007ffff7b1bdda in geos::geomgraph::PlanarGraph::addEdges (this=0x7fffffffd4e8, edgesToAdd=<value optimized out>) at PlanarGraph.cpp:216
#6  0x00007ffff7b6b147 in geos::operation::overlay::OverlayOp::computeOverlay (this=0x7fffffffd430, opCode=<value optimized out>) at OverlayOp.cpp:734
#7  0x00007ffff7b6b529 in geos::operation::overlay::OverlayOp::getResultGeometry (this=0x105d, funcCode=4189) at OverlayOp.cpp:189
#8  0x00007ffff7b6b56b in geos::operation::overlay::OverlayOp::overlayOp (geom0=<value optimized out>, geom1=<value optimized out>, opCode=geos::operation::overlay::OverlayOp::opUNION) at OverlayOp.cpp:95

comment:3 by strk, 12 years ago

Resolution: fixed
Status: assignedclosed

Fixed by r3613 in 3.3 branch and r3614 in trunk

Note: See TracTickets for help on using tickets.