-
Notifications
You must be signed in to change notification settings - Fork 262
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Spurious failures with test.67 #2188
Comments
Tests are being run with:
|
Tagging @DennisHeimbigner since this is DAP related and there might be something related to that in my blindspot. |
This kind of problem occurs in a number of tests that involve float or double comparisons. |
No currently being in linux. Can you please provide me the syntax to skip the tests with Thank you! |
I would need to look up the cmake syntax; currently, test.67 appears to be part of the broader test suite, running as part of test number |
You can turn off remote |
Thanks! |
Just wanted to add another data point. I've seen the same issue while building from source using Docker. |
I have also seen the same test.67 failure in several recent builds, all on Mac OS 10.15. These are the only versions that I tested, so other versions are probably also affected in the same way.
These failures occurred consistently between 2021 December 23 and 2022 March 6. I have some old testing leftovers and other evidence indicating test.67 was working fine for many years, from inception through 2020 February 26. I have no evidence for the gap from 2020 March through 2021 November. In other words, I can't pin down closely when this started. From this, I think it is most likely that there was a recent change in behavior in handling test.67 on Unidata's test server, and that there is no particular problem within the local test code in netcdf-c. |
This is in response to issue Unidata#2188 (comment) although it does not fix that problem.
I can fill the gap a lot then: on Arch, it worked up to the 2021 October 1st builds (including builds in 2021 July for instance). After that I don’t have builds before this February, so you’ve got a closer point, but with the two of us we can already narrow it down a lot. |
@ArchangeGabriel, thank you, this is helpful. So it seems the relevant change in behavior was between 2021 October 1 and 2021 December 23. I would like to look into this more closely. Can someone at Unidata please show me how to get a direct copy of the original netCDF data file for test.67, NOT through OpenDAP? Also can you please show me how to access the server-side OpenDAP support code, and its recent change history on remotetest.unidata.ucar.edu? Are you using Unidata/tds, or something else? |
The test.67 is produced by the WAR file constructed by the code The process for accessing e.g. test.67 is a bit complicated.
where the starting value for tFloat64 is 0.0.
So perhaps the issue is the cosine function? (seems unlikely) |
Synthesized! I had not really thought about that. Well, I see at least two opportunities for roundoff deviation to creep in. Yes, cosine is one of them. This still does not rule out the possibility of some deviation in the way OpenDAP is communicating the synthesized data to the client. Rather than diving deeper, I suggest a tentative easy solution that may be good for the long run. Generate a one-time actual netCDF file that will output the expected test.67 pattern through OpenDAP. Install this netCDF file in place of synthesis on remotetest.unidata. Then the future is insulated from possible new math deviations within synthesis. Also, if crafted properly, then all of the old and current distributed netCDF code release versions will start working properly again. As a further benefit, this would exercise more of the active OpenDAP code on the server side. Attached is one such crafted netCDF file that should regenerate the expected test.67 pattern, for your consideration. Also included is the full-precision CDL file that generated the netCDF file using ncgen. |
Changing the dts war to serve up a fixed file for a single test is, I suspect, |
To report a non-security related issue, please provide:
For some reasons, it seems that
test.67
is failing due to rounding errors.Is there a way to relax the tolerance, or to skip the test in CIs while the fix is implemented?
Thank you very much for your help
See full logs:
conda-forge/libnetcdf-feedstock#135
test.67_failure_example.txt
The text was updated successfully, but these errors were encountered: