Opened 6 years ago

Closed 6 years ago

Last modified 3 months ago

#449 closed defect (fixed)

Assertion fails checking validity of polygon

Reported by: strk Owned by: strk
Priority: blocker Milestone: 3.4.0
Component: Default Version: master
Severity: Critical Keywords:
Cc:

Description

See http://trac.osgeo.org/postgis/ticket/1007 for the dataset.

bool geos::operation::valid::IndexedNestedRingTester::isNonNested(): Assertion `innerRingPt!=null' failed.

Attachments (2)

bug449.xml (131.7 KB) - added by strk 6 years ago.
bug449-simp.xml (298 bytes) - added by strk 6 years ago.

Download all attachments as: .zip

Change History (16)

comment:1 Changed 6 years ago by strk

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

Changed 6 years ago by strk

Attachment: bug449.xml added

comment:2 Changed 6 years ago by strk

Note: JTS (rev 398) also fails against the attached testcase:

Case bug449.xml - #1 (4): http://trac.osgeo.org/geos/ticket/449
Test Threw Exception (B isValid, true)     java.lang.NullPointerException

comment:3 Changed 6 years ago by strk

The message is correct: a triangle hole has all vertices touching nearby holes. I'll have to dig further in order to tell if that's an invalidity of input (sounds like )

Changed 6 years ago by strk

Attachment: bug449-simp.xml added

comment:4 Changed 6 years ago by strk

The bug449-simp.xml file is an extremely simplified version of the test. It's a polygon with two holes. One of the two holes shares all vertices with another hole, thus triggering the assertion failure. I pretty much belive this case being invalid, and I'm trying to think of a possible other _valid_ case. I dubt I'll find one though..

comment:5 Changed 6 years ago by strk

Resolution: fixed
Status: assignedclosed

Fixed on the GEOS side with r3392. The changeset includes a proper XML (the one attached here was malformed). JTS still fails.

comment:6 Changed 6 years ago by strk

#451 is the backport to 3.2 branch

comment:7 Changed 6 years ago by strk

Resolution: fixed
Status: closedreopened

JTS fixed this. It should be checked _how_ and make sure GEOS follows that.

comment:8 Changed 6 years ago by strk

Also, should be back-ported to 3.3 branch (trunk became 3.4.0 instead)

comment:10 Changed 6 years ago by strk

Milestone: 3.3.13.4.0
Version: 3.3.0svn-trunk

#456 is the backport to 3.3 branch

comment:11 Changed 6 years ago by strk

Resolution: fixed
Status: reopenedclosed

Re-done the JTS way with r3422 (reversion of older commit) and r3423 (new version). This new version has tests included in the JTS official ones.

comment:12 Changed 3 months ago by Sandro Santilli <strk@…>

In 4b013f1/git:

Fix #449 (Assertion fails checking validity of polygon) the JTS way.

git-svn-id: http://svn.osgeo.org/geos/trunk@3423 5242fede-7e19-0410-aef8-94bd7d2200fb

comment:13 Changed 3 months ago by Sandro Santilli <strk@…>

In 4b013f1/git:

Fix #449 (Assertion fails checking validity of polygon) the JTS way.

git-svn-id: http://svn.osgeo.org/geos/trunk@3423 5242fede-7e19-0410-aef8-94bd7d2200fb

comment:14 Changed 3 months ago by Sandro Santilli <strk@…>

In 4b013f1/git:

Fix #449 (Assertion fails checking validity of polygon) the JTS way.

git-svn-id: http://svn.osgeo.org/geos/trunk@3423 5242fede-7e19-0410-aef8-94bd7d2200fb

Note: See TracTickets for help on using tickets.