Skip to content

Ignore warnings#10303

Merged
guitargeek merged 1 commit intoroot-project:masterfrom
ellert:ignore-warnings
May 20, 2024
Merged

Ignore warnings#10303
guitargeek merged 1 commit intoroot-project:masterfrom
ellert:ignore-warnings

Conversation

@ellert
Copy link
Copy Markdown
Contributor

@ellert ellert commented Apr 4, 2022

This Pull request:

Changes or fixes:

Many RooFit test fails on s390x due to a warning about RooNaNPacker not being implemented for big endian.
There are too many of them to add RAIIs for each of them, so I added the warning to the default list in this PR.

Checklist:

  • tested changes locally
  • updated the docs (if necessary)

This warning is triggered in many tests, so it makes sense to put it
in the default ignored set.
@phsft-bot
Copy link
Copy Markdown

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, ROOT-ubuntu2004/soversion, mac1015/python3, mac11/cxx17, windows10/cxx14
How to customize builds

@jblomer
Copy link
Copy Markdown
Contributor

jblomer commented Apr 5, 2022

I leave the review of the RooNaNPacker warning to @guitargeek

@jblomer
Copy link
Copy Markdown
Contributor

jblomer commented Apr 5, 2022

@ellert It is strange that the uring warning appears only in this unit test. Other unit tests use uring, too, and I would expect all of them to report uring issues consistently. Could you give me the full printout of the failed unit test?

@ellert
Copy link
Copy Markdown
Contributor Author

ellert commented Apr 17, 2022

@ellert It is strange that the uring warning appears only in this unit test. Other unit tests use uring, too, and I would expect all of them to report uring issues consistently. Could you give me the full printout of the failed unit test?

 472/1232 Test  #423: gtest-tree-ntuple-v7-test-ntuple-extended ...........................***Failed   29.66 sec
Running main() from /builddir/build/BUILD/googletest-release-1.11.0/googletest/src/gtest_main.cc
Note: Google Test filter = -RCsvDS.Remote:RRawFile.Remote:RSqliteDS.Davix
[==========] Running 3 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 3 tests from RNTuple
[ RUN      ] RNTuple.RealWorld1
Warning in [ROOT.NTuple] Warning /builddir/build/BUILD/root-6.26.02/tree/ntuple/v7/src/RPageStorageFile.cxx:51 in ROOT::Experimental::Detail::RPageSinkFile::RPageSinkFile(std::string_view, const ROOT::Experimental::RNTupleWriteOptions&) The RNTuple file format will change. Do not store real data with this version of RNTuple!
Warning in [ROOT.NTuple] Warning /builddir/build/BUILD/root-6.26.02/tree/ntuple/v7/src/RNTupleSerialize.cxx:1105 in static ROOT::Experimental::RResult<void> ROOT::Experimental::Internal::RNTupleSerializer::DeserializeHeaderV1(const void*, uint32_t, ROOT::Experimental::RNTupleDescriptorBuilder&) Pre-release format version: RC 1
[       OK ] RNTuple.RealWorld1 (8502 ms)
[ RUN      ] RNTuple.RandomAccess
Warning in [ROOT.NTuple] Warning /builddir/build/BUILD/root-6.26.02/tree/ntuple/v7/src/RPageStorageFile.cxx:51 in ROOT::Experimental::Detail::RPageSinkFile::RPageSinkFile(std::string_view, const ROOT::Experimental::RNTupleWriteOptions&) The RNTuple file format will change. Do not store real data with this version of RNTuple!
Warning in [ROOT.NTuple] Warning /builddir/build/BUILD/root-6.26.02/tree/ntuple/v7/src/RNTupleSerialize.cxx:1105 in static ROOT::Experimental::RResult<void> ROOT::Experimental::Internal::RNTupleSerializer::DeserializeHeaderV1(const void*, uint32_t, ROOT::Experimental::RNTupleDescriptorBuilder&) Pre-release format version: RC 1
[       OK ] RNTuple.RandomAccess (113 ms)
[ RUN      ] RNTuple.LargeFile
Warning in [ROOT.NTuple] Warning /builddir/build/BUILD/root-6.26.02/tree/ntuple/v7/src/RPageStorageFile.cxx:51 in ROOT::Experimental::Detail::RPageSinkFile::RPageSinkFile(std::string_view, const ROOT::Experimental::RNTupleWriteOptions&) The RNTuple file format will change. Do not store real data with this version of RNTuple!
Warning in [ROOT.NTuple] Warning /builddir/build/BUILD/root-6.26.02/tree/ntuple/v7/src/RNTupleSerialize.cxx:1105 in static ROOT::Experimental::RResult<void> ROOT::Experimental::Internal::RNTupleSerializer::DeserializeHeaderV1(const void*, uint32_t, ROOT::Experimental::RNTupleDescriptorBuilder&) Pre-release format version: RC 1
/builddir/build/BUILD/root-6.26.02/test/unit_testing_support/ROOTUnitTestSupport.cxx:75: Failure
Failed
Received unexpected diagnostic of severity 2000 at 'RIoUring' reading 'io_uring is unexpectedly not available because:
batch 0: read failed for ReadEvent[1], error: Invalid argument'.
Suppress those using ROOTUnitTestSupport.h
/builddir/build/BUILD/root-6.26.02/test/unit_testing_support/ROOTUnitTestSupport.cxx:75: Failure
Failed
Received unexpected diagnostic of severity 2000 at 'RRawFileUnix' reading 'io_uring setup failed, falling back to blocking I/O in ReadV'.
Suppress those using ROOTUnitTestSupport.h
[  FAILED  ] RNTuple.LargeFile (20982 ms)
[----------] 3 tests from RNTuple (29599 ms total)
[----------] Global test environment tear-down
[==========] 3 tests from 1 test suite ran. (29599 ms total)
[  PASSED  ] 2 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] RNTuple.LargeFile
 1 FAILED TEST
CMake Error at /builddir/build/BUILD/root-6.26.02/cmake/modules/RootTestDriver.cmake:227 (message):
  error code: 1

@ellert ellert mentioned this pull request Apr 17, 2022
1 task
@jblomer
Copy link
Copy Markdown
Contributor

jblomer commented May 4, 2022

Thanks, @ellert! The warning should not be ignored because it indicates an unexpected behavior in uring on that platform. It could be either a bug in uring or it may be an issue in how we use uring that is not triggered on other platforms.

Which kernel version are you using? Would it be possible for me to get access to the node?

If you'd like to proceed with green unit tests, you can disable uring support at compile time with cmake -During=off.

Copy link
Copy Markdown
Contributor

@jblomer jblomer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As discussed in the comments, I think this error should not be ignored but there is an actual issue to fix.

@Axel-Naumann Axel-Naumann removed their request for review May 16, 2022 08:51
@guitargeek guitargeek removed their assignment Sep 22, 2022
@phsft-bot
Copy link
Copy Markdown

Starting build on ROOT-performance-centos8-multicore/soversion, ROOT-ubuntu2204/nortcxxmod, ROOT-ubuntu2004/python3, mac12arm/cxx20, windows10/default
How to customize builds

@ellert
Copy link
Copy Markdown
Contributor Author

ellert commented Nov 25, 2023

Hi. I have dropped the commit related to uring from this PR. Please consider merging the remaining commit related to RooNaNPacker.

@github-actions
Copy link
Copy Markdown

Test Results

       10 files         10 suites   1d 16h 28m 39s ⏱️
  2 483 tests   2 483 ✔️ 0 💤 0
23 757 runs  23 757 ✔️ 0 💤 0

Results for commit f6aa78b.

@Axel-Naumann Axel-Naumann requested review from guitargeek and jblomer and removed request for jblomer and pcanal November 26, 2023 10:41
@Axel-Naumann Axel-Naumann assigned guitargeek and unassigned jblomer Nov 26, 2023
@guitargeek
Copy link
Copy Markdown
Contributor

Hi @ellert, thanks for updating this PR!

My preferred solution would be to detect in the build system if the machine in big endian, and only build/execute the NaN - packer test if this is not the case. Would this be possible? Then we don't need to hack into the ROOT test system.

@ellert
Copy link
Copy Markdown
Contributor Author

ellert commented Nov 26, 2023

Hi @ellert, thanks for updating this PR!

My preferred solution would be to detect in the build system if the machine in big endian, and only build/execute the NaN - packer test if this is not the case. Would this be possible? Then we don't need to hack into the ROOT test system.

There is one explicit test for specifically checking the NaN feature:

gtest-roofit-roofitcore-test-testNaNPacker

This PR is not about this test. This test still correctly fails with this PR applied.

The PR is so that tests that are testing other things don't fail because they trigger this warning about the NaN feature not having been implemented. The warning says: fast recovery not implemented. As far as I can tell the tests fall back to some slower recovery method and succeed.

@guitargeek
Copy link
Copy Markdown
Contributor

Ok, thanks for the clarification! May I ask which tests are failing because of this warning? Normally, a warning should not make the test fail, so I'm curious to know what is exactly going on there.

@ellert
Copy link
Copy Markdown
Contributor Author

ellert commented Dec 2, 2023

Ok, thanks for the clarification! May I ask which tests are failing because of this warning? Normally, a warning should not make the test fail, so I'm curious to know what is exactly going on there.

This is a list of test that fail without this change:

239 - gtest-roofit-hs3-test-testHS3SimultaneousFit (Failed)
249 - gtest-roofit-roofit-test-testRooCrystalBall (Failed)
250 - gtest-roofit-roofit-test-testRooJohnson (Failed)
261 - gtest-roofit-roofitcore-test-testRooAddPdf (Failed)
266 - gtest-roofit-roofitcore-test-testRooBinSamplingPdf (Failed)
267 - gtest-roofit-roofitcore-test-testRooWrapperPdf (Failed)
269 - gtest-roofit-roofitcore-test-testRooAbsPdf (Failed)
273 - gtest-roofit-roofitcore-test-testRooProdPdf (Failed)
277 - gtest-roofit-roofitcore-test-testRooAbsReal (Failed)
279 - gtest-roofit-roofitcore-test-testTestStatistics (Failed)
280 - gtest-roofit-roofitcore-test-testGlobalObservables (Failed)
281 - gtest-roofit-roofitcore-test-testInterface (Failed)
282 - gtest-roofit-roofitcore-test-testLikelihoodSerial (Failed)
283 - gtest-roofit-roofitcore-test-testRooAbsL (Failed)
287 - gtest-roofit-roofitcore-test-testRooRealL (Failed)
290 - gtest-roofit-roofitcore-test-testRooSimultaneous (Failed)
292 - gtest-roofit-roofitcore-test-testSumW2Error (Failed)
294 - gtest-roofit-roofitcore-test-testLikelihoodGradientJob (Failed)
295 - gtest-roofit-roofitcore-test-testLikelihoodJob (Failed)
298 - gtest-roofit-roostats-test-testSPlot (Failed)

Here is an example failure:

 331/1268 Test  #292: gtest-roofit-roofitcore-test-testSumW2Error ...............................***Failed    0.58 sec
Running main() from /builddir/build/BUILD/googletest-1.14.0/googletest/src/gtest_main.cc
Note: Google Test filter = -RCsvDS.Remote:RRawFile.Remote:RSqliteDS.Davix:TChainParsing.RemoteGlob:TFile.ReadWithoutGlobalRegistrationNet:TFile.ReadWithoutGlobalRegistrationWeb:RNTuple.TClassEBO
[==========] Running 2 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 2 tests from SumW2Error
[ RUN      ] SumW2Error.BatchMode
/builddir/build/BUILD/root-6.30.02/core/testsupport/src/TestSupport.cxx:77: Failure
Failed
Received unexpected diagnostic of severity 2000 at 'RooNaNPacker' reading 'Fast recovery from undefined function values only implemented for little-endian machines. If necessary, request an extension of functionality on https://root.cern'.
Suppress those using ROOT/TestSupport.hxx
[  FAILED  ] SumW2Error.BatchMode (408 ms)
[ RUN      ] SumW2Error.ExtendedFit
[       OK ] SumW2Error.ExtendedFit (112 ms)
[----------] 2 tests from SumW2Error (521 ms total)
[----------] Global test environment tear-down
[==========] 2 tests from 1 test suite ran. (521 ms total)
[  PASSED  ] 1 test.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] SumW2Error.BatchMode
 1 FAILED TEST
CMake Error at /builddir/build/BUILD/root-6.30.02/cmake/modules/RootTestDriver.cmake:232 (message):
  error code: 1

Normally, when root issues a warning it is not fatal, and program execution continues. However, this is a test, and the ROOT::TestSupport installs a custum error handler that captures warnings and rethrow them as GTest failures. So it this contaext a warning is expected to generate a failure.

@jblomer jblomer dismissed their stale review January 8, 2024 13:31

Remaining part to be reviewed by guitargeek

@guitargeek
Copy link
Copy Markdown
Contributor

guitargeek commented May 20, 2024

Thanks for the explanation! Sorry for the late follow-up.

I'll backport this also to the 6.32 release branch.

@guitargeek guitargeek merged commit 6a64761 into root-project:master May 20, 2024
@ellert ellert deleted the ignore-warnings branch May 21, 2024 14:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants