[SERVER-43980] yaml-cpp 0.6.3 test failure options_parser_test Created: 13/Oct/19  Updated: 28/May/20  Resolved: 18/May/20

Status: Closed
Project: Core Server
Component/s: Build, Testing Infrastructure
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: James P. Harvey Assignee: Ryan Egesdahl (Inactive)
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: HTML File testfail    
Issue Links:
Related
related to SERVER-44081 Upgrade yaml-cpp to newer than 0.6.3 Closed
Operating System: ALL
Sprint: Dev Platform 2020-05-18, Dev Platform 2020-06-01
Participants:

 Description   

With 4.2.0 and yaml-cpp 0.6.2, it was possible to build mongoDB using yaml-cpp as a system package.

yaml-cpp 0.6.3 was released (at least on Arch) 13 days ago.  Upgrading the system package requires recompiling mongodb, which causes cpp_unit_test:options_parser_test to fail.

The entire test failure is attached.

Looks like the issue is math::pi being

3.1415926500000002

vs

3.14159265

I see https://github.com/jbeder/yaml-cpp/pull/649 which fixes a yaml-cpp round trip decimal error, which I assume is the change in the new version causing this test failure.

I also saw https://github.com/jbeder/yaml-cpp/issues/761 where a user was having a similar problem of an expected value of "123.456" printed as "123.456001".  The developer said to now specify precision when using an emitter, i.e.:

emitter << YAML::Precision(3) << node;

I haven't looked to see if 0.6.2 and previous has YAML::Precision(), so whether mongo's code could be fixed and still run on previous errors, or if this is a true breaking change.

I wanted to report this issue, reported to me by Arch user mrohnstock, but in the meantime will be removing yaml-cpp to be used as a system library by mongo on Arch, and let it pull it in itself.



 Comments   
Comment by Ryan Egesdahl (Inactive) [ 18/May/20 ]

It looks like this issue wasn't actually fixed despite a commit in HEAD advertising otherwise. I tried building with it, and I got exactly the same incorrect behavior. I think this is going to require more work from us, up to potentially working with the developer to get the problem fixed and get a version 0.6.4 ready for us to merge in. For clarity's sake, I am closing this issue in favor of SERVER-48258 to track that effort.

Comment by Andrew Morrow (Inactive) [ 04/Nov/19 ]

jamespharvey20 - I've reproduced this behavior, thanks for reporting it. We will be doing an upgrade of yaml-cpp in the near future and we will address this when we do so.

Comment by Danny Hatcher (Inactive) [ 16/Oct/19 ]

Thanks for opening this. I've passed to the appropriate team.

Generated at Thu Feb 08 05:04:40 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.