[geos-devel] 3.12.0beta2

Greg Troxel gdt at lexort.com
Thu Jun 15 06:30:14 PDT 2023


I have no clear memory of whether I ever tried to build geos or run
tests on RPI3 before.  I have a very very vague memory of having trouble
and never having chased it down.  So I am definitely not asking that the
release be held for this!

> https://download.osgeo.org/geos/geos-3.12.0beta2.tar.bz2

I am using

  gcc version 7.5.0 (nb4 20200810) 

On NetBSD 9 amd64, after installing it, tests all pass.

  [snip]
          Start 466: xml-validate-TestRelatePP
  466/466 Test #466: xml-validate-TestRelatePP ..................................   Passed    0.01 sec

  100% tests passed, 0 tests failed out of 466

  Total Test time (real) =  20.89 sec

On NetBSD 9 earmv7hf-el (RPI3 hardware, specifically), after installing
it, most but not all tests pass.   I ran it twice with the same results

  96% tests passed, 18 tests failed out of 465

  Total Test time (real) = 111.91 sec

  The following tests did not run:
          377 - xml-issue-issue-geos-837 (Disabled)

  The following tests FAILED:
           25 - unit-algorithm-construct-MaximumInscribedCircle (Subprocess aborted)
           32 - unit-capi-GEOSBuffer (Subprocess aborted)
           35 - unit-capi-GEOSClipByRect (Subprocess aborted)
           42 - unit-capi-GEOSCoordSeq (Subprocess aborted)
           62 - unit-capi-GEOSGeomGeoJSONRead (Subprocess aborted)
           94 - unit-capi-GEOSInterrupt (Subprocess aborted)
          104 - unit-capi-GEOSMaximumInscribedCircle (Subprocess aborted)
          140 - unit-capi-GEOSUnaryUnion (Subprocess aborted)
          143 - unit-capi-GEOSUnion (Subprocess aborted)
          168 - unit-geom-Dimension (Subprocess aborted)
          212 - unit-io-GeoJSONReader (Subprocess aborted)
          233 - unit-operation-buffer-BufferOp (Subprocess aborted)
          240 - unit-operation-distance-IndexedFacetDistance (Subprocess aborted)
          300 - xml-general-TestBuffer (Subprocess aborted)
          305 - xml-general-TestDensify (Subprocess aborted)
          361 - xml-issue-issue-geos-366 (Subprocess aborted)
          373 - xml-issue-issue-geos-605 (Subprocess aborted)
          399 - xml-misc-safe-TestBufferJagged (Subprocess aborted)
  Errors while running CTest
  Output from these tests are in: /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/Testing/Temporary/LastTest.log
  Use "--rerun-failed --output-on-failure" to re-run the failed cases verbosely.
  gmake[4]: *** [Makefile:91: test] Error 8
  gmake[4]: Leaving directory '/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2'
  *** Error code 2

Looking at the logs (at end), overall this smells like either a
systematic issue where the floating point on my system is broken, or
there is some slight floating point difference from x86, and geos tests
are very sensitive to exact FP results.  But that's just guessing.

I'm building for NetBSD 9 i386 and will also try macOS x86_64.

FWIW, I ran paranoia and got:

  No failures, defects nor flaws have been discovered.
  Rounding appears to conform to the proposed IEEE standard P754.
  The arithmetic diagnosed appears to be Excellent!

I am curious if others have been running tests on CPUs other than x86,
and on those systems, if other than GNU/Linux.



Here's the output of "ctest --rerun-failed --output-on-failure":
----------------------------------------
Test project /usr/pkgsrc/geography/geos/work/geos-3.12.0beta2
      Start  25: unit-algorithm-construct-MaximumInscribedCircle
 1/18 Test  #25: unit-algorithm-construct-MaximumInscribedCircle ...Subprocess aborted***Exception:   0.40 sec
===============================
  GEOS Unit Test Suite
===============================

geos::algorithm::construct::MaximumInscribedCircle: .......terminate called after throwing an instance of 'geos::util::GEOSException'
  what():  Non-finite envelope encountered.

      Start  32: unit-capi-GEOSBuffer
 2/18 Test  #32: unit-capi-GEOSBuffer ..............................Subprocess aborted***Exception:   0.09 sec
===============================
  GEOS Unit Test Suite
===============================

capi::GEOSBuffer: .....................NOTICE: IllegalArgumentException: Invalid buffer endCap style
NOTICE: IllegalArgumentException: Invalid buffer join style
.terminate called after throwing an instance of 'geos::util::GEOSException'
  what():  Shell empty after removing invalid points

      Start  35: unit-capi-GEOSClipByRect
 3/18 Test  #35: unit-capi-GEOSClipByRect ..........................Subprocess aborted***Exception:   0.09 sec
===============================
  GEOS Unit Test Suite
===============================

capi::GEOSClipByRect: .............terminate called after throwing an instance of 'geos::util::IllegalArgumentException'
  what():  IllegalArgumentException: Invalid number of points in LinearRing found 3 - must be 0 or >= 4

      Start  42: unit-capi-GEOSCoordSeq
 4/18 Test  #42: unit-capi-GEOSCoordSeq ............................Subprocess aborted***Exception:   0.08 sec
===============================
  GEOS Unit Test Suite
===============================

capi::GEOSCoordSeq: ..terminate called after throwing an instance of 'geos::util::IllegalArgumentException'
  what():  IllegalArgumentException: Unknown ordinate index 37

      Start  62: unit-capi-GEOSGeomGeoJSONRead
 5/18 Test  #62: unit-capi-GEOSGeomGeoJSONRead .....................Subprocess aborted***Exception:   0.09 sec
===============================
  GEOS Unit Test Suite
===============================

capi::GEOSGeomGeoJSONRead: ..terminate called after throwing an instance of 'geos_nlohmann::detail::parse_error'
  what():  [json.exception.parse_error.101] parse error at line 1, column 1: syntax error while parsing value - invalid literal; last read: '<'

      Start  94: unit-capi-GEOSInterrupt
 6/18 Test  #94: unit-capi-GEOSInterrupt ...........................Subprocess aborted***Exception:   0.09 sec
===============================
  GEOS Unit Test Suite
===============================

capi::GEOSInterrupt: ...terminate called after throwing an instance of 'geos::util::InterruptedException'
  what():  InterruptedException: Interrupted!

      Start 104: unit-capi-GEOSMaximumInscribedCircle
 7/18 Test #104: unit-capi-GEOSMaximumInscribedCircle ..............Subprocess aborted***Exception:   0.09 sec
===============================
  GEOS Unit Test Suite
===============================

capi::GEOSMaximumInscribedCircle: ..terminate called after throwing an instance of 'geos::util::GEOSException'
  what():  Non-finite envelope encountered.

      Start 140: unit-capi-GEOSUnaryUnion
 8/18 Test #140: unit-capi-GEOSUnaryUnion ..........................Subprocess aborted***Exception:   0.09 sec
===============================
  GEOS Unit Test Suite
===============================

capi::GEOSUnaryUnion: ........terminate called after throwing an instance of 'geos::util::GEOSException'
  what():  Edge direction cannot be determined because endpoints are equal

      Start 143: unit-capi-GEOSUnion
 9/18 Test #143: unit-capi-GEOSUnion ...............................Subprocess aborted***Exception:   0.08 sec
===============================
  GEOS Unit Test Suite
===============================

capi::GEOSUnion: .terminate called after throwing an instance of 'geos::util::GEOSException'
  what():  Edge direction cannot be determined because endpoints are equal

      Start 168: unit-geom-Dimension
10/18 Test #168: unit-geom-Dimension ...............................Subprocess aborted***Exception:   0.08 sec
===============================
  GEOS Unit Test Suite
===============================

geos::geom::Dimension: ..terminate called after throwing an instance of 'geos::util::IllegalArgumentException'
  what():  IllegalArgumentException: Unknown dimension value: 101


      Start 212: unit-io-GeoJSONReader
11/18 Test #212: unit-io-GeoJSONReader .............................Subprocess aborted***Exception:   0.10 sec
===============================
  GEOS Unit Test Suite
===============================

geos::io::GeoJSONReader: ......................terminate called after throwing an instance of 'geos_nlohmann::detail::parse_error'
  what():  [json.exception.parse_error.101] parse error at line 1, column 1: syntax error while parsing value - invalid literal; last read: '<'

      Start 233: unit-operation-buffer-BufferOp
12/18 Test #233: unit-operation-buffer-BufferOp ....................Subprocess aborted***Exception:   0.15 sec
===============================
  GEOS Unit Test Suite
===============================

geos::operation::buffer::BufferOp: ..........terminate called after throwing an instance of 'geos::util::TopologyException'
  what():  TopologyException: assigned depths do not match at -22625.315179557714 130450.31702346609

      Start 240: unit-operation-distance-IndexedFacetDistance
13/18 Test #240: unit-operation-distance-IndexedFacetDistance ......Subprocess aborted***Exception:   3.01 sec
===============================
  GEOS Unit Test Suite
===============================

geos::operation::distance::IndexedFacetDistance: ..........terminate called after throwing an instance of 'geos::util::GEOSException'
  what():  Cannot calculate IndexedFacetDistance on empty geometries.

      Start 300: xml-general-TestBuffer
14/18 Test #300: xml-general-TestBuffer ............................Subprocess aborted***Exception:   0.12 sec
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case1: test1: buffer(A, -1.0): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case1: test2: buffer(A, 0.0): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case1: test3: buffer(A, 10.0): ok. (3 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case2: test1: buffer(A, -1.0): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case2: test2: buffer(A, 0.0): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case2: test3: buffer(A, 10.0): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case3: test1: buffer(A, -100.0): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case3: test2: buffer(A, -10.0): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case3: test3: buffer(A, 0.0): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case3: test4: buffer(A, 10.0): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case3: test5: buffer(A, 20.0): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case3: test6: buffer(A, 100.0): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case4: test1: buffer(A, -100.0): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case4: test2: buffer(A, -10.0): ok. (1 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case4: test3: buffer(A, 0.0): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case4: test4: buffer(A, 10.0): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case4: test5: buffer(A, 20.0): ok. (1 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case4: test6: buffer(A, 100.0): ok. (0 ms)
terminate called after throwing an instance of 'geos::util::TopologyException'
  what():  TopologyException: assigned depths do not match at 1335583.1400354072 631780.66133557539

      Start 305: xml-general-TestDensify
15/18 Test #305: xml-general-TestDensify ...........................Subprocess aborted***Exception:   0.05 sec
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case1: test1: densify(A, 10.0): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case2: test1: densify(A, 10.0): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case3: test1: densify(A, 10.0): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case4: test1: densify(A, 10.0): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case5: test1: densify(A, 10.0): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case6: test1: densify(A, 10.0): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case7: test1: densify(A, 10.0): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case8: test1: densify(A, 2.999999): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case9: test1: densify(A, 6): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case10: test1: densify(A, 6): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case11: test1: densify(A, 6): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case12: test1: densify(A, 3): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case13: test1: densify(A, 2.999999): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case14: test1: densify(A, 10.0): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case15: test1: densify(A, 5.0): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case16: test1: densify(A, 2.999999): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case17: test1: densify(A, 10.0): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case18: test1: densify(A, 5.0): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case19: test1: densify(A, 10.0): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case20: test1: densify(A, 5.0): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case21: test1: densify(A, 2.999999): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case22: test1: densify(A, 10.0): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case23: test1: densify(A, 5.0): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case24: test1: densify(A, 2.999999): ok. (0 ms)
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case25: test1: densify(A, 0): ok. (0 ms)
terminate called after throwing an instance of 'geos::util::GEOSException'
  what():  Tolerance is too small compared to geometry length

      Start 361: xml-issue-issue-geos-366
16/18 Test #361: xml-issue-issue-geos-366 ..........................Subprocess aborted***Exception:   0.06 sec
terminate called after throwing an instance of 'geos::util::TopologyException'
  what():  TopologyException: unable to find edge to compute depths at at -200016.32214116989 249553.4006244911

      Start 373: xml-issue-issue-geos-605
17/18 Test #373: xml-issue-issue-geos-605 ..........................Subprocess aborted***Exception:   0.06 sec
terminate called after throwing an instance of 'geos::util::TopologyException'
  what():  TopologyException: assigned depths do not match at 374252.37027537922 6136822.6948443819

      Start 399: xml-misc-safe-TestBufferJagged
18/18 Test #399: xml-misc-safe-TestBufferJagged ....................Subprocess aborted***Exception:   2.04 sec
/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/misc/safe-TestBufferJagged.xml: case1: test1: buffer(a, 0.35): ok. (100 ms)
terminate called after throwing an instance of 'geos::util::TopologyException'
  what():  TopologyException: assigned depths do not match at 99725.701985377294 -2239208.6167892241


0% tests passed, 18 tests failed out of 18

Total Test time (real) =   6.94 sec

The following tests FAILED:
	 25 - unit-algorithm-construct-MaximumInscribedCircle (Subprocess aborted)
	 32 - unit-capi-GEOSBuffer (Subprocess aborted)
	 35 - unit-capi-GEOSClipByRect (Subprocess aborted)
	 42 - unit-capi-GEOSCoordSeq (Subprocess aborted)
	 62 - unit-capi-GEOSGeomGeoJSONRead (Subprocess aborted)
	 94 - unit-capi-GEOSInterrupt (Subprocess aborted)
	104 - unit-capi-GEOSMaximumInscribedCircle (Subprocess aborted)
	140 - unit-capi-GEOSUnaryUnion (Subprocess aborted)
	143 - unit-capi-GEOSUnion (Subprocess aborted)
	168 - unit-geom-Dimension (Subprocess aborted)
	212 - unit-io-GeoJSONReader (Subprocess aborted)
	233 - unit-operation-buffer-BufferOp (Subprocess aborted)
	240 - unit-operation-distance-IndexedFacetDistance (Subprocess aborted)
	300 - xml-general-TestBuffer (Subprocess aborted)
	305 - xml-general-TestDensify (Subprocess aborted)
	361 - xml-issue-issue-geos-366 (Subprocess aborted)
	373 - xml-issue-issue-geos-605 (Subprocess aborted)
	399 - xml-misc-safe-TestBufferJagged (Subprocess aborted)
Errors while running CTest


More information about the geos-devel mailing list