joto / osmium

C++/Javascript framework for working with OSM files.
http://wiki.openstreetmap.org/wiki/Osmium
GNU General Public License v3.0
123 stars 31 forks source link

shared_ptr node comparison test suite failures #99

Open xnox opened 8 years ago

xnox commented 8 years ago
Checking t/osm/test_node.cpp...[TEST FAILED]
==========================
Running 7 test cases...
t/osm/test_node.cpp(50): error: in "Node/order_for_pointers": check true == ptr1 < ptr2 has failed [true != false]
t/osm/test_node.cpp(66): error: in "Node/order_for_pointers": check true == ptr1 < ptr2 has failed [true != false]

*** 2 failures are detected in the test module "Main"

Strangely enough the same test succeeds correctly on powerpc (big endian platform), but fails on all little endian platforms.

I'm not sure if the operators are defined correctly in the Node template, and/or if there is some standard error / implementation error / compiler error.

Full build log is at: https://launchpadlibrarian.net/256000022/buildlog_ubuntu-yakkety-amd64.osmium_0.0~20160124-b30afd3-1ubuntu1_BUILDING.txt.gz

xnox commented 8 years ago

and it passed on armhf too. this is really weird.

joto commented 8 years ago

This is the old version of osmium, bugs will not be fixed. Please switch to https://github.com/osmcode/libosmium.

xnox commented 8 years ago

@joto sure i understand and know that, but e.g. debian and ubuntu are still shipping this edition of the code in addition to the new one. I see that many pointer comparison tests are commented out in that file already, and on the surface they all look valid. I fear a compiler breakage, unless this shared_ptr comparisons are truly bogus. My c++ skills are not that good. Even if you have no intentions to fix this, please keep this ticket open for interested parties to look into =)