Skip to content

c++20 related test filure on ix86 (32 bit intel) #20834

@ellert

Description

@ellert

Check duplicate issues.

  • Checked for duplicates

Description

Fedora rawhide recently upgraded to gcc 16, which uses c++20 as default.
There are 2 new test failures on ix86 (32 bit intel)

 219/1554 Test  #169: gtest-hist-hist-testTH3 .......................................................................***Failed    0.26 sec
Running main() from /builddir/build/BUILD/gtest-1.17.0-build/googletest-1.17.0/googletest/src/gtest_main.cc
Note: Google Test filter = -RNTuple.StdAtomic:RCsvDS.Remote:RFile.RemoteRead:RNTuple.OpenHTTP:RRawFile.Remote:RSqliteDS.Davix:TChainParsing.DoubleSlash:TChainParsing.RemoteGlob:TFile.ReadWithoutGlobalRegistrationNet:TFile.ReadWithoutGlobalRegistrationWeb:TTreeRegressions.PrintClustersRounding
[==========] Running 3 tests from 2 test suites.
[----------] Global test environment set-up.
[----------] 1 test from TH3L
[ RUN      ] TH3L.SetBinContent
[       OK ] TH3L.SetBinContent (0 ms)
[----------] 1 test from TH3L (0 ms total)
[----------] 2 tests from TH3D
[ RUN      ] TH3D.FillThreadSafe
/usr/include/c++/16/atomic:1772: std::atomic_ref<_Tp>::atomic_ref(_Tp&) [with _Tp = double]: Assertion '((unsigned int)this->_M_ptr % this->required_alignment) == 0' failed.
/usr/include/c++/16/atomic:1772: std::atomic_ref<_Tp>::atomic_ref(_Tp&) [with _Tp = double]: Assertion '((unsigned int)this->_M_ptr % this->required_alignment) == 0' failed.
CMake Error at /builddir/build/BUILD/root-6.38.00-build/root-6.38.00/cmake/modules/RootTestDriver.cmake:232 (message):
  error code: Subprocess aborted
589/1554 Test  #549: gtest-tree-dataframe-dataframe-helpers ........................................................***Failed    4.83 sec
Running main() from /builddir/build/BUILD/gtest-1.17.0-build/googletest-1.17.0/googletest/src/gtest_main.cc
Note: Google Test filter = -RNTuple.StdAtomic:RCsvDS.Remote:RFile.RemoteRead:RNTuple.OpenHTTP:RRawFile.Remote:RSqliteDS.Davix:TChainParsing.DoubleSlash:TChainParsing.RemoteGlob:TFile.ReadWithoutGlobalRegistrationNet:TFile.ReadWithoutGlobalRegistrationWeb:TTreeRegressions.PrintClustersRounding
[==========] Running 31 tests from 2 test suites.
[----------] Global test environment set-up.
[----------] 25 tests from RDFHelpers
[ -- successful tests removved -- ]
[ RUN      ] RDFHelpers.Histo3DThreadSafe
/usr/include/c++/16/atomic:1772: std::atomic_ref<_Tp>::atomic_ref(_Tp&) [with _Tp = double]: Assertion '((unsigned int)this->_M_ptr % this->required_alignment) == 0' failed.
/usr/include/c++/16/atomic:1772: std::atomic_ref<_Tp>::atomic_ref(_Tp&) [with _Tp = double]: Assertion '((unsigned int)this->_M_CMake Error at /builddir/build/BUILD/root-6.38.00-build/root-6.38.00/cmake/modules/RootTestDriver.cmake:232 (message):
  error code: Subprocess aborted

Both tests are related to TH3D class and thread safe filling, and fail with alignment problems for atomic_ref. which is a c++20 feature.

Reproducer

Build root 6.38.00 for ix86 with gcc 16. Run tests.

ROOT version

6.38.00

Installation method

built from source (rpm package build)

Operating system

Fedora Rawhide (Fedora 44) for 32 bit intel

Additional context

Compiler installed from Fedora rawhide rpm: gcc-c++-16.0.0-0.4.fc44.i686

Metadata

Metadata

Assignees

Type

No type

Projects

Status

No status

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions