Opened 6 years ago
Closed 5 years ago
#894 closed defect (duplicate)
FreeBSD and MacOSX failures on 3.7.0 - group: geos::geom::CoordinateArraySequenceFactory, test: test<1> assertion failed
Reported by: | robe | Owned by: | |
---|---|---|---|
Priority: | blocker | Milestone: | 3.7.0 |
Component: | Default | Version: | main |
Severity: | Unassigned | Keywords: | |
Cc: |
Description
After I put in the FreeBSD bots (bessie / bessie32)
seem to be getting failures on both of them.
03:39:22 make check-TESTS 03:39:24 FAIL: geos_unit 03:39:24 ============================================================================ 03:39:24 Testsuite summary for 03:39:24 ============================================================================ 03:39:24 # TOTAL: 1 03:39:24 # PASS: 0 03:39:24 # SKIP: 0 03:39:24 # XFAIL: 0 03:39:24 # FAIL: 1 03:39:24 # XPASS: 0 03:39:24 # ERROR: 0 03:39:24 ============================================================================ 03:39:24 See tests/unit/test-suite.log 03:39:24 ============================================================================ 03:39:24 *** Error code 1 03:39:24 03:39:24 Stop. 03:39:24 make[5]: stopped in /usr/home/jenkins/workspace/GEOS_Worker_Run/label/bessie/60fbafd7c2470781a022057610a85787ae98cc88/tests/unit 03:39:24 *** Error code 1 03:39:24 03:39:24 Stop. 03:39:24 make[4]: stopped in /usr/home/jenkins/workspace/GEOS_Worker_Run/label/bessie/60fbafd7c2470781a022057610a85787ae98cc88/tests/unit 03:39:24 *** Error code 1 03:39:24 03:39:24 Stop. 03:39:24 make[3]: stopped in /usr/home/jenkins/workspace/GEOS_Worker_Run/label/bessie/60fbafd7c2470781a022057610a85787ae98cc88/tests/unit 03:39:24 *** Error code 1 03:39:24 03:39:24 Stop. 03:39:24 make[2]: stopped in /usr/home/jenkins/workspace/GEOS_Worker_Run/label/bessie/60fbafd7c2470781a022057610a85787ae98cc88/tests 03:39:24 *** Error code 1 03:39:24 03:39:24 Stop. 03:39:24 make[1]: stopped in /usr/home/jenkins/workspace/GEOS_Worker_Run/label/bessie/60fbafd7c2470781a022057610a85787ae98cc88 03:39:24 *** Error code 1 03:39:24 03:39:24 Stop.
I don't see the file tests/unit/test-suite.log that is being referred to.
I also see a lots of warnings in compile particularly with XMLTest and tinyxml
03:28:25 In file included from XMLTester.cpp:56: 03:28:25 In file included from ./XMLTester.h:21: 03:28:25 ./tinyxml/tinyxml.h:1138:15: warning: 'StreamIn' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] 03:28:25 virtual void StreamIn( std::istream * in, TIXML_STRING * tag ); 03:28:25 ^ 03:28:25 ./tinyxml/tinyxml.h:750:15: note: overridden virtual function is here 03:28:25 virtual void StreamIn( std::istream* in, TIXML_STRING* tag ) = 0; 03:28:25 ^ 03:28:25 ./tinyxml/tinyxml.h:1190:15: warning: 'StreamIn' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] 03:28:25 virtual void StreamIn( std::istream * in, TIXML_STRING * tag ); 03:28:25 ^ 03:28:25 ./tinyxml/tinyxml.h:750:15: note: overridden virtual function is here 03:28:25 virtual void StreamIn( std::istream* in, TIXML_STRING* tag ) = 0; 03:28:25 ^ 03:28:25 ./tinyxml/tinyxml.h:1256:15: warning: 'StreamIn' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] 03:28:25 virtual void StreamIn( std::istream * in, TIXML_STRING * tag ); 03:28:25 ^ 03:28:25 ./tinyxml/tinyxml.h:750:15: note: overridden virtual function is here 03:28:25 virtual void StreamIn( std::istream* in, TIXML_STRING* tag ) = 0; 03:28:25 ^ 03:28:25 ./tinyxml/tinyxml.h:1328:15: warning: 'StreamIn' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] 03:28:25 virtual void StreamIn( std::istream * in, TIXML_STRING * tag ); 03:28:25 ^ 03:28:25 ./tinyxml/tinyxml.h:750:15: note: overridden virtual function is here 03:28:25 virtual void StreamIn( std::istream* in, TIXML_STRING* tag ) = 0; 03:28:25 ^ 03:28:25 ./tinyxml/tinyxml.h:1373:15: warning: 'StreamIn' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] 03:28:25 virtual void StreamIn( std::istream * in, TIXML_STRING * tag ); 03:28:25 ^ 03:28:25 ./tinyxml/tinyxml.h:750:15: note: overridden virtual function is here 03:28:25 virtual void StreamIn( std::istream* in, TIXML_STRING* tag ) = 0; 03:28:25 ^ 03:28:25 ./tinyxml/tinyxml.h:1539:15: warning: 'StreamIn' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] 03:28:25 virtual void StreamIn( std::istream * in, TIXML_STRING * tag ); 03:28:25 ^ 03:28:25 ./tinyxml/tinyxml.h:750:15: note: overridden virtual function is here 03:28:25 virtual void StreamIn( std::istream* in, TIXML_STRING* tag ) = 0; 03:28:25 ^ 03:28:26 XMLTester.cpp:139:6: warning: function 'dump_to_stdout' is not needed and will not be emitted [-Wunneeded-internal-declaration] 03:28:26 void dump_to_stdout( const TiXmlNode * pParent, unsigned int indent = 0 ) 03:28:26 ^ 03:28:26 In file included from XMLTester.cpp:56: 03:28:26 ./XMLTester.h:51:18: warning: private field 'gT' is not used [-Wunused-private-field] 03:28:26 geom::Geometry *gT; 03:28:26 ^ 03:28:31 8 warnings generated. 03:28:31 depbase=`echo tinyxml/tinyxml.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`; c++ -std=c++11 -DHAVE_CONFIG_H -I. -I../../include -I../../include/geos -I../../include -I../../src/io/tinyxml -DTIXML_USE_STL -DGEOS_INLINE -pedantic -Wall -Wno-long-long -DUSE_UNSTABLE_GEOS_CPP_API -g -O2 -MT tinyxml/tinyxml.o -MD -MP -MF $depbase.Tpo -c -o tinyxml/tinyxml.o tinyxml/tinyxml.cpp && mv -f $depbase.Tpo $depbase.Po 03:28:33 In file included from tinyxml/tinyxml.cpp:32: 03:28:33 tinyxml/tinyxml.h:1138:15: warning: 'StreamIn' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] 03:28:33 virtual void StreamIn( std::istream * in, TIXML_STRING * tag ); 03:28:33 ^ 03:28:33 tinyxml/tinyxml.h:750:15: note: overridden virtual function is here 03:28:33 virtual void StreamIn( std::istream* in, TIXML_STRING* tag ) = 0; 03:28:33 ^ 03:28:33 tinyxml/tinyxml.h:1190:15: warning: 'StreamIn' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] 03:28:33 virtual void StreamIn( std::istream * in, TIXML_STRING * tag ); 03:28:33 ^ 03:28:33 tinyxml/tinyxml.h:750:15: note: overridden virtual function is here 03:28:33 virtual void StreamIn( std::istream* in, TIXML_STRING* tag ) = 0; 03:28:33 ^ 03:28:33 tinyxml/tinyxml.h:1256:15: warning: 'StreamIn' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] 03:28:33 virtual void StreamIn( std::istream * in, TIXML_STRING * tag ); 03:28:33 ^ 03:28:33 tinyxml/tinyxml.h:750:15: note: overridden virtual function is here 03:28:33 virtual void StreamIn( std::istream* in, TIXML_STRING* tag ) = 0; 03:28:33 ^ 03:28:33 tinyxml/tinyxml.h:1328:15: warning: 'StreamIn' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] 03:28:33 virtual void StreamIn( std::istream * in, TIXML_STRING * tag ); 03:28:33 ^ 03:28:33 tinyxml/tinyxml.h:750:15: note: overridden virtual function is here 03:28:33 virtual void StreamIn( std::istream* in, TIXML_STRING* tag ) = 0; 03:28:33 ^ 03:28:33 tinyxml/tinyxml.h:1373:15: warning: 'StreamIn' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] 03:28:33 virtual void StreamIn( std::istream * in, TIXML_STRING * tag ); 03:28:33 ^ 03:28:33 tinyxml/tinyxml.h:750:15: note: overridden virtual function is here 03:28:33 virtual void StreamIn( std::istream* in, TIXML_STRING* tag ) = 0; 03:28:33 ^ 03:28:33 tinyxml/tinyxml.h:1539:15: warning: 'StreamIn' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] 03:28:33 virtual void StreamIn( std::istream * in, TIXML_STRING * tag ); 03:28:33 ^ 03:28:33 tinyxml/tinyxml.h:750:15: note: overridden virtual function is here 03:28:33 virtual void StreamIn( std::istream* in, TIXML_STRING* tag ) = 0; 03:28:33 ^ 03:28:36 6 warnings generated. 03:28:36 depbase=`echo tinyxml/tinystr.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`; c++ -std=c++11 -DHAVE_CONFIG_H -I. -I../../include -I../../include/geos -I../../include -I../../src/io/tinyxml -DTIXML_USE_STL -DGEOS_INLINE -pedantic -Wall -Wno-long-long -DUSE_UNSTABLE_GEOS_CPP_API -g -O2 -MT tinyxml/tinystr.o -MD -MP -MF $depbase.Tpo -c -o tinyxml/tinystr.o tinyxml/tinystr.cpp && mv -f $depbase.Tpo $depbase.Po 03:28:36 depbase=`echo tinyxml/tinyxmlerror.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`; c++ -std=c++11 -DHAVE_CONFIG_H -I. -I../../include -I../../include/geos -I../../include -I../../src/io/tinyxml -DTIXML_USE_STL -DGEOS_INLINE -pedantic -Wall -Wno-long-long -DUSE_UNSTABLE_GEOS_CPP_API -g -O2 -MT tinyxml/tinyxmlerror.o -MD -MP -MF $depbase.Tpo -c -o tinyxml/tinyxmlerror.o tinyxml/tinyxmlerror.cpp && mv -f $depbase.Tpo $depbase.Po 03:28:37 In file included from tinyxml/tinyxmlerror.cpp:25: 03:28:37 tinyxml/tinyxml.h:1138:15: warning: 'StreamIn' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] 03:28:37 virtual void StreamIn( std::istream * in, TIXML_STRING * tag ); 03:28:37 ^ 03:28:37 tinyxml/tinyxml.h:750:15: note: overridden virtual function is here 03:28:37 virtual void StreamIn( std::istream* in, TIXML_STRING* tag ) = 0; 03:28:37 ^ 03:28:37 tinyxml/tinyxml.h:1190:15: warning: 'StreamIn' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] 03:28:37 virtual void StreamIn( std::istream * in, TIXML_STRING * tag ); 03:28:37 ^ 03:28:37 tinyxml/tinyxml.h:750:15: note: overridden virtual function is here 03:28:37 virtual void StreamIn( std::istream* in, TIXML_STRING* tag ) = 0; 03:28:37 ^ 03:28:37 tinyxml/tinyxml.h:1256:15: warning: 'StreamIn' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] 03:28:37 virtual void StreamIn( std::istream * in, TIXML_STRING * tag ); 03:28:37 ^ 03:28:37 tinyxml/tinyxml.h:750:15: note: overridden virtual function is here 03:28:37 virtual void StreamIn( std::istream* in, TIXML_STRING* tag ) = 0; 03:28:37 ^ 03:28:37 tinyxml/tinyxml.h:1328:15: warning: 'StreamIn' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] 03:28:37 virtual void StreamIn( std::istream * in, TIXML_STRING * tag ); 03:28:37 ^ 03:28:37 tinyxml/tinyxml.h:750:15: note: overridden virtual function is here 03:28:37 virtual void StreamIn( std::istream* in, TIXML_STRING* tag ) = 0; 03:28:37 ^ 03:28:37 tinyxml/tinyxml.h:1373:15: warning: 'StreamIn' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] 03:28:37 virtual void StreamIn( std::istream * in, TIXML_STRING * tag ); 03:28:37 ^ 03:28:37 tinyxml/tinyxml.h:750:15: note: overridden virtual function is here 03:28:38 virtual void StreamIn( std::istream* in, TIXML_STRING* tag ) = 0; 03:28:38 ^ 03:28:38 tinyxml/tinyxml.h:1539:15: warning: 'StreamIn' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] 03:28:38 virtual void StreamIn( std::istream * in, TIXML_STRING * tag ); 03:28:38 ^ 03:28:38 tinyxml/tinyxml.h:750:15: note: overridden virtual function is here 03:28:38 virtual void StreamIn( std::istream* in, TIXML_STRING* tag ) = 0; 03:28:38 ^ 03:28:38 6 warnings generated.
Change History (19)
comment:1 by , 6 years ago
comment:2 by , 6 years ago
Summary: | FreeBSD failures on 3.7.0 → FreeBSD failures on 3.7.0 - group: geos::geom::CoordinateArraySequenceFactory, test: test<1> assertion failed |
---|
Looks like same error on 64-bit.
comment:3 by , 6 years ago
Had Greg Troxel check this and he says it is failing on his MacOSX, but works fine on NetBASD. Both FreeBSD and MacOSX use clang, while NetBSD uses gcc
same error on macos 10.11, with Apple LLVM version 8.0.0 (clang-800.0.42.1) Target: x86_64-apple-darwin15.6.0 Thread model: posix InstalledDir: /Library/Developer/CommandLineTools/usr/bin so the finger is pointing at clang being what makes the difference. (But not at clang, because it's much more likely there is some dodgy code that triggers with clang, than that clang is buggy, IMHO.)
comment:4 by , 6 years ago
Summary: | FreeBSD failures on 3.7.0 - group: geos::geom::CoordinateArraySequenceFactory, test: test<1> assertion failed → FreeBSD and MacOSX failures on 3.7.0 - group: geos::geom::CoordinateArraySequenceFactory, test: test<1> assertion failed |
---|
comment:5 by , 6 years ago
Also fails in the same test on macos 10.13, with
Apple LLVM version 8.0.0 (clang-800.0.42.1)
comment:6 by , 6 years ago
More notes from gdt on mailing list
https://lists.osgeo.org/pipermail/geos-devel/2018-August/008490.html
I don't see this on NetBSD/7 amd64, which uses gcc 4.8. I did a build on macos 10.11, which uses clang (but a similar Intel processor): Apple LLVM version 8.0.0 (clang-800.0.42.1) Target: x86_64-apple-darwin15.6.0 Thread model: posix InstalledDir: /Library/Developer/CommandLineTools/usr/bin and get the same failure as the bug. Specifically, if I run test 1 in that group, it fails: $ ./geos_unit geos::geom::CoordinateArraySequenceFactory 1 =============================== GEOS Test Suite Application =============================== geos::geom::CoordinateArraySequenceFactory: [1=F] ---> group: geos::geom::CoordinateArraySequenceFactory, test: test<1> problem: assertion failed tests summary: failures:1 ok:0 but tests 2,3,4,5 all pass. The test is in tests/unit/capi/GEOSGeomFromWKBTest.cpp in the sources, and is doing: // POINT(1.234 5.678) std::string wkt("POINT (1.234 5.678)"); std::string wkb("01010000005839B4C876BEF33F83C0CAA145B61640"); test_wkb(wkb, wkt); I don't know how to get it to produce the mismatching content; the --verbose option in --help is unrecognized, and I can't see how it would be reading the driver source. So I wonder if something in geos is sensitive to gcc/clang differences. (Vastly less likely, there could be a clang bug.)
comment:11 by , 6 years ago
Well remarking out that test wasn't sufficient for a clean pass, I still get an error here:
make: stopped in /usr/home/jenkins/workspace/GEOS_Worker_Run/label/bessie/34cdf0252cd9ffd202f68faf9 [jenkins@bessie /usr/home/jenkins/workspace/GEOS_Worker_Run/label/bessie/34cdf0252cd9ffd202f68faf94 908860f5762461]$ tail -n 10 tests/unit/test-suite.log geos::triangulate::quadedge::QuadEdgeSubdivision: ... geos::triangulate::quadedge::Vertex: . geos::util::UniqueCoordinateArrayFilter: . ---> group: geos::geom::CoordinateArraySequenceFactory, test: test<1> problem: assertion failed tests summary: failures:1 ok:1120 FAIL geos_unit (exit status: 1)
oops and I thought I was committing to my fork, I must have my scripts backward :(.
I'm going to revert back and just leave this as it was.
comment:14 by , 6 years ago
Forgot to reference the ticket number
In 2644482/git:
(The changeset message doesn't reference this ticket)
comment:15 by , 6 years ago
I had taken this test out of 3.7 so I could have the bessie bots regress.
I still have it in master so that's why Bessies are still failing.
I spoke to Paul Ramsey about this in the code sprint, he said yah he gets some error in the tests he just ignores cause it seemed unimportant. I think it was this one. He's on MacOSX (and Greg said it fails for him on MacOSX too).
For reminder this is the test why bessies are screaming red. I was going to switch the bessies to CMAke anyway where this test I don't think exists
geos::triangulate::Delaunay: ......... geos::triangulate::Voronoi: ......... geos::triangulate::quadedge::QuadEdge: ... geos::triangulate::quadedge::QuadEdgeSubdivision: ... geos::triangulate::quadedge::Vertex: . geos::util::UniqueCoordinateArrayFilter: . ---> group: geos::geom::CoordinateArraySequenceFactory, test: test<1> problem: assertion failed tests summary: failures:1 ok:1125 FAIL geos_unit (exit status: 1)
comment:16 by , 6 years ago
Given that autotools is the official build system, and cmake doesn't yet replicate the behavior, it seems that the buildbots should stay on autotools.
(I also don't understand why the tests would be different based on build system.)
comment:17 by , 6 years ago
My understanding is that they're both "official": https://trac.osgeo.org/geos/wiki/BuildingOnUnixWithCMake
For this reason, the Travis buildbot builds using both build systems: https://travis-ci.com/libgeos/geos?branch=master
aha found the log. Not sure how I missed it before here is the bessie32 bit one: