Opened 13 years ago

Closed 13 years ago

Last modified 7 years 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: main
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 13 years ago.
bug449-simp.xml (298 bytes ) - added by strk 13 years ago.

Download all attachments as: .zip

Change History (16)

comment:1 by strk, 13 years ago

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

by strk, 13 years ago

Attachment: bug449.xml added

comment:2 by strk, 13 years ago

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 by strk, 13 years ago

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 )

by strk, 13 years ago

Attachment: bug449-simp.xml added

comment:4 by strk, 13 years ago

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 by strk, 13 years ago

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 by strk, 13 years ago

#451 is the backport to 3.2 branch

comment:7 by strk, 13 years ago

Resolution: fixed
Status: closedreopened

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

comment:8 by strk, 13 years ago

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

comment:10 by strk, 13 years ago

Milestone: 3.3.13.4.0
Version: 3.3.0svn-trunk

#456 is the backport to 3.3 branch

comment:11 by strk, 13 years ago

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 by Sandro Santilli <strk@…>, 7 years ago

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 by Sandro Santilli <strk@…>, 7 years ago

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 by Sandro Santilli <strk@…>, 7 years ago

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.