facebook / folly

An open-source C++ library developed and used at Facebook.
https://groups.google.com/forum/?fromgroups#!forum/facebook-folly
Apache License 2.0
28.19k stars 5.54k forks source link

[powerpc] Some build errors and test results: issues to be addressed – threading, endianness #2128

Open barracuda156 opened 8 months ago

barracuda156 commented 8 months ago

Could someone help me a bit with an advice on the following? (I do not ask to fix it for me, but perhaps for someone who knows what the code does exactly, pointing out at the issue will be fairly easy.)

This is the error I get:

FAILED: CMakeFiles/small_locks_test.dir/folly/synchronization/test/SmallLocksTest.cpp.o 
/opt/local/bin/g++-mp-13 -DFMT_SHARED -DFOLLY_XLOG_STRIP_PREFIXES=\"/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00:/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/build\" -DGFLAGS_IS_A_DLL=0 -D_GNU_SOURCE -D_REENTRANT -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00 -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/build -I/opt/local/libexec/boost/1.81/include -I/opt/local/libexec/openssl3/include -isystem /opt/local/include -isystem /opt/local/include/libfmt10 -pipe -I/opt/local/libexec/openssl3/include -I/opt/local/libexec/boost/1.81/include -Os -std=c++17 -DFOLLY_ALLOW_TFO=0 -fpermissive -DNDEBUG -isystem/opt/local/include/LegacySupport -I/opt/local/libexec/openssl3/include -I/opt/local/libexec/boost/1.81/include -isystem/opt/local/include -Wno-undef-prefix -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -mmacosx-version-min=10.6 -fcoroutines -g -finput-charset=UTF-8 -fsigned-char -Wall -Wno-deprecated -Wno-deprecated-declarations -Wno-sign-compare -Wno-unused -Wuninitialized -Wunused-label -Wunused-result -Wshadow-compatible-local -Wno-noexcept-type -fopenmp -std=gnu++17 -MD -MT CMakeFiles/small_locks_test.dir/folly/synchronization/test/SmallLocksTest.cpp.o -MF CMakeFiles/small_locks_test.dir/folly/synchronization/test/SmallLocksTest.cpp.o.d -o CMakeFiles/small_locks_test.dir/folly/synchronization/test/SmallLocksTest.cpp.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp
In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/SmallLocks.h:39,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:17:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/PicoSpinLock.h: In instantiation of 'void folly::PicoSpinLock<IntType, Bit>::init(IntType) [with IntType = long long int; int Bit = 63]':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:96:24:   required from '{anonymous}::PslTest<T>::PslTest() [with T = long long int]'
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:114:14:   required from 'void {anonymous}::doPslTest() [with T = long long int]'
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:163:21:   required from here
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/PicoSpinLock.h:94:31: error: no match for call to '(const folly::make_atomic_ref_t) (folly::PicoSpinLock<long long int, 63>::UIntType&)'
   94 |     auto ref = make_atomic_ref(lock_);
      |                ~~~~~~~~~~~~~~~^~~~~~~
In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/PicoSpinLock.h:49:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:162:17: note: candidate: 'template<class T, typename std::enable_if<((is_trivially_copyable_v<T> && (sizeof (T) == sizeof (std::atomic<_ITp>))) && (__alignof__ (T) == __alignof__ (std::atomic<_ITp>))), int>::type <anonymous> > folly::atomic_ref<T> folly::make_atomic_ref_t::operator()(T&) const'
  162 |   atomic_ref<T> operator()(T& ref) const {
      |                 ^~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:162:17: note:   template argument deduction/substitution failed:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:161:18: error: no type named 'type' in 'struct std::enable_if<false, int>'
  161 |           int> = 0>
      |                  ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/PicoSpinLock.h: In instantiation of 'void folly::PicoSpinLock<IntType, Bit>::setData(IntType) [with IntType = long long int; int Bit = 63]':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:103:19:   required from 'void {anonymous}::PslTest<T>::doTest() [with T = long long int]'
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:119:35:   required from 'void {anonymous}::doPslTest() [with T = long long int]'
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:163:21:   required from here
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/PicoSpinLock.h:122:31: error: no match for call to '(const folly::make_atomic_ref_t) (folly::PicoSpinLock<long long int, 63>::UIntType&)'
  122 |     auto ref = make_atomic_ref(lock_);
      |                ~~~~~~~~~~~~~~~^~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:162:17: note: candidate: 'template<class T, typename std::enable_if<((is_trivially_copyable_v<T> && (sizeof (T) == sizeof (std::atomic<_ITp>))) && (__alignof__ (T) == __alignof__ (std::atomic<_ITp>))), int>::type <anonymous> > folly::atomic_ref<T> folly::make_atomic_ref_t::operator()(T&) const'
  162 |   atomic_ref<T> operator()(T& ref) const {
      |                 ^~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:162:17: note:   template argument deduction/substitution failed:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:161:18: error: no type named 'type' in 'struct std::enable_if<false, int>'
  161 |           int> = 0>
      |                  ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/PicoSpinLock.h: In instantiation of 'IntType folly::PicoSpinLock<IntType, Bit>::getData() const [with IntType = long long int; int Bit = 63]':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:106:9:   required from 'void {anonymous}::PslTest<T>::doTest() [with T = long long int]'
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:119:35:   required from 'void {anonymous}::doPslTest() [with T = long long int]'
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:163:21:   required from here
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/PicoSpinLock.h:109:31: error: no match for call to '(const folly::make_atomic_ref_t) (folly::PicoSpinLock<long long int, 63>::UIntType&)'
  109 |     auto ref = make_atomic_ref(lock_);
      |                ~~~~~~~~~~~~~~~^~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:162:17: note: candidate: 'template<class T, typename std::enable_if<((is_trivially_copyable_v<T> && (sizeof (T) == sizeof (std::atomic<_ITp>))) && (__alignof__ (T) == __alignof__ (std::atomic<_ITp>))), int>::type <anonymous> > folly::atomic_ref<T> folly::make_atomic_ref_t::operator()(T&) const'
  162 |   atomic_ref<T> operator()(T& ref) const {
      |                 ^~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:162:17: note:   template argument deduction/substitution failed:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:161:18: error: no type named 'type' in 'struct std::enable_if<false, int>'
  161 |           int> = 0>
      |                  ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/PicoSpinLock.h: In instantiation of 'void folly::PicoSpinLock<IntType, Bit>::init(IntType) [with IntType = long long unsigned int; int Bit = 63]':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:96:24:   required from '{anonymous}::PslTest<T>::PslTest() [with T = long long unsigned int]'
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:114:14:   required from 'void {anonymous}::doPslTest() [with T = long long unsigned int]'
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:164:22:   required from here
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/PicoSpinLock.h:94:31: error: no match for call to '(const folly::make_atomic_ref_t) (folly::PicoSpinLock<long long unsigned int, 63>::UIntType&)'
   94 |     auto ref = make_atomic_ref(lock_);
      |                ~~~~~~~~~~~~~~~^~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:162:17: note: candidate: 'template<class T, typename std::enable_if<((is_trivially_copyable_v<T> && (sizeof (T) == sizeof (std::atomic<_ITp>))) && (__alignof__ (T) == __alignof__ (std::atomic<_ITp>))), int>::type <anonymous> > folly::atomic_ref<T> folly::make_atomic_ref_t::operator()(T&) const'
  162 |   atomic_ref<T> operator()(T& ref) const {
      |                 ^~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:162:17: note:   template argument deduction/substitution failed:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:161:18: error: no type named 'type' in 'struct std::enable_if<false, int>'
  161 |           int> = 0>
      |                  ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/PicoSpinLock.h: In instantiation of 'void folly::PicoSpinLock<IntType, Bit>::setData(IntType) [with IntType = long long unsigned int; int Bit = 63]':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:103:19:   required from 'void {anonymous}::PslTest<T>::doTest() [with T = long long unsigned int]'
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:119:35:   required from 'void {anonymous}::doPslTest() [with T = long long unsigned int]'
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:164:22:   required from here
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/PicoSpinLock.h:122:31: error: no match for call to '(const folly::make_atomic_ref_t) (folly::PicoSpinLock<long long unsigned int, 63>::UIntType&)'
  122 |     auto ref = make_atomic_ref(lock_);
      |                ~~~~~~~~~~~~~~~^~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:162:17: note: candidate: 'template<class T, typename std::enable_if<((is_trivially_copyable_v<T> && (sizeof (T) == sizeof (std::atomic<_ITp>))) && (__alignof__ (T) == __alignof__ (std::atomic<_ITp>))), int>::type <anonymous> > folly::atomic_ref<T> folly::make_atomic_ref_t::operator()(T&) const'
  162 |   atomic_ref<T> operator()(T& ref) const {
      |                 ^~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:162:17: note:   template argument deduction/substitution failed:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:161:18: error: no type named 'type' in 'struct std::enable_if<false, int>'
  161 |           int> = 0>
      |                  ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/PicoSpinLock.h: In instantiation of 'IntType folly::PicoSpinLock<IntType, Bit>::getData() const [with IntType = long long unsigned int; int Bit = 63]':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:106:9:   required from 'void {anonymous}::PslTest<T>::doTest() [with T = long long unsigned int]'
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:119:35:   required from 'void {anonymous}::doPslTest() [with T = long long unsigned int]'
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:164:22:   required from here
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/PicoSpinLock.h:109:31: error: no match for call to '(const folly::make_atomic_ref_t) (folly::PicoSpinLock<long long unsigned int, 63>::UIntType&)'
  109 |     auto ref = make_atomic_ref(lock_);
      |                ~~~~~~~~~~~~~~~^~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:162:17: note: candidate: 'template<class T, typename std::enable_if<((is_trivially_copyable_v<T> && (sizeof (T) == sizeof (std::atomic<_ITp>))) && (__alignof__ (T) == __alignof__ (std::atomic<_ITp>))), int>::type <anonymous> > folly::atomic_ref<T> folly::make_atomic_ref_t::operator()(T&) const'
  162 |   atomic_ref<T> operator()(T& ref) const {
      |                 ^~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:162:17: note:   template argument deduction/substitution failed:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:161:18: error: no type named 'type' in 'struct std::enable_if<false, int>'
  161 |           int> = 0>
      |                  ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/PicoSpinLock.h: In instantiation of 'void folly::PicoSpinLock<IntType, Bit>::unlock() const [with IntType = long long int; int Bit = 63]':
/opt/local/include/gcc13/c++/bits/std_mutex.h:255:25:   required from 'std::lock_guard<_Mutex>::~lock_guard() [with _Mutex = folly::PicoSpinLock<long long int, 63>]'
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:102:40:   required from 'void {anonymous}::PslTest<T>::doTest() [with T = long long int]'
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:119:35:   required from 'void {anonymous}::doPslTest() [with T = long long int]'
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:163:21:   required from here
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/PicoSpinLock.h:156:31: error: no match for call to '(const folly::make_atomic_ref_t) (folly::PicoSpinLock<long long int, 63>::UIntType&)'
  156 |     auto ref = make_atomic_ref(lock_);
      |                ~~~~~~~~~~~~~~~^~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:162:17: note: candidate: 'template<class T, typename std::enable_if<((is_trivially_copyable_v<T> && (sizeof (T) == sizeof (std::atomic<_ITp>))) && (__alignof__ (T) == __alignof__ (std::atomic<_ITp>))), int>::type <anonymous> > folly::atomic_ref<T> folly::make_atomic_ref_t::operator()(T&) const'
  162 |   atomic_ref<T> operator()(T& ref) const {
      |                 ^~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:162:17: note:   template argument deduction/substitution failed:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:161:18: error: no type named 'type' in 'struct std::enable_if<false, int>'
  161 |           int> = 0>
      |                  ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/PicoSpinLock.h: In instantiation of 'void folly::PicoSpinLock<IntType, Bit>::unlock() const [with IntType = long long unsigned int; int Bit = 63]':
/opt/local/include/gcc13/c++/bits/std_mutex.h:255:25:   required from 'std::lock_guard<_Mutex>::~lock_guard() [with _Mutex = folly::PicoSpinLock<long long unsigned int, 63>]'
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:102:40:   required from 'void {anonymous}::PslTest<T>::doTest() [with T = long long unsigned int]'
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:119:35:   required from 'void {anonymous}::doPslTest() [with T = long long unsigned int]'
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:164:22:   required from here
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/PicoSpinLock.h:156:31: error: no match for call to '(const folly::make_atomic_ref_t) (folly::PicoSpinLock<long long unsigned int, 63>::UIntType&)'
  156 |     auto ref = make_atomic_ref(lock_);
      |                ~~~~~~~~~~~~~~~^~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:162:17: note: candidate: 'template<class T, typename std::enable_if<((is_trivially_copyable_v<T> && (sizeof (T) == sizeof (std::atomic<_ITp>))) && (__alignof__ (T) == __alignof__ (std::atomic<_ITp>))), int>::type <anonymous> > folly::atomic_ref<T> folly::make_atomic_ref_t::operator()(T&) const'
  162 |   atomic_ref<T> operator()(T& ref) const {
      |                 ^~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:162:17: note:   template argument deduction/substitution failed:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:161:18: error: no type named 'type' in 'struct std::enable_if<false, int>'
  161 |           int> = 0>
      |                  ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/PicoSpinLock.h: In instantiation of 'bool folly::PicoSpinLock<IntType, Bit>::try_lock_internal() const [with IntType = long long int; int Bit = 63]':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/PicoSpinLock.h:144:13:   required from 'void folly::PicoSpinLock<IntType, Bit>::lock() const [with IntType = long long int; int Bit = 63]'
/opt/local/include/gcc13/c++/bits/std_mutex.h:249:23:   required from 'std::lock_guard<_Mutex>::lock_guard(mutex_type&) [with _Mutex = folly::PicoSpinLock<long long int, 63>; mutex_type = folly::PicoSpinLock<long long int, 63>]'
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:102:40:   required from 'void {anonymous}::PslTest<T>::doTest() [with T = long long int]'
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:119:35:   required from 'void {anonymous}::doPslTest() [with T = long long int]'
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:163:21:   required from here
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/PicoSpinLock.h:166:31: error: no match for call to '(const folly::make_atomic_ref_t) (folly::PicoSpinLock<long long int, 63>::UIntType&)'
  166 |     auto ref = make_atomic_ref(lock_);
      |                ~~~~~~~~~~~~~~~^~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:162:17: note: candidate: 'template<class T, typename std::enable_if<((is_trivially_copyable_v<T> && (sizeof (T) == sizeof (std::atomic<_ITp>))) && (__alignof__ (T) == __alignof__ (std::atomic<_ITp>))), int>::type <anonymous> > folly::atomic_ref<T> folly::make_atomic_ref_t::operator()(T&) const'
  162 |   atomic_ref<T> operator()(T& ref) const {
      |                 ^~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:162:17: note:   template argument deduction/substitution failed:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:161:18: error: no type named 'type' in 'struct std::enable_if<false, int>'
  161 |           int> = 0>
      |                  ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/PicoSpinLock.h: In instantiation of 'bool folly::PicoSpinLock<IntType, Bit>::try_lock_internal() const [with IntType = long long unsigned int; int Bit = 63]':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/PicoSpinLock.h:144:13:   required from 'void folly::PicoSpinLock<IntType, Bit>::lock() const [with IntType = long long unsigned int; int Bit = 63]'
/opt/local/include/gcc13/c++/bits/std_mutex.h:249:23:   required from 'std::lock_guard<_Mutex>::lock_guard(mutex_type&) [with _Mutex = folly::PicoSpinLock<long long unsigned int, 63>; mutex_type = folly::PicoSpinLock<long long unsigned int, 63>]'
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:102:40:   required from 'void {anonymous}::PslTest<T>::doTest() [with T = long long unsigned int]'
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:119:35:   required from 'void {anonymous}::doPslTest() [with T = long long unsigned int]'
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/test/SmallLocksTest.cpp:164:22:   required from here
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/PicoSpinLock.h:166:31: error: no match for call to '(const folly::make_atomic_ref_t) (folly::PicoSpinLock<long long unsigned int, 63>::UIntType&)'
  166 |     auto ref = make_atomic_ref(lock_);
      |                ~~~~~~~~~~~~~~~^~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:162:17: note: candidate: 'template<class T, typename std::enable_if<((is_trivially_copyable_v<T> && (sizeof (T) == sizeof (std::atomic<_ITp>))) && (__alignof__ (T) == __alignof__ (std::atomic<_ITp>))), int>::type <anonymous> > folly::atomic_ref<T> folly::make_atomic_ref_t::operator()(T&) const'
  162 |   atomic_ref<T> operator()(T& ref) const {
      |                 ^~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:162:17: note:   template argument deduction/substitution failed:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:161:18: error: no type named 'type' in 'struct std::enable_if<false, int>'
  161 |           int> = 0>
      |                  ^

It seems that folly/synchronization/AtomicRef.h uses a kind of SFINAE, which does not work as intended either due to implicit assumption of 64-bit arch (so pointers and offsets are wrong) or due to incorrect assumption of bool and spinlock being equal to 1 byte (both are 4 byte on ppc). Any ideas and suggestions will be greatly appreciated.

barracuda156 commented 8 months ago

Perhaps this:

/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:31:28: error: static assertion failed: alignment mismatch
   31 |   static_assert(alignof(T) == alignof(std::atomic<T>), "alignment mismatch");
      |                 ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/synchronization/AtomicRef.h:31:28: note: the comparison reduces to '(4 == 8)'

Does not look great either:

In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/test/AHMIntStressTest.cpp:21:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.15.00/folly/AtomicHashMap.h:434:48: warning: conversion from 'long long unsigned int' to 'uintptr_t' {aka 'long unsigned int'} changes value from '38280596832649216' to '0' [-Woverflow]
  434 |   static const uintptr_t kLockedPtr_ = 0x88ULL << 48; // invalid pointer
      |                                        ~~~~~~~~^~~~~
Orvid commented 8 months ago

Generally speaking, folly only supports 64 bit architectures. There may be bits and pieces that work on 32-bit platforms, but overall Folly is entirely untested on them.

If the fixes needed to get it compiling on 32-bit PPC are reasonably small, we can probably accept a pull request.

barracuda156 commented 8 months ago

@Orvid I had the basic build fixed for ppc for quite some time (available via Macports and I have the PR here hanging for ages, though it is somewhat outdated by now), and last night actually fixed – well, kind of, since I had to skip some asserts and a few test cases – the build with tests added, however there is an issue with TreadId implementation at the moment, which shown up only when trying to run tests, and it may take a bit to fix it. I will try to find a workable solution, since after all I am curious to see whether we can get some tests passing and not just building.

barracuda156 commented 8 months ago

@Orvid I got tests running on ppc. Many failures (no surprise here), but many tests also pass. So far even better than I expected (it will take some time to complete, it seems). Some number of bus errors, I will need to look into logs to see if it is fixable (could be trivially fixable, could be not), a few tests fail on time-out.

I hacked pthreads for now, just setting FOLLY_HAS_PTHREAD_SETNAME_NP_NAME and FOLLY_HAS_PTHREAD_SETNAME_NP_THREAD_NAME to false and using a funny Emscripten fallback in ThreadId. I am sure it can be fixed in a better way, but let me wait to see how bad are overall results and what tends to be broken.

barracuda156 commented 8 months ago

@Orvid @pkubaj Preliminary test results from macOS 10.6 PowerPC (32-bit). Does not look too bad, IMO:

90% tests passed, 321 tests failed out of 3068

Total Test time (real) = 14223.86 sec

The following tests FAILED:
      1 - chrono_conv_test.Conv.timespecToStdChrono (Failed)
      2 - chrono_conv_test.Conv.timespecToStdChronoOverflow (Bus error)
      4 - chrono_conv_test.Conv.stdChronoToTimespec (Bus error)
      6 - chrono_conv_test.Conv.stdChronoToTimeval (Bus error)
    130 - f14_map_test.F14ValueMap.eraseIntoEmptyFromErase (Bus error)
    131 - f14_map_test.F14NodeMap.eraseIntoEmptyFromErase (Bus error)
    132 - f14_map_test.F14VectorMap.eraseIntoEmptyFromErase (Bus error)
    133 - f14_map_test.F14FastMap.eraseIntoEmptyFromErase (Bus error)
    134 - f14_map_test.F14ValueMap.eraseIntoEmptyFromReserve (Bus error)
    135 - f14_map_test.F14NodeMap.eraseIntoEmptyFromReserve (Bus error)
    136 - f14_map_test.F14VectorMap.eraseIntoEmptyFromReserve (Bus error)
    137 - f14_map_test.F14FastMap.eraseIntoEmptyFromReserve (Bus error)
    231 - f14_set_test.F14Set.ExceptionOnInsert (Bus error)
    243 - heap_vector_types_test.HeapVectorTypes.SimpleMapTest (Bus error)
    244 - heap_vector_types_test.HeapVectorTypes.SimpleSmallMapTest (Bus error)
    252 - heap_vector_types_test.HeapVectorTest.EmptyTest (SEGFAULT)
    436 - base64_detail_test.Base64RandomTest.RandomTest (Failed)
    444 - base64_detail_test.Base64.SpecialCases (Failed)
    478 - executor_test.Executor.ThrowableThen (Bus error)
    480 - executor_test.Executor.DoNothingExecutor (Bus error)
    500 - threaded_executor_test.ThreadedExecutorTest.many (Bus error)
    501 - threaded_executor_test.ThreadedExecutorTest.many_sleeping_constant_time (SEGFAULT)
    502 - threaded_executor_test.ThreadedExecutorTest.many_sleeping_decreasing_time (Bus error)
    536 - bits_test_2.Bits.ConcatenationUnalignedUnsigned (Failed)
    537 - bits_test_2.Bits.ConcatenationAligned (Failed)
    545 - dynamic_parser_test.TestDynamicParser.OnErrorThrowError (Bus error)
    547 - dynamic_parser_test.TestDynamicParser.TestKeyAndParseErrors (Bus error)
    548 - dynamic_parser_test.TestDynamicParser.TestRequiredOptionalParseErrors (Bus error)
    549 - dynamic_parser_test.TestDynamicParser.TestItemParseErrors (Bus error)
    550 - dynamic_parser_test.TestDynamicParser.TestErrorNesting (Bus error)
    551 - dynamic_parser_test.TestDynamicParser.TestRecordThrowOnDoubleParseErrors (Bus error)
    552 - dynamic_parser_test.TestDynamicParser.TestRecordThrowOnChangingValue (Bus error)
    559 - eliasfano_test.EliasFanoCodingTest.Simple32Bit (Bus error)
    560 - eliasfano_test.EliasFanoCodingTest.Simple64Bit (Timeout)
    561 - eliasfano_test.EliasFanoCodingTest.SimpleDense (Bus error)
    562 - eliasfano_test.EliasFanoCodingTest.SkipPointers32Bit (Timeout)
    563 - eliasfano_test.EliasFanoCodingTest.SkipPointers64Bit (Timeout)
    564 - eliasfano_test.EliasFanoCodingTest.SkipPointersDense (Bus error)
    565 - eliasfano_test.EliasFanoCodingTest.ForwardPointers32Bit (Timeout)
    566 - eliasfano_test.EliasFanoCodingTest.ForwardPointers64Bit (Bus error)
    567 - eliasfano_test.EliasFanoCodingTest.ForwardPointersDense (Timeout)
    568 - eliasfano_test.EliasFanoCodingTest.SkipForwardPointers32Bit (Bus error)
    569 - eliasfano_test.EliasFanoCodingTest.SkipForwardPointers64Bit (Timeout)
    570 - eliasfano_test.EliasFanoCodingTest.SkipForwardPointersDense (Timeout)
    571 - eliasfano_test.EliasFanoCodingTest.BugLargeGapInUpperBits (Failed)
    581 - future_dag_test.FutureDAGTest.ThrowBegin (Bus error)
    582 - future_dag_test.FutureDAGTest.ThrowEnd (Bus error)
    583 - future_dag_test.FutureDAGTest.Cycle1 (Bus error)
    584 - future_dag_test.FutureDAGTest.Cycle2 (Bus error)
    585 - future_dag_test.FutureDAGTest.Cycle3 (Bus error)
    611 - json_schema_test.JSONSchemaTest.TestInfinitelyRecursiveRef (Bus error)
    625 - json_schema_test.JSONSchemaTest.TestMetaSchema (Bus error)
    630 - lock_free_ring_buffer_test.LockFreeRingBuffer.writesNeverFail (SEGFAULT)
    663 - test_util_test.TemporaryFile.NoSuchPath (Bus error)
    677 - fs_util_test.Simple.Path (Bus error)
    690 - async_file_writer_test.AsyncFileWriter.ioError (Bus error)
    692 - async_file_writer_test.AsyncFileWriter.discard (Failed)
    693 - async_file_writer_test.AsyncFileWriter.fork (Timeout)
    696 - config_parser_test.LogConfig.parseBasicErrors (Bus error)
    698 - config_parser_test.LogConfig.parseJsonErrors (Bus error)
    702 - config_update_test.ConfigUpdate.updateConfig (Bus error)
    710 - file_handler_factory_test.FileHandlerFactory.errors (Bus error)
    711 - file_handler_factory_test.StreamHandlerFactory.errors (Bus error)
    713 - file_handler_factory_test.StreamHandlerFactory.writerFactoryError (Bus error)
    741 - log_level_test.LogLevel.fromString (Bus error)
    763 - xlog_test.XlogTest.rateLimitingEndOfThread (SEGFAULT)
    851 - collect_test.Collect.collect (Bus error)
    857 - collect_test.Collect.parallelWithError (Bus error)
    859 - collect_test.Collect.allParallelWithError (SEGFAULT)
    861 - collect_test.Collect.collectNParallel (Bus error)
    866 - collect_test.Collect.collectAllVariadicWithException (Bus error)
    869 - collect_test.Collect.collectVariadicWithException (Bus error)
    872 - collect_test.Collect.CollectVariadicWithDestroyedWeakRef (Bus error)
    873 - collect_test.Collect.CollectRangeWithDestroyedWeakRef (Bus error)
    876 - ensure_test.Ensure.basic (Bus error)
    877 - ensure_test.Ensure.mutableLambda (Bus error)
    879 - filter_test.Filter.alwaysFalse (Bus error)
    891 - future_test.Future.makeEmpty (Bus error)
    902 - future_test.Future.hasPreconditionValid (Bus error)
    905 - future_test.Future.thenError (Bus error)
    911 - future_test.Future.thenValue (Bus error)
    919 - future_test.Future.value (Bus error)
    921 - future_test.Future.futureNotReady (Bus error)
    924 - future_test.Future.makeFuture (Bus error)
    929 - future_test.Future.throwIfFailed (Bus error)
    931 - future_test.Future.getFutureAfterSetException (Bus error)
    943 - future_test.Future.futureWithinNoValueReferenceWhenTimeOut (Bus error)
    950 - future_test.Future.SimpleTimedGet (Bus error)
    951 - future_test.Future.SimpleTimedGetTry (Bus error)
    954 - interrupt_test.Interrupt.raise (Bus error)
    955 - interrupt_test.Interrupt.cancel (Bus error)
    981 - non_copyable_lambda_test.NonCopyableLambda.Function (Bus error)
    982 - non_copyable_lambda_test.NonCopyableLambda.FunctionConst (Bus error)
    994 - promise_test.Promise.hasPreconditionValid (Bus error)
    999 - promise_test.Promise.setException (Bus error)
    1000 - promise_test.Promise.setWith (Bus error)
    1008 - reduce_test.Reduce.unorderedReduceException (Bus error)
    1013 - retrying_test.RetryingTest.futureFactoryThrows (Bus error)
    1014 - retrying_test.RetryingTest.futureFactoryThrowsUnsafe (Bus error)
    1015 - retrying_test.RetryingTest.policyThrows (Bus error)
    1016 - retrying_test.RetryingTest.policyThrowsUnsafe (Bus error)
    1050 - shared_promise_test.SharedPromise.InterruptHandlerSetsException (Bus error)
    1068 - timekeeper_test.TimekeeperBase.FutureSleepHandlesNullTimekeeperSingleton (Bus error)
    1069 - timekeeper_test.TimekeeperBase.FutureWithinHandlesNullTimekeeperSingleton (Bus error)
    1070 - timekeeper_test.TimekeeperBase.SemiFutureWithinHandlesNullTimekeeperSingleton (Bus error)
    1072 - timekeeper_test.TimekeeperBase.SemiFutureWithinInlineAfter (Bus error)
    1077 - times_test.Times.semiFutureFailure (Bus error)
    1083 - via_test.Via.exceptionOnLaunch (Bus error)
    1097 - via_test.Via.SimpleTimedGetVia (Bus error)
    1099 - via_test.Via.SimpleTimedGetTryVia (Bus error)
    1102 - via_test.Via.viaDummyExecutorFutureSetValueFirst (Bus error)
    1103 - via_test.Via.viaDummyExecutorFutureSetCallbackFirst (Bus error)
    1104 - via_test.Via.viaExecutorDiscardsTaskFutureSetValueFirst (Bus error)
    1105 - via_test.Via.viaExecutorDiscardsTaskFutureSetCallbackFirst (Bus error)
    1108 - via_test.ViaFunc.exception (Bus error)
    1122 - wait_test.Wait.cancelAfterWait (Bus error)
    1128 - while_do_test.WhileDo.semiFutureFailure (Bus error)
    1137 - window_test.Window.parallelWithError (Bus error)
    1138 - window_test.Window.allParallelWithError (Bus error)
    1141 - window_test.WindowExecutor.parallelWithError (Bus error)
    1142 - window_test.WindowExecutor.allParallelWithError (Bus error)
    1151 - parallel_map_test.Pmap.Exception (Bus error)
    1157 - checksum_test.Checksum.crc32cSoftware (Failed)
    1158 - checksum_test.Checksum.crc32cContinuationSoftware (Failed)
    1162 - checksum_test.Checksum.crc32cAutodetect (Failed)
    1163 - checksum_test.Checksum.crc32cContinuationAutodetect (Failed)
    1172 - hash_test.Hash.Fnv64 (Failed)
    1173 - hash_test.Hash.Hsieh32 (Failed)
    1211 - spooky_hash_v1_test.SpookyHashV1.Main (Subprocess aborted)
    1212 - spooky_hash_v2_test.SpookyHashV2.Main (Subprocess aborted)
    1216 - iobuf_test.IOBuf.TakeOwnershipFreeOnErrorBugfix (Bus error)
    1221 - iobuf_test.IOBuf.Chaining (Bus error)
    1253 - iobuf_test.IOBuf.bufferTooLarge (Bus error)
    1254 - iobuf_test.IOBuf.copyConstructBufferTooLarge (Bus error)
    1261 - iobuf_cursor_test.IOBuf.Cursor (Bus error)
    1263 - iobuf_cursor_test.IOBuf.PullAndPeek (Bus error)
    1265 - iobuf_cursor_test.IOBuf.pushCursorData (Bus error)
    1266 - iobuf_cursor_test.IOBuf.Gather (Bus error)
    1267 - iobuf_cursor_test.IOBuf.cloneAndInsert (Bus error)
    1272 - iobuf_cursor_test.IOBuf.QueueAppender (Bus error)
    1279 - iobuf_cursor_test.IOBuf.CursorOperators (Bus error)
    1280 - iobuf_cursor_test.IOBuf.StringOperations (Bus error)
    1284 - iobuf_cursor_test.IOBuf.TestRetreatSingle (Bus error)
    1285 - iobuf_cursor_test.IOBuf.TestRetreatMulti (Bus error)
    1287 - iobuf_cursor_test.IOBuf.tryRead (Failed)
    1291 - iobuf_cursor_test.IOBuf.readConsumesAllInputOnFailure (Bus error)
    1294 - iobuf_cursor_test.IOBuf.BoundedCursorSanity (Bus error)
    1295 - iobuf_cursor_test.IOBuf.BoundedCursorOperators (Bus error)
    1296 - iobuf_cursor_test.IOBuf.BoundedCursorPullAndPeek (Bus error)
    1308 - iobuf_queue_test.IOBufQueue.Split (Bus error)
    1367 - NotificationQueueTest.NotificationQueueTest.ConsumeUntilDrained (Bus error)
    1368 - NotificationQueueTest.NotificationQueueTest.ConsumeUntilDrainedStress (Bus error)
    1372 - NotificationQueueTest.NotificationQueueTest.MaxQueueSizeEventFD (Bus error)
    1378 - NotificationQueueTest.NotificationQueueTest.MaxQueueSizePipe (Bus error)
    1396 - RequestContextTest.RequestContextTest.ThreadId (Bus error)
    1433 - lang_bits_test.Bits.PartialLoadUnaligned (Failed)
    1475 - lang_exception_test.ExceptionTest.throw_exception_direct (Bus error)
    1476 - lang_exception_test.ExceptionTest.throw_exception_variadic (Bus error)
    1477 - lang_exception_test.ExceptionTest.terminate_with_direct (Failed)
    1478 - lang_exception_test.ExceptionTest.terminate_with_variadic (Failed)
    1482 - lang_exception_test.ExceptionTest.rethrow_current_exception (Bus error)
    1497 - lang_ordering_test.OrderingTest.partial_ordering (Bus error)
    1567 - arena_test.Arena.SizeLimit (Bus error)
    1568 - arena_test.Arena.ExtremeSize (Bus error)
    1628 - time-test.Time.clockGettimeMonotonicAreWithin120SecsOfStdChronoSteadyClock (Failed)
    1640 - openssl_hash_test.OpenSSLHashTest.digest_update_without_init_throws (Bus error)
    1641 - openssl_hash_test.OpenSSLHashTest.digest_final_without_init_throws (Bus error)
    1651 - openssl_hash_test.OpenSSLHashTest.hmac_update_without_init_throws (Bus error)
    1652 - openssl_hash_test.OpenSSLHashTest.hmac_final_without_init_throws (Bus error)
    1711 - timeseries_test.BucketedTimeSeries.reConstructWithCorruptedData (Bus error)
    1735 - call_once_test.FollyCallOnce/*.Exception (Bus error)
    1737 - call_once_test.FollyCallOnce/*.Lazy (Bus error)
    1747 - lifo_sem_test.LifoSemTest.shutdown_wait_order (Bus error)
    1748 - lifo_sem_test.LifoSemTest.shutdown_multi (SEGFAULT)
    1751 - lifo_sem_test.LifoSemTest.timeout (SEGFAULT)
    1837 - thread_id_test.ThreadId.getOSThreadID (Failed)
    1841 - atomic_struct_test.AtomicStruct.twoBy32 (Failed)
    1892 - atomic_hash_array_test.Aha.ZeroSizeMapThrows (Bus error)
    1900 - atomic_unordered_map_test.AtomicUnorderedInsertMapTest/*.basic (Failed)
    1903 - atomic_unordered_map_test.AtomicUnorderedInsertMapTest/*.valueMutation (Failed)
    1905 - atomic_unordered_map_test.AtomicUnorderedInsertMap.DISABLEDMegaMap (Failed)
    1906 - base64_test.Base64Test.NormalTest (Bus error)
    1965 - conv_test.Conv.Floating2Floating (Bus error)
    1967 - conv_test.Conv.String2Integral (Bus error)
    1970 - conv_test.Conv.BadStringToIntegral (Bus error)
    1977 - conv_test.Conv.StringPieceToDouble (Bus error)
    1978 - conv_test.Conv.EmptyStringToInt (Bus error)
    1980 - conv_test.Conv.EmptyStringToDouble (Bus error)
    1981 - conv_test.Conv.IntToDouble (Bus error)
    1982 - conv_test.Conv.DoubleToInt (Bus error)
    1984 - conv_test.Conv.EnumToInt (Bus error)
    1986 - conv_test.Conv.IntToEnum (Bus error)
    1987 - conv_test.Conv.UnsignedEnum (Bus error)
    1988 - conv_test.Conv.UnsignedEnumClass (Bus error)
    1991 - conv_test.Conv.StringToBool (Bus error)
    1993 - conv_test.Conv.FloatToInt (Bus error)
    1994 - conv_test.Conv.IntToFloat (Bus error)
    1999 - conv_test.Conv.ConversionErrorStrToBool (Bus error)
    2000 - conv_test.Conv.ConversionErrorStrToFloat (Bus error)
    2001 - conv_test.Conv.ConversionErrorStrToInt (Bus error)
    2002 - conv_test.Conv.ConversionErrorPtrPairToInt (Bus error)
    2003 - conv_test.Conv.ConversionErrorIntToInt (Bus error)
    2004 - conv_test.Conv.ConversionErrorFloatToFloat (Bus error)
    2005 - conv_test.Conv.ConversionErrorIntToFloat (Bus error)
    2006 - conv_test.Conv.ConversionErrorFloatToInt (Bus error)
    2032 - discriminated_ptr_test.DiscriminatedPtr.Basic (Failed)
    2033 - discriminated_ptr_test.DiscriminatedPtr.Apply (Failed)
    2034 - discriminated_ptr_test.DiscriminatedPtr.ApplyVoid (Bus error)
    2036 - dynamic_test.Dynamic.ObjectBasics (Bus error)
    2039 - dynamic_test.Dynamic.ObjectHeterogeneousAccess (Bus error)
    2043 - dynamic_test.Dynamic.ArrayErase (Bus error)
    2045 - dynamic_test.Dynamic.ArrayBasics (Bus error)
    2046 - dynamic_test.Dynamic.Reserve (Bus error)
    2049 - dynamic_test.Dynamic.Operator (Bus error)
    2050 - dynamic_test.Dynamic.ComparisonOperatorsOnNotEqualValuesOfAllTypes (Bus error)
    2051 - dynamic_test.Dynamic.ComparisonOperatorsOnSameValuesOfSameTypes (Bus error)
    2052 - dynamic_test.Dynamic.ComparisonOperatorsForNumericallyEqualIntAndDoubles (Bus error)
    2057 - dynamic_test.Dynamic.Conversions (Bus error)
    2058 - dynamic_test.Dynamic.GetSetDefaultTest (Bus error)
    2085 - dynamic_test.Dynamic.JSONPointer (Bus error)
    2106 - dynamic_converter_test.DynamicConverter.errors (Bus error)
    2108 - dynamic_converter_test.DynamicConverter.asanExceptionCaseUmap (Bus error)
    2109 - dynamic_converter_test.DynamicConverter.asanExceptionCaseUset (Bus error)
    2110 - dynamic_converter_test.DynamicConverter.doubleDestroy (Bus error)
    2113 - dynamic_other_test.Dynamic.StringPtrs (Bus error)
    2114 - dynamic_other_test.Dynamic.Getters (Bus error)
    2129 - exception_test.ExceptionTest.Simple (Bus error)
    2132 - exception_wrapper_test.ExceptionWrapper.throwTest (Bus error)
    2133 - exception_wrapper_test.ExceptionWrapper.throwWithNested (Bus error)
    2137 - exception_wrapper_test.ExceptionWrapper.getOrMakeExceptionPtrTest (Bus error)
    2142 - exception_wrapper_test.ExceptionWrapper.withSharedPtrTest (Bus error)
    2143 - exception_wrapper_test.ExceptionWrapper.withExceptionPtrExnTest (Bus error)
    2144 - exception_wrapper_test.ExceptionWrapper.withExceptionPtrAnyTest (Bus error)
    2145 - exception_wrapper_test.ExceptionWrapper.withNonStdExceptionTest (Bus error)
    2146 - exception_wrapper_test.ExceptionWrapper.withExceptionPtrAnyNilTest (Bus error)
    2152 - exception_wrapper_test.ExceptionWrapper.nonStdExceptionTest (Bus error)
    2155 - exception_wrapper_test.ExceptionWrapper.implicitConstruction (Bus error)
    2160 - exception_wrapper_test.ExceptionWrapper.handleStdExceptionPropagated (Bus error)
    2162 - exception_wrapper_test.ExceptionWrapper.handleNonStdExceptionBig (Bus error)
    2188 - expected_test.Expected.Exceptions (Bus error)
    2196 - expected_test.Expected.ThenOrThrow (Bus error)
    2203 - fbstring_test.FBString.testAllClauses (Bus error)
    2209 - fbstring_test.FBString.testConstructionFromLiteralZero (Bus error)
    2240 - fbstring_test.FBString.OverLarge (Bus error)
    2242 - fbvector_test.fbvector.clause233613Ambiguity (Failed)
    2243 - fbvector_test.fbvector.clause2336111Ambiguity (Failed)
    2245 - fbvector_test.fbvector.clause23364Ambiguity (Failed)
    2246 - fbvector_test.fbvector.composition (Bus error)
    2247 - fbvector_test.fbvector.worksWithStdString (SEGFAULT)
    2249 - fbvector_test.fbvector.moveConstruction (Failed)
    2250 - fbvector_test.fbvector.emplace (SEGFAULT)
    2262 - fbvector_test.FBVector.overflowConstruct (Bus error)
    2263 - fbvector_test.FBVector.overflowResize (Bus error)
    2264 - fbvector_test.FBVector.overflowAssign (Bus error)
    2265 - fbvector_test.FBVector.zeroInit (Failed)
    2271 - file_test.File.UsefulError (Bus error)
    2274 - file_test.File.DupCloseOnExec (Failed)
    2275 - file_test.File.HelperCtor (Bus error)
    2291 - file_util_test.WriteFileAtomic.directoryPermissions (Failed)
    2315 - fixed_string_test.FixedStringIndexTest.Index (Bus error)
    2351 - format_other_test.FormatOther.dynamic (Bus error)
    2357 - format_test.Format.Simple (SEGFAULT)
    2364 - format_test.Format.Unformatted (Bus error)
    2366 - format_test.Format.OutOfBounds (SEGFAULT)
    2367 - format_test.Format.BogusFormatString (Bus error)
    2375 - function_ref_test.FunctionRef.DefaultConstructAndAssign (Bus error)
    2377 - function_ref_test.FunctionRef.Emptiness (Bus error)
    2410 - json_test.Json.Parse (Bus error)
    2412 - json_test.Json.DuplicateKeys (Bus error)
    2413 - json_test.Json.ParseConvertInt (Bus error)
    2414 - json_test.Json.PrintConvertInt (SEGFAULT)
    2415 - json_test.Json.ParseTrailingComma (Bus error)
    2417 - json_test.Json.JavascriptSafe (Bus error)
    2418 - json_test.Json.Produce (SEGFAULT)
    2419 - json_test.Json.PrintExceptionErrorMessages (Bus error)
    2422 - json_test.Json.JsonNonAsciiEncoding (SEGFAULT)
    2424 - json_test.Json.UTF8EncodeNonAsciiRetention (SEGFAULT)
    2425 - json_test.Json.UTF8Validation (SEGFAULT)
    2426 - json_test.Json.ParseNonStringKeys (Bus error)
    2427 - json_test.Json.ParseDoubleFallback (Bus error)
    2428 - json_test.Json.ParseNumbersAsStrings (Bus error)
    2432 - json_test.Json.RecursionLimit (Bus error)
    2443 - json_patch_test.JsonPatchTest.FromNotFound (Bus error)
    2467 - map_util_test.MapUtil.getOrThrow (Bus error)
    2468 - map_util_test.MapUtil.getOrThrowSpecified (Bus error)
    2521 - memory_test.SysAllocator.badAlloc (Failed)
    2526 - memory_test.AlignedSysAllocator.badAllocFixed (Failed)
    2531 - memory_test.AlignedSysAllocator.badAllocDefault (Failed)
    2534 - memory_test.allocateUnique.ctorFailure (Bus error)
    2577 - optional_test.Optional.Exceptions (Bus error)
    2597 - random_test.Random.MultiThreaded (SEGFAULT)
    2609 - range_test.StringPiece.InvalidRange (Bus error)
    2616 - range_test.StringPiece.erase (Bus error)
    2631 - range_test.NeedleFinderTest/*.NoSegFault (Bus error)
    2651 - range_test.ReplaceAll.BadArg (Bus error)
    2700 - scope_guard_test.ScopeGuard.TESTScopeFailExceptionPtr (Bus error)
    2705 - small_vector_test.smallVector.BasicGuarantee (Bus error)
    2717 - small_vector_test.smallVector.NoHeap (Bus error)
    2743 - small_vector_test.smallVector.NoHeapStorageForSortedVectorMap (Bus error)
    2745 - small_vector_test.smallVector.NoHeapStorageForSortedVectorSet (Bus error)
    2753 - small_vector_test.smallVector.PolicyMaxSizeExceeded (Bus error)
    2755 - small_vector_test.smallVector.overflowConstruct (Bus error)
    2756 - small_vector_test.smallVector.overflowResize (Bus error)
    2757 - small_vector_test.smallVector.overflowAssign (Bus error)
    2758 - small_vector_test.smallVector.rangeConstructorForwardIteratorThrows (Bus error)
    2759 - small_vector_test.smallVector.rangeConstructorInputIteratorThrows (Bus error)
    2767 - sorted_vector_types_test.SortedVectorTypes.SimpleMapTest (Bus error)
    2774 - sorted_vector_types_test.SortedVectorTest.EmptyTest (Bus error)
    2817 - string_test.Escape.cUnescape (Bus error)
    2819 - string_test.Escape.uriUnescape (Bus error)
    2822 - string_test.Escape.uriUnescapePercentDecoding (Bus error)
    2824 - string_test.PrettyToDouble.Basic (Bus error)
    2836 - string_test.Split.fixedConvertCustom (Bus error)
    2839 - string_test.String.unhexlify (Bus error)
    2874 - synchronized_test.SynchronizedTimedTest/*.Timed (Bus error)
    2999 - try_test.Try.ValueOverloads (Bus error)
    3007 - try_test.Try.exception (Bus error)
    3023 - uri_test.Uri.Simple (Bus error)
    3024 - uri_test.Uri.BadPortThrowsInvalidArgument (Bus error)
    3050 - lt_hash_test.LtHashTest/*.setChecksumFailure (Bus error)
    3068 - singleton_thread_local_test.SingletonThreadLocalDeathTest.Overload (Bus error)
Errors while running CTest

For the context, on macOS 14.2.1 arm64 I got 91% passing, 279 failures, and I had to remove one test since it was simply freezing.

barracuda156 commented 8 months ago

The log from tests is almost 7 GB, my PowerMac refuses to even open it

Few quick notes before digging into it further:

  1. f14_map_test fail on Sonoma arm64, so assume broken either for macOS or at least for non-x86.
  2. base64_detail_test, eliasfano_test, DiscriminatedPtr are expected to fail on Big-endian platforms, since the code comments explicitly mention that. So this is a known bug.
  3. thread_id_test – related to the issue I mentioned above and with which I struggled some hours (no proper solution yet, just a hack to fix running tests, initially everything segfaulted), so expected to fail right now, but should be fixable.
  4. atomic_unordered_map_test something of these kills Sonoma, freezing the run completely, so again, likely just broken for macOS.

Anything mentioning overflow is not surprising, since this is 32-bit arch. Tests using long double will likely fail since, I would believe, nothing accounts for IBM format of those.

To be updated.

barracuda156 commented 8 months ago

@Orvid Unfortunately, most of the failures produce no meaningful output in logs, so to figure out what fails I will need perhaps to run those separately via GDB.

However, I will summarize below meaningful failures. Gonna make it similar-problem-per-comment to make it readable, dropping repeated error messages.

barracuda156 commented 8 months ago
  1. This one perhaps fails due to precision of 32-bit platform?
    
    1/3068 Testing: chrono_conv_test.Conv.timespecToStdChrono
    1/3068 Test: chrono_conv_test.Conv.timespecToStdChrono
    Command: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/build/chrono_conv_test" "--gtest_filter=Conv.timespecToStdChrono"
    Directory: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00
    "chrono_conv_test.Conv.timespecToStdChrono" start time: Jan 24 14:36 CST
    Output:
    ----------------------------------------------------------
    Note: Google Test filter = Conv.timespecToStdChrono
    [==========] Running 1 test from 1 test suite.
    [----------] Global test environment set-up.
    [----------] 1 test from Conv
    [ RUN      ] Conv.timespecToStdChrono
    /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/chrono/test/ConvTest.cpp:67: Failure
    Expected equality of these values:
    8219876543LL
    Which is: 8219876543
    to<nanoseconds>(ts).count()
    Which is: 3924909247

/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/chrono/test/ConvTest.cpp:68: Failure Expected equality of these values: 8219876us Which is: 8-byte object <00-00 00-00 00-7D 6C-E4> to(ts) Which is: 8-byte object <00-00 00-00 00-3B E3-AD>

/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/chrono/test/ConvTest.cpp:69: Failure Expected equality of these values: 8219ms Which is: 8-byte object <00-00 00-00 00-00 20-1B> to(ts) Which is: 8-byte object <00-00 00-00 00-00 0F-54>

/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/chrono/test/ConvTest.cpp:70: Failure Expected equality of these values: 8s Which is: 8-byte object <00-00 00-00 00-00 00-08> to(ts) Which is: 8-byte object <00-00 00-00 00-00 00-03>

/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/chrono/test/ConvTest.cpp:71: Failure Expected equality of these values: createTimePoint(nanoseconds(8219876543LL)) Which is: 8-byte object <00-00 00-01 E9-F1 5C-BF> to(ts) Which is: 8-byte object <00-00 00-00 E9-F1 5C-BF>

/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/chrono/test/ConvTest.cpp:74: Failure Expected equality of these values: createTimePoint(nanoseconds(8219876543LL)) Which is: 8-byte object <00-00 00-01 E9-F1 5C-BF> to(ts) Which is: 8-byte object <00-00 00-00 E9-F1 5C-BF>

[ FAILED ] Conv.timespecToStdChrono (3 ms) [----------] 1 test from Conv (3 ms total)

[----------] Global test environment tear-down [==========] 1 test from 1 test suite ran. (4 ms total) [ PASSED ] 0 tests. [ FAILED ] 1 test, listed below: [ FAILED ] Conv.timespecToStdChrono

1 FAILED TEST

Also, there is no real monotonic clock on older macOS, and Macports provides a drop-in implementation which relies on what is actually available in the kernel. It is a compromise and cannot serve as a 100% substitute. This could be another reason.
(Should I just force configure to assume there is no OS support for `clock_gettime`? Since currently it detects it as being present, since Macports’ `legacysupport` provides it.)

2. This complains re precision:

2/3068 Testing: chrono_conv_test.Conv.timespecToStdChronoOverflow 2/3068 Test: chrono_conv_test.Conv.timespecToStdChronoOverflow Command: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/build/chrono_conv_test" "--gtest_filter=Conv.timespecToStdChronoOverflow" Directory: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00 "chrono_conv_test.Conv.timespecToStdChronoOverflow" start time: Jan 24 14:36 CST Output:

Note: Google Test filter = Conv.timespecToStdChronoOverflow [==========] Running 1 test from 1 test suite. [----------] Global test environment set-up. [----------] 1 test from Conv [ RUN ] Conv.timespecToStdChronoOverflow I20240124 14:36:57.706895 21644296 ConvTest.cpp:156] skipping most overflow tests: time_t is not int64_t

Test time = 38.30 sec ---------------------------------------------------------- Test Failed. ``` Perhaps related as well: ``` 1628/3068 Testing: time-test.Time.clockGettimeMonotonicAreWithin120SecsOfStdChronoSteadyClock 1628/3068 Test: time-test.Time.clockGettimeMonotonicAreWithin120SecsOfStdChronoSteadyClock Command: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/build/time-test" "--gtest_filter=Time.clockGettimeMonotonicAreWithin120SecsOfStdChronoSteadyClock" Directory: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00 "time-test.Time.clockGettimeMonotonicAreWithin120SecsOfStdChronoSteadyClock" start time: Jan 24 16:59 CST Output: ---------------------------------------------------------- Note: Google Test filter = Time.clockGettimeMonotonicAreWithin120SecsOfStdChronoSteadyClock [==========] Running 1 test from 1 test suite. [----------] Global test environment set-up. [----------] 1 test from Time [ RUN ] Time.clockGettimeMonotonicAreWithin120SecsOfStdChronoSteadyClock /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/portability/test/TimeTest.cpp:56: Failure Value of: AreWithinSecs( gettimeResult, stdChronoSteadyClockNow, kAcceptableDeltaSecs) Actual: false (61135426510000 and 1706086795426621000 are not within 120 secs of each other) Expected: true [ FAILED ] Time.clockGettimeMonotonicAreWithin120SecsOfStdChronoSteadyClock (1 ms) [----------] 1 test from Time (2 ms total) [----------] Global test environment tear-down [==========] 1 test from 1 test suite ran. (3 ms total) [ PASSED ] 0 tests. [ FAILED ] 1 test, listed below: [ FAILED ] Time.clockGettimeMonotonicAreWithin120SecsOfStdChronoSteadyClock 1 FAILED TEST Test time = 0.10 sec ---------------------------------------------------------- Test Failed. ```
barracuda156 commented 8 months ago
  1. Base64 test-cases, expected to fail on Big-endian platforms.
    
    436/3068 Testing: base64_detail_test.Base64RandomTest.RandomTest
    436/3068 Test: base64_detail_test.Base64RandomTest.RandomTest
    Command: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/build/base64_detail_test" "--gtest_filter=Base64RandomTest.RandomTest"
    Directory: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00
    "base64_detail_test.Base64RandomTest.RandomTest" start time: Jan 24 14:47 CST
    Output:
    ----------------------------------------------------------
    Note: Google Test filter = Base64RandomTest.RandomTest
    [==========] Running 1 test from 1 test suite.
    [----------] Global test environment set-up.
    [----------] 1 test from Base64RandomTest
    [ RUN      ] Base64RandomTest.RandomTest
    /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/detail/base64_detail/tests/Base64AgainstScalarTest.cpp:114: Failure
    Expected equality of these values:
    bytes
    Which is: "\"\xE7\xD5 \xF8\xE9" "8\xA1N\x18\x8CG0\x8C\xFE\xF5\xFF\xF7\xF7(\xB9\xF8\xFB\xF5\x1C|\xCC\xCCL$\x1k\x1C\xEA\xA3\xCA\xE0\xF5\x80\xA7\xCC\t\\\xD9" "6\xEF\xAE\xAD" "f\xC1\xBD\xBEydl\xA7,+M\xB4\xCC\bQF\xDF\v&\x18\xFE\xD2\xD2\xB1 Q\xC3\xF3}\b\xA9p a5\xC3\r\xCB\t/h}ur|\xA5\xCB\xB5\xEB\xC1\xCE" "F\xB4\xAE\0\xA7\xB5)\xA4\x1Et\x7F\xC6\xF5\x92W\xE0\x95\xCE" "9\x4\xC0\xD2" "A\xD2\x81\xF0\xB2i\xE4l\xF5\x94\x8C(#\xC3&:A\xCF\xD7\xFD" "AU\xD0L>\x3\xED" "7Y\xE8" "2\xD9@\xF4\x9D\xC7y\xFCZ\x11\xD4\xCB\x95\x98\x8C\xBB\xEA\xB1I\xAE\xC1" "d\xC0\x8F" "a5\x91\x87\x13g\rZ\x87\x97\xC7[\xEF\xF7!'\x91" "exc\x3\xBAVc)\xED\xCBoO\xDC\x87\x9E*\x1E\x9AxCW\xA7\x87\xB0\xB7\xBF\xFDs\xB8\x15\xE9:\x81\xE9\x8E'\x80\xD3v\x89\x8B\xFFr\x14\xDAq\x9A\x1B\x7F\xF6\xFA\x1\b\xC6\xFA\xD1\\\xDE\xAD\x15Xf\xDB" "B\v\xCC\xA8n\xBF\xE9\".\xFB" "C\x18%H\"\xCD\xDE\x13\x94\xA0\x8C\x2%\xAE\xDA\x88\x9FpY3\x83#fa\x13\xC3=\n\x1F@/\x81=\xD2j\xFB\f\xD2\xE7M\xF1\f}?}\x8BV\xE3\xE6X^\b\x1C)\xC7\xE0" "c5=Eg~\x18" "9!}\xF1\xF4\xF4\xA6\x93\xC1\xFo<\x8DZ\r\xD2R\x3g\v\xE8+\xCF\xA6" "B\xBB!\xA5~s`\x8C\xB7KI\xBE\x9F" "0\xCF\xAFP.b^X\xA0\xD0\xC7\xAB\x14" "a\xEDu\xC6M|\xE9o}r\xC1N\x1B\x82" "d\x82\xDE\xD1\\\xCB\xEA\xA4\x8B`#\xCF" "3\x88\xF2Y\xFD\xF0=\xE0\x4\x8C" "c\x9F\xC7\x96z5\x8AM\x4x\xE6;1\xD8\xE2" "1p9%+=:\xCCoyO\x16\xEC\xA5n\xA2/\x95\xE7\xBA\xFAZp\xAE\x1C\xB5" "B)h\"\x98sC\n\x9A\xCC\xB6*8\xD4\x1ESK\xA7Qkl\xC8\x82\x1C\x15\xFE" "C.\xCD\xC3\aD\xED>\xBA\x19}X\x94H<\xF7u6\xF6\x9B\x8B" "9\x85" "0;f}i\x9F+\xADLe\xA2^&\xFC\xC4\t\xE2\xE2\xF5\xE9\x4\xCB\x95\x19\xC4" "CSU!\xAEJ\"\xD8\xB8;\x1B\x80\xA7\0~\x3\xC7I\xB7\x19\xE7" "b\xE4ZU\xB8\xB2\x10" "2\x83\al\xBE\xB0\x80" "Azf\xE7" "C\x9C\xEF\x9Ex\xDC\x9C\xCE}\x93\x83.>=U\xE2\x80\a\x98}O*\xF6\xFA;\xB6\xBF\x80RxQ\xF\xF3\xAE\x88\n\xDF\x12\xEF\x85\xAA\x18J\xD1\x10\xD1;\xB8\xB4&1\xA8l\x84\xEF\xF9$\xA6\xA4\xCCyton>\xD3\x81\x15\xE8\"\x13,\xB6" "d\x9E\xD4" "0\xCD" "e\xFGf\xDB\x86\xE8j\x9E\xA8.\xA0\x83J\xD3n[\x3\xD0\xFBK*,\x1B~_22\xDD}4V\x9D\xF3\xE0\xEB" "d\r\xF2\xBC*D\xF8l\x90\x8C\x99\xF1!j\x91\xFB\x8DMO\xB3\x1E\xAA\xBC\x8A>\xB2\xD2\xAA/-P \xE1\xFF\xAC+\xBD\b\x10\x8F!\xE1\x17\xAB\x2" "0t^\xA2u\x87\xFB\x7F(U\xDB@\xA5;`,0\x98m\xBA{\xE0\x1E\xB5\x96<9zb\x4\x95\xBF@\xA7J\x13\x9DyC\xFF\xD3\x88\xFB\xE6\xBA\xC5X4\x95\xE8\x1B_\xE8\xD9\xE1S\xD1SB\xA8\x98\x96\x5\fl\xC5P})|-mle\x18\xC6\x99\xF9x\xBF\xB2\xA2\xB3\x12\xA3\xA2\b\x87"
    callDecode(base64, decode)
    Which is: ("\0\xD5\xE7\0\xE9\xF8\0N\xA1\0G\x8C\0\xFE\x8C\0\xF7\xFF\0\xB9(\0\xF5\xFB\0\xCC|\0$L\0\x1Ck\0\xCA\xA3\0\x80\xF5\0\t\xCC\06\xD9\0\xAD\xAE\0\xBD\xC1\0dy\0,\xA7\0\xB4M\0Q\b\0\v\xDF\0\xFE\x18\0\xB1\xD2\0\xC3Q\0\b}\0 p\0\xC3" "5\0\t\xCB\0}h\0|r\0\xB5\xCB\0\xCE\xC1\0\xAE\xB4\0\xB5\xA7\0\x1E\xA4\0\xC6\x7F\0W\x92\0\xCE\x95\0\xC0\x4\0\xD2" "A\0\xB2\xF0\0l\xE4\0\x8C\x94\0\xC3#\0A:\0\xFD\xD7\0\xD0U\0\x3>\0Y7\0\xD9" "2\0\x9D\xF4\0\xFCy\0\xD4\x11\0\x98\x95\0\xEA\xBB\0\xAEI\0\xC0" "d\05a\0\x13\x87\0Z\r\0\xC7\x97\0\xF7\xEF\0\x91'\0cx\0V\xBA\0\xED)\0Oo\0\x9E\x87\0\x9A\x1E\0WC\0\xB0\x87\0\xFD\xBF\0\x15\xB8\0\x81:\0'\x8E\0v\xD3\0\xFF\x8B\0\xDA\x14\0\x1B\x9A\0\xFA\xF6\0\xC6\b\0\\\xD1\0\x15\xAD\0\xDB" "f\0\xCC\v\0\xBFn\0.\"\0\x18" "C\0\"H\0\x13\xDE\0\x8C\xA0\0\xAE%\0\x9F\x88\03Y\0f#\0\xC3\x13\0\x1F\n\0\x81/\0j\xD2\0\xD2\f\0\xF1M\0?}\0V\x8B\0X\xE6\0\x1C\b\0\xE0\xC7\0=5\0~g\0!9\0\xF4\xF1\0\x93\xA6\0o\xF\0Z\x8D\0R\xD2\0\vg\0\xCF+\0\xBB" "B\0~\xA5\0\x8C`\0IK\00\x9F\0P\xAF\0^b\0\xD0\xA0\0\x14\xAB\0u\xED\0|M\0}o\0N\xC1\0d\x82\0\xD1\xDE\0\xEA\xCB\0`\x8B\03\xCF\0Y\xF2\0=\xF0\0\x8C\x4\0\xC7\x9F\05z\0\x4M\0;\xE6\0\xE2\xD8\09p\0=+\0o\xCC\0\x16O\0n\xA5\0\x95/\0\xFA\xBA\0\xAEp\0B\xB5\0\"h\0Cs\0\xCC\x9A\08*\0S\x1E\0Q\xA7\0\xC8l\0\x15\x1C\0.C\0\a\xC3\0>\xED\0}\x19\0H\x94\0u\xF7\0\x9B\xF6\0\x85" "9\0f;\0\x9Fi\0L\xAD\0^\xA2\0\xC4\xFC\0\xE2\xE2\0\x4\xE9\0\x19\x95\0SC\0\xAE!\0\xD8\"\0\x1B;\0\0\xA7\0\xC7\x3\0\x19\xB7\0\xE4" "b\0\xB8U\02\x10\0l\a\0\x80\xB0\0fz\0\x9C" "C\0x\x9E\0\xCE\x9C\0\x83\x93\0=>\0\x80\xE2\0}\x98\0\xF6*\0\xB6;\0R\x80\0\xFQ\0\x88\xAE\0\x12\xDF\0\xAA\x85\0\xD1J\0;\xD1\0&\xB4\0l\xA8\0\xF9\xEF\0\xA4\xA6\0ty\0>n\0\x15\x81\0\x13\"\0d\xB6\00\xD4\0\xF" "e\0\xDB" "f\0j\xE8\0.\xA8\0J\x83\0[n\0\xFB\xD0\0,*\0_~\0\xDD" "2\0V4\0\xE0\xF3\0\rd\0*\xBC\0l\xF8\0\x99\x8C\0j!\0\x8D\xFB\0\xB3O\0\xBC\xAA\0\xB2>\0/\xAA\0 P\0\xAC\xFF\0\b\xBD\0!\x8F\0\xAB\x17\0t0\0u\xA2\0\x7F\xFB\0\xDBU\0;\xA5\00,\0\xBAm\0\x1E\xE0\0<\x96\0bz\0\xBF\x95\0J\xA7\0y\x9D\0\xD3\xFF\0\xE6\xFB\0X\xC5\0\xE8\x95\0\xE8_\0S\xE1\0BS\0\x96\x98\0l\f\0}P\0-|\0el\0\x99\xC6\0\xBFx\0\xB3\xA2\0\xA2\xA3\b\x87")
    With diff:
    @@ -1,4 +1,2 @@
    -\"\xE7\xD5 \xF8\xE9" "8\xA1N\x18\x8CG0\x8C\xFE\xF5\xFF\xF7\xF7(\xB9\xF8\xFB\xF5\x1C|\xCC\xCCL$\x1k\x1C\xEA\xA3\xCA\xE0\xF5\x80\xA7\xCC\t\\\xD9" "6\xEF\xAE\xAD" "f\xC1\xBD\xBEydl\xA7,+M\xB4\xCC\bQF\xDF\v&\x18\xFE\xD2\xD2\xB1 Q\xC3\xF3}\b\xA9p a5\xC3\r\xCB\t/h}ur|\xA5\xCB\xB5\xEB\xC1\xCE" "F\xB4\xAE\0\xA7\xB5)\xA4\x1Et\x7F\xC6\xF5\x92W\xE0\x95\xCE" "9\x4\xC0\xD2" "A\xD2\x81\xF0\xB2i\xE4l\xF5\x94\x8C(#\xC3&:A\xCF\xD7\xFD" "AU\xD0L>\x3\xED" "7Y\xE8" "2\xD9@\xF4\x9D\xC7y\xFCZ\x11\xD4\xCB\x95\x98\x8C\xBB\xEA\xB1I\xAE\xC1" "d\xC0\x8F" "a5\x91\x87\x13g\rZ\x87\x97\xC7[\xEF\xF7!'\x91" "exc\x3\xBAVc)\xED\xCBoO\xDC\x87\x9E*\x1E\x9AxCW\xA7\x87\xB0\xB7\xBF\xFDs\xB8\x15\xE9:\x81\xE9\x8E'\x80\xD3v\x89\x8B\xFFr\x14\xDAq\x9A\x1B\x7F\xF6\xFA\x1\b\xC6\xFA\xD1\\\xDE\xAD\x15Xf\xDB" "B\v\xCC\xA8n\xBF\xE9\".\xFB" "C\x18%H\"\xCD\xDE\x13\x94\xA0\x8C\x2%\xAE\xDA\x88\x9FpY3\x83#fa\x13\xC3=
    -\x1F@/\x81=\xD2j\xFB\f\xD2\xE7M\xF1\f}?}\x8BV\xE3\xE6X^\b\x1C)\xC7\xE0" "c5=Eg~\x18" "9!}\xF1\xF4\xF4\xA6\x93\xC1\xFo<\x8DZ\r\xD2R\x3g\v\xE8+\xCF\xA6" "B\xBB!\xA5~s`\x8C\xB7KI\xBE\x9F" "0\xCF\xAFP.b^X\xA0\xD0\xC7\xAB\x14" "a\xEDu\xC6M|\xE9o}r\xC1N\x1B\x82" "d\x82\xDE\xD1\\\xCB\xEA\xA4\x8B`#\xCF" "3\x88\xF2Y\xFD\xF0=\xE0\x4\x8C" "c\x9F\xC7\x96z5\x8AM\x4x\xE6;1\xD8\xE2" "1p9%+=:\xCCoyO\x16\xEC\xA5n\xA2/\x95\xE7\xBA\xFAZp\xAE\x1C\xB5" "B)h\"\x98sC
    -\x9A\xCC\xB6*8\xD4\x1ESK\xA7Qkl\xC8\x82\x1C\x15\xFE" "C.\xCD\xC3\aD\xED>\xBA\x19}X\x94H<\xF7u6\xF6\x9B\x8B" "9\x85" "0;f}i\x9F+\xADLe\xA2^&\xFC\xC4\t\xE2\xE2\xF5\xE9\x4\xCB\x95\x19\xC4" "CSU!\xAEJ\"\xD8\xB8;\x1B\x80\xA7\0~\x3\xC7I\xB7\x19\xE7" "b\xE4ZU\xB8\xB2\x10" "2\x83\al\xBE\xB0\x80" "Azf\xE7" "C\x9C\xEF\x9Ex\xDC\x9C\xCE}\x93\x83.>=U\xE2\x80\a\x98}O*\xF6\xFA;\xB6\xBF\x80RxQ\xF\xF3\xAE\x88
    -\xDF\x12\xEF\x85\xAA\x18J\xD1\x10\xD1;\xB8\xB4&1\xA8l\x84\xEF\xF9$\xA6\xA4\xCCyton>\xD3\x81\x15\xE8\"\x13,\xB6" "d\x9E\xD4" "0\xCD" "e\xFGf\xDB\x86\xE8j\x9E\xA8.\xA0\x83J\xD3n[\x3\xD0\xFBK*,\x1B~_22\xDD}4V\x9D\xF3\xE0\xEB" "d\r\xF2\xBC*D\xF8l\x90\x8C\x99\xF1!j\x91\xFB\x8DMO\xB3\x1E\xAA\xBC\x8A>\xB2\xD2\xAA/-P \xE1\xFF\xAC+\xBD\b\x10\x8F!\xE1\x17\xAB\x2" "0t^\xA2u\x87\xFB\x7F(U\xDB@\xA5;`,0\x98m\xBA{\xE0\x1E\xB5\x96<9zb\x4\x95\xBF@\xA7J\x13\x9DyC\xFF\xD3\x88\xFB\xE6\xBA\xC5X4\x95\xE8\x1B_\xE8\xD9\xE1S\xD1SB\xA8\x98\x96\x5\fl\xC5P})|-mle\x18\xC6\x99\xF9x\xBF\xB2\xA2\xB3\x12\xA3\xA2\b\x87
    +("\0\xD5\xE7\0\xE9\xF8\0N\xA1\0G\x8C\0\xFE\x8C\0\xF7\xFF\0\xB9(\0\xF5\xFB\0\xCC|\0$L\0\x1Ck\0\xCA\xA3\0\x80\xF5\0\t\xCC\06\xD9\0\xAD\xAE\0\xBD\xC1\0dy\0,\xA7\0\xB4M\0Q\b\0\v\xDF\0\xFE\x18\0\xB1\xD2\0\xC3Q\0\b}\0 p\0\xC3" "5\0\t\xCB\0}h\0|r\0\xB5\xCB\0\xCE\xC1\0\xAE\xB4\0\xB5\xA7\0\x1E\xA4\0\xC6\x7F\0W\x92\0\xCE\x95\0\xC0\x4\0\xD2" "A\0\xB2\xF0\0l\xE4\0\x8C\x94\0\xC3#\0A:\0\xFD\xD7\0\xD0U\0\x3>\0Y7\0\xD9" "2\0\x9D\xF4\0\xFCy\0\xD4\x11\0\x98\x95\0\xEA\xBB\0\xAEI\0\xC0" "d\05a\0\x13\x87\0Z\r\0\xC7\x97\0\xF7\xEF\0\x91'\0cx\0V\xBA\0\xED)\0Oo\0\x9E\x87\0\x9A\x1E\0WC\0\xB0\x87\0\xFD\xBF\0\x15\xB8\0\x81:\0'\x8E\0v\xD3\0\xFF\x8B\0\xDA\x14\0\x1B\x9A\0\xFA\xF6\0\xC6\b\0\\\xD1\0\x15\xAD\0\xDB" "f\0\xCC\v\0\xBFn\0.\"\0\x18" "C\0\"H\0\x13\xDE\0\x8C\xA0\0\xAE%\0\x9F\x88\03Y\0f#\0\xC3\x13\0\x1F
    +\0\x81/\0j\xD2\0\xD2\f\0\xF1M\0?}\0V\x8B\0X\xE6\0\x1C\b\0\xE0\xC7\0=5\0~g\0!9\0\xF4\xF1\0\x93\xA6\0o\xF\0Z\x8D\0R\xD2\0\vg\0\xCF+\0\xBB" "B\0~\xA5\0\x8C`\0IK\00\x9F\0P\xAF\0^b\0\xD0\xA0\0\x14\xAB\0u\xED\0|M\0}o\0N\xC1\0d\x82\0\xD1\xDE\0\xEA\xCB\0`\x8B\03\xCF\0Y\xF2\0=\xF0\0\x8C\x4\0\xC7\x9F\05z\0\x4M\0;\xE6\0\xE2\xD8\09p\0=+\0o\xCC\0\x16O\0n\xA5\0\x95/\0\xFA\xBA\0\xAEp\0B\xB5\0\"h\0Cs\0\xCC\x9A\08*\0S\x1E\0Q\xA7\0\xC8l\0\x15\x1C\0.C\0\a\xC3\0>\xED\0}\x19\0H\x94\0u\xF7\0\x9B\xF6\0\x85" "9\0f;\0\x9Fi\0L\xAD\0^\xA2\0\xC4\xFC\0\xE2\xE2\0\x4\xE9\0\x19\x95\0SC\0\xAE!\0\xD8\"\0\x1B;\0\0\xA7\0\xC7\x3\0\x19\xB7\0\xE4" "b\0\xB8U\02\x10\0l\a\0\x80\xB0\0fz\0\x9C" "C\0x\x9E\0\xCE\x9C\0\x83\x93\0=>\0\x80\xE2\0}\x98\0\xF6*\0\xB6;\0R\x80\0\xFQ\0\x88\xAE\0\x12\xDF\0\xAA\x85\0\xD1J\0;\xD1\0&\xB4\0l\xA8\0\xF9\xEF\0\xA4\xA6\0ty\0>n\0\x15\x81\0\x13\"\0d\xB6\00\xD4\0\xF" "e\0\xDB" "f\0j\xE8\0.\xA8\0J\x83\0[n\0\xFB\xD0\0,*\0_~\0\xDD" "2\0V4\0\xE0\xF3\0\rd\0*\xBC\0l\xF8\0\x99\x8C\0j!\0\x8D\xFB\0\xB3O\0\xBC\xAA\0\xB2>\0/\xAA\0 P\0\xAC\xFF\0\b\xBD\0!\x8F\0\xAB\x17\0t0\0u\xA2\0\x7F\xFB\0\xDBU\0;\xA5\00,\0\xBAm\0\x1E\xE0\0<\x96\0bz\0\xBF\x95\0J\xA7\0y\x9D\0\xD3\xFF\0\xE6\xFB\0X\xC5\0\xE8\x95\0\xE8_\0S\xE1\0BS\0\x96\x98\0l\f\0}P\0-|\0el\0\x99\xC6\0\xBFx\0\xB3\xA2\0\xA2\xA3\b\x87")

[ FAILED ] Base64RandomTest.RandomTest (10 ms) [----------] 1 test from Base64RandomTest (10 ms total)

[----------] Global test environment tear-down [==========] 1 test from 1 test suite ran. (12 ms total) [ PASSED ] 0 tests. [ FAILED ] 1 test, listed below: [ FAILED ] Base64RandomTest.RandomTest

1 FAILED TEST

Test time = 0.11 sec ---------------------------------------------------------- Test Failed. 444/3068 Testing: base64_detail_test.Base64.SpecialCases 444/3068 Test: base64_detail_test.Base64.SpecialCases Command: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/build/base64_detail_test" "--gtest_filter=Base64.SpecialCases" Directory: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00 "base64_detail_test.Base64.SpecialCases" start time: Jan 24 14:47 CST Output: ---------------------------------------------------------- Note: Google Test filter = Base64.SpecialCases [==========] Running 1 test from 1 test suite. [----------] Global test environment set-up. [----------] 1 test from Base64 [ RUN ] Base64.SpecialCases /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/detail/base64_detail/tests/Base64SpecialCasesTest.cpp:358: Failure Expected equality of these values: test.data Which is: "abcd" actual Which is: "\0cbd" {97, 98, 99, 100} /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/detail/base64_detail/tests/Base64SpecialCasesTest.cpp:395: Failure Value of: runEncodeTests(SimdTester{ base64EncodeScalar, base64URLEncodeScalar, base64DecodeSWAR, base64URLDecodeSWAR}) Actual: false Expected: true [ FAILED ] Base64.SpecialCases (2 ms) [----------] 1 test from Base64 (2 ms total) [----------] Global test environment tear-down [==========] 1 test from 1 test suite ran. (3 ms total) [ PASSED ] 0 tests. [ FAILED ] 1 test, listed below: [ FAILED ] Base64.SpecialCases 1 FAILED TEST Test time = 0.11 sec ---------------------------------------------------------- Test Failed. ``` Related: https://github.com/facebook/folly/issues/1993 https://github.com/facebook/folly/issues/1834
barracuda156 commented 8 months ago
  1. Several tests fail with malloc errors. I will need to look into that in more detail, it is not necessarily identical problem, but this sort of failures is known to happen time to time. I will not quote every instance, just as example:
    500/3068 Testing: threaded_executor_test.ThreadedExecutorTest.many
    500/3068 Test: threaded_executor_test.ThreadedExecutorTest.many
    Command: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/build/threaded_executor_test" "--gtest_filter=ThreadedExecutorTest.many"
    Directory: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00
    "threaded_executor_test.ThreadedExecutorTest.many" start time: Jan 24 14:48 CST
    Output:
    ----------------------------------------------------------
    Note: Google Test filter = ThreadedExecutorTest.many
    [==========] Running 1 test from 1 test suite.
    [----------] Global test environment set-up.
    [----------] 1 test from ThreadedExecutorTest
    [ RUN      ] ThreadedExecutorTest.many
    threaded_executor_test-orig(89201,0xf0103000) malloc: *** error for object 0x1b05e30: incorrect checksum for freed object - object was probably modified after being freed.
    *** set a breakpoint in malloc_error_break to debug
    . . .
    threaded_executor_test-orig(89201,0xf0081000) malloc: *** error for object 0x3b039d0: incorrect checksum for freed object - object was probably modified after being freed.
    *** set a breakpoint in malloc_error_break to debug
    <end of output>
    Test time =  35.67 sec
    ----------------------------------------------------------
    Test Failed.
    857/3068 Testing: collect_test.Collect.parallelWithError
    857/3068 Test: collect_test.Collect.parallelWithError
    Command: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/build/collect_test" "--gtest_filter=Collect.parallelWithError"
    Directory: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00
    "collect_test.Collect.parallelWithError" start time: Jan 24 15:56 CST
    Output:
    ----------------------------------------------------------
    Note: Google Test filter = Collect.parallelWithError
    [==========] Running 1 test from 1 test suite.
    [----------] Global test environment set-up.
    [----------] 1 test from Collect
    [ RUN      ] Collect.parallelWithError
    collect_test-orig(91127,0xf030b000) malloc: *** error for object 0x3b000e0: incorrect checksum for freed object - object was probably modified after being freed.
    *** set a breakpoint in malloc_error_break to debug
    collect_test-orig(91127,0xf0185000) malloc: *** error for object 0x3b000e0: incorrect checksum for freed object - object was probably modified after being freed.
    *** set a breakpoint in malloc_error_break to debug
    collect_test-orig(91127,0xf0185000) malloc: *** error for object 0x3b000e0: incorrect checksum for freed object - object was probably modified after being freed.
    *** set a breakpoint in malloc_error_break to debug
    collect_test-orig(91127,0xf0185000) malloc: *** error for object 0x3b000e0: incorrect checksum for freed object - object was probably modified after being freed.
    *** set a breakpoint in malloc_error_break to debug
    collect_test-orig(91127,0xf030b000) malloc: *** error for object 0x3b00300: incorrect checksum for freed object - object was probably modified after being freed.
    *** set a breakpoint in malloc_error_break to debug
    collect_test-orig(91127,0xf030b000) malloc: *** error for object 0x3b00300: incorrect checksum for freed object - object was probably modified after being freed.
    *** set a breakpoint in malloc_error_break to debug
    <end of output>
    Test time =  38.44 sec
    ----------------------------------------------------------
    Test Failed.
barracuda156 commented 8 months ago
  1. Cases failing in bits_test_2: again endianness?
    
    536/3068 Testing: bits_test_2.Bits.ConcatenationUnalignedUnsigned
    536/3068 Test: bits_test_2.Bits.ConcatenationUnalignedUnsigned
    Command: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/build/bits_test_2" "--gtest_filter=Bits.ConcatenationUnalignedUnsigned"
    Directory: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00
    "bits_test_2.Bits.ConcatenationUnalignedUnsigned" start time: Jan 24 14:50 CST
    Output:
    ----------------------------------------------------------
    Note: Google Test filter = Bits.ConcatenationUnalignedUnsigned
    [==========] Running 1 test from 1 test suite.
    [----------] Global test environment set-up.
    [----------] 1 test from Bits
    [ RUN      ] Bits.ConcatenationUnalignedUnsigned
    /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/experimental/test/BitsTest.cpp:284: Failure
    Expected equality of these values:
    (testValue<T, NEG>(s))
    Which is: 43690
    (testGet<aligned, T>(buf, r, s))
    Which is: 22186
    16

/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/experimental/test/BitsTest.cpp:284: Failure Expected equality of these values: (testValue<T, NEG>(s)) Which is: 2863311530 (testGet<aligned, T>(buf, r, s)) Which is: 2863311533 32

/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/experimental/test/BitsTest.cpp:284: Failure Expected equality of these values: (testValue<T, NEG>(s)) Which is: 12297829382473033728 (testGet<aligned, T>(buf, r, s)) Which is: 6531673747066890240 64

/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/experimental/test/BitsTest.cpp:284: Failure Expected equality of these values: (testValue<T, NEG>(s)) Which is: '*' (42, 0x2A) (testGet<aligned, T>(buf, r, s)) Which is: ')' (41, 0x29) 7

/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/experimental/test/BitsTest.cpp:284: Failure Expected equality of these values: (testValue<T, NEG>(s)) Which is: 10922 (testGet<aligned, T>(buf, r, s)) Which is: -11095 15 . . . [ FAILED ] Bits.ConcatenationUnalignedUnsigned (4 ms) [----------] 1 test from Bits (4 ms total)

[----------] Global test environment tear-down [==========] 1 test from 1 test suite ran. (6 ms total) [ PASSED ] 0 tests. [ FAILED ] 1 test, listed below: [ FAILED ] Bits.ConcatenationUnalignedUnsigned

1 FAILED TEST

Test time = 0.10 sec ---------------------------------------------------------- Test Failed. ``` Same story here: ``` 537/3068 Testing: bits_test_2.Bits.ConcatenationAligned 537/3068 Test: bits_test_2.Bits.ConcatenationAligned Command: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/build/bits_test_2" "--gtest_filter=Bits.ConcatenationAligned" Directory: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00 "bits_test_2.Bits.ConcatenationAligned" start time: Jan 24 14:50 CST Output: ---------------------------------------------------------- Note: Google Test filter = Bits.ConcatenationAligned [==========] Running 1 test from 1 test suite. [----------] Global test environment set-up. [----------] 1 test from Bits [ RUN ] Bits.ConcatenationAligned /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/experimental/test/BitsTest.cpp:284: Failure Expected equality of these values: (testValue(s)) Which is: 43690 (testGet(buf, r, s)) Which is: 22186 16 . . . /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/experimental/test/BitsTest.cpp:284: Failure Expected equality of these values: (testValue(s)) Which is: -715827882 (testGet(buf, r, s)) Which is: -581610154 31 [ FAILED ] Bits.ConcatenationAligned (4 ms) [----------] 1 test from Bits (4 ms total) [----------] Global test environment tear-down [==========] 1 test from 1 test suite ran. (6 ms total) [ PASSED ] 0 tests. [ FAILED ] 1 test, listed below: [ FAILED ] Bits.ConcatenationAligned 1 FAILED TEST Test time = 0.10 sec ---------------------------------------------------------- Test Failed. ```
barracuda156 commented 8 months ago
  1. eliasfano_test, expected to fail for Big-endian platforms, the code has to be fixed.
    559/3068 Testing: eliasfano_test.EliasFanoCodingTest.Simple32Bit
    559/3068 Test: eliasfano_test.EliasFanoCodingTest.Simple32Bit
    Command: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/build/eliasfano_test" "--gtest_filter=EliasFanoCodingTest.Simple32Bit"
    Directory: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00
    "eliasfano_test.EliasFanoCodingTest.Simple32Bit" start time: Jan 24 14:55 CST
    Output:
    ----------------------------------------------------------
    Note: Google Test filter = EliasFanoCodingTest.Simple32Bit
    [==========] Running 1 test from 1 test suite.
    [----------] Global test environment set-up.
    [----------] 1 test from EliasFanoCodingTest
    [ RUN      ] EliasFanoCodingTest.Simple32Bit
    /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/experimental/test/CodingTestUtils.h:135: Failure
    Expected equality of these values:
    reader.value()
    Which is: 56
    data[i]
    Which is: 0
    0 1
    . . .
    /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/experimental/test/CodingTestUtils.h:198: Failure
    Value of: reader.skipTo(target)
    Actual: true
    Expected: false
    Google Test trace:
    /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/experimental/test/CodingTestUtils.h:380: void folly::compression::testAll(const std::vector<long long unsigned int>&, uint64_t) [with Reader = EliasFanoReader<EliasFanoEncoder<unsigned int, unsigned int, 0, 0, true>, instructions::Default, false, unsigned int>; Encoder = EliasFanoEncoder<unsigned int, unsigned int, 0, 0, true>; uint64_t = long long unsigned int]
    . . .
    /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/experimental/test/CodingTestUtils.h:124: Failure
    Expected equality of these values:
    reader.value()
    Which is: 58
    data[i]
    Which is: 122
    Google Test trace:
    /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/experimental/test/CodingTestUtils.h:380: void folly::compression::testAll(const std::vector<long long unsigned int>&, uint64_t) [with Reader = EliasFanoReader<EliasFanoEncoder<unsigned int, unsigned int, 0, 0, true>, instructions::Default, false, unsigned int>; Encoder = EliasFanoEncoder<unsigned int, unsigned int, 0, 0, true>; uint64_t = long long unsigned int]
    . . .
barracuda156 commented 8 months ago
  1. Issue with threads: there is no support for pthread_threadid_np in the kernel for PowerPC: https://github.com/apple-oss-distributions/Libc/blob/7380dc7cf0fc04550c72f34d38088b4db8668f40/pthreads/pthread.h#L475-L477 it is also known that pthread_setname_np does not work or at least may not work as expected: https://github.com/PurpleI2P/i2pd/issues/1726

There should be a way to use pthread_mach_thread_np(pthread_self());, but for some reason it did not for me, at least as of now.

So this test failed as a result of my imperfect preliminary fix to the problem:

1837/3068 Testing: thread_id_test.ThreadId.getOSThreadID
1837/3068 Test: thread_id_test.ThreadId.getOSThreadID
Command: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/build/thread_id_test" "--gtest_filter=ThreadId.getOSThreadID"
Directory: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00
"thread_id_test.ThreadId.getOSThreadID" start time: Jan 24 17:07 CST
Output:
----------------------------------------------------------
Note: Google Test filter = ThreadId.getOSThreadID
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from ThreadId
[ RUN      ] ThreadId.getOSThreadID
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/system/test/ThreadIdTest.cpp:39: Failure
Expected: (thisThreadID) != (otherThreadID), actual: 0 vs 0

[  FAILED  ] ThreadId.getOSThreadID (2 ms)
[----------] 1 test from ThreadId (2 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (3 ms total)
[  PASSED  ] 0 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] ThreadId.getOSThreadID

 1 FAILED TEST
<end of output>
Test time =   0.11 sec
----------------------------------------------------------
Test Failed.
barracuda156 commented 8 months ago
  1. future_dag_test – multiple failures here; not sure straightaway, but I suspect wrong alignments. Something, possibly, this kind? https://github.com/boostorg/smart_ptr/commit/97c9204a952f60d13def0e321c0a92ec6dec148b

This is more of a note to myself, it has to be checked elsewhere too.

barracuda156 commented 8 months ago
  1. farmhash_test: aren’t these fake passes?
    
    expected 8899bf82 but got 61777445
    expected 417147d8 but got 49d582d1
    ... Failed
    [       OK ] farmhash.cc (160 ms)
    [----------] 1 test from farmhash (160 ms total)

[----------] Global test environment tear-down [==========] 1 test from 1 test suite ran. (162 ms total) [ PASSED ] 1 test.

Test time = 0.27 sec ---------------------------------------------------------- Test Passed. "farmhash_test.farmhash.cc" end time: Jan 24 15:47 CST "farmhash_test.farmhash.cc" time elapsed: 00:00:00 ---------------------------------------------------------- expected f953fbb4 but got e6ba338f expected 92cb836d but got a295e114 expected ea3e8359 but got edff90c1 ... Failed [ OK ] farmhash.mk (57 ms) [----------] 1 test from farmhash (57 ms total) [----------] Global test environment tear-down [==========] 1 test from 1 test suite ran. (59 ms total) [ PASSED ] 1 test. Test time = 0.16 sec ---------------------------------------------------------- Test Passed. "farmhash_test.farmhash.mk" end time: Jan 24 15:47 CST "farmhash_test.farmhash.mk" time elapsed: 00:00:00 ---------------------------------------------------------- ```
barracuda156 commented 8 months ago
  1. Checksum code seems to suffer from a genuine bug:
    
    1157/3068 Testing: checksum_test.Checksum.crc32cSoftware
    1157/3068 Test: checksum_test.Checksum.crc32cSoftware
    Command: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/build/checksum_test" "--gtest_filter=Checksum.crc32cSoftware"
    Directory: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00
    "checksum_test.Checksum.crc32cSoftware" start time: Jan 24 16:32 CST
    Output:
    ----------------------------------------------------------
    Note: Google Test filter = Checksum.crc32cSoftware
    [==========] Running 1 test from 1 test suite.
    [----------] Global test environment set-up.
    [----------] 1 test from Checksum
    [ RUN      ] Checksum.crc32cSoftware
    /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/hash/test/ChecksumTest.cpp:77: Failure
    Expected equality of these values:
    expected.crc32c
    Which is: 1543413366
    result
    Which is: 2232435143

/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/hash/test/ChecksumTest.cpp:77: Failure Expected equality of these values: expected.crc32c Which is: 523493126 result Which is: 8720449

/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/hash/test/ChecksumTest.cpp:77: Failure Expected equality of these values: expected.crc32c Which is: 1560427360 result Which is: 3399953429 . . . /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/hash/test/ChecksumTest.cpp:77: Failure Expected equality of these values: expected.crc32c Which is: 3854797577 result Which is: 3557231712

[ FAILED ] Checksum.crc32cSoftware (29 ms) [----------] 1 test from Checksum (29 ms total)

[----------] Global test environment tear-down [==========] 1 test from 1 test suite ran. (30 ms total) [ PASSED ] 0 tests. [ FAILED ] 1 test, listed below: [ FAILED ] Checksum.crc32cSoftware

1 FAILED TEST

Test time = 0.19 sec ---------------------------------------------------------- Test Failed. ``` crc32c*Software and crc32c*Autodetect all fail, but hardware ones pass.
barracuda156 commented 8 months ago
  1. Two hash test cases fail:
    
    1172/3068 Testing: hash_test.Hash.Fnv64
    1172/3068 Test: hash_test.Hash.Fnv64
    Command: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/build/hash_test" "--gtest_filter=Hash.Fnv64"
    Directory: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00
    "hash_test.Hash.Fnv64" start time: Jan 24 16:32 CST
    Output:
    ----------------------------------------------------------
    Note: Google Test filter = Hash.Fnv64
    [==========] Running 1 test from 1 test suite.
    [----------] Global test environment set-up.
    [----------] 1 test from Hash
    [ RUN      ] Hash.Fnv64
    /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/hash/test/HashTest.cpp:101: Failure
    Expected equality of these values:
    t4_hash4
    Which is: 5467267131013855805
    t4_res
    Which is: 15571330457339273965

[ FAILED ] Hash.Fnv64 (1 ms) [----------] 1 test from Hash (1 ms total)

[----------] Global test environment tear-down [==========] 1 test from 1 test suite ran. (3 ms total) [ PASSED ] 0 tests. [ FAILED ] 1 test, listed below: [ FAILED ] Hash.Fnv64

1 FAILED TEST

Test time = 0.11 sec ---------------------------------------------------------- Test Failed. 1173/3068 Testing: hash_test.Hash.Hsieh32 1173/3068 Test: hash_test.Hash.Hsieh32 Command: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/build/hash_test" "--gtest_filter=Hash.Hsieh32" Directory: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00 "hash_test.Hash.Hsieh32" start time: Jan 24 16:32 CST Output: ---------------------------------------------------------- Note: Google Test filter = Hash.Hsieh32 [==========] Running 1 test from 1 test suite. [----------] Global test environment set-up. [----------] 1 test from Hash [ RUN ] Hash.Hsieh32 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/hash/test/HashTest.cpp:113: Failure Expected equality of these values: hsieh_hash32(s1) Which is: 1360895658 s1_res Which is: 2918802987 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/hash/test/HashTest.cpp:118: Failure Expected equality of these values: hsieh_hash32(s2) Which is: 930082581 s2_res Which is: 47373213 [ FAILED ] Hash.Hsieh32 (1 ms) [----------] 1 test from Hash (2 ms total) [----------] Global test environment tear-down [==========] 1 test from 1 test suite ran. (3 ms total) [ PASSED ] 0 tests. [ FAILED ] 1 test, listed below: [ FAILED ] Hash.Hsieh32 1 FAILED TEST Test time = 0.11 sec ---------------------------------------------------------- Test Failed. ```
barracuda156 commented 8 months ago
  1. Some errors in memory_test*.badAlloc are likely a result of missing std::aligned_alloc.
    Expected: nums.reserve(kTooBig) throws an exception of type std::bad_alloc.
    Actual: it throws std::length_error with description "vector::reserve".

It is also used in folly/hash/test/ChecksumBenchmark.cpp, to which I had to add a quick patch, which apparently did not work :)

Can we use posix_memalign there as a fallback where aligned_alloc is unsupported? This is nothing specific to PowerPC or macOS.

barracuda156 commented 8 months ago
  1. Errors in fbvector_test may be caused by wrong assumptions on alignments or size of structures (which are not always identical across different archs).
2265/3068 Testing: fbvector_test.FBVector.zeroInit
2265/3068 Test: fbvector_test.FBVector.zeroInit
Command: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/build/fbvector_test" "--gtest_filter=FBVector.zeroInit"
Directory: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00
"fbvector_test.FBVector.zeroInit" start time: Jan 24 17:53 CST
Output:
----------------------------------------------------------
Note: Google Test filter = FBVector.zeroInit
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from FBVector
[ RUN      ] FBVector.zeroInit
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/test/FBVectorTest.cpp:323: Failure
Expected equality of these values:
  vec[0].mp_
    Which is: 4-byte object <C0-00 00-03>
  nullptr
    Which is: (nullptr)

/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/test/FBVectorTest.cpp:324: Failure
Expected equality of these values:
  vec[8].mp_
    Which is: 4-byte object <C0-00 00-03>
  nullptr
    Which is: (nullptr)

[  FAILED  ] FBVector.zeroInit (2 ms)
[----------] 1 test from FBVector (2 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (3 ms total)
[  PASSED  ] 0 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] FBVector.zeroInit

 1 FAILED TEST
<end of output>
Test time =   0.15 sec
----------------------------------------------------------
Test Failed.
2245/3068 Testing: fbvector_test.fbvector.clause23364Ambiguity
2245/3068 Test: fbvector_test.fbvector.clause23364Ambiguity
Command: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/build/fbvector_test" "--gtest_filter=fbvector.clause23364Ambiguity"
Directory: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00
"fbvector_test.fbvector.clause23364Ambiguity" start time: Jan 24 17:49 CST
Output:
----------------------------------------------------------
Note: Google Test filter = fbvector.clause23364Ambiguity
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from fbvector
[ RUN      ] fbvector.clause23364Ambiguity
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/test/FBVectorTest.cpp:78: Failure
Expected equality of these values:
  i
    Which is: -1073741821
  20

/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/test/FBVectorTest.cpp:78: Failure
Expected equality of these values:
  i
    Which is: -1073741821
  20

/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/test/FBVectorTest.cpp:78: Failure
Expected equality of these values:
  i
    Which is: 1418704
  20
. . .

Etc.

barracuda156 commented 8 months ago
  1. A few failures in atomic_struct_test:
1841/3068 Testing: atomic_struct_test.AtomicStruct.twoBy32
1841/3068 Test: atomic_struct_test.AtomicStruct.twoBy32
Command: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/build/atomic_struct_test" "--gtest_filter=AtomicStruct.twoBy32"
Directory: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00
"atomic_struct_test.AtomicStruct.twoBy32" start time: Jan 24 17:07 CST
Output:
----------------------------------------------------------
Note: Google Test filter = AtomicStruct.twoBy32
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from AtomicStruct
[ RUN      ] AtomicStruct.twoBy32
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00/folly/synchronization/test/AtomicStructTest.cpp:36: Failure
Value of: a.is_lock_free()
  Actual: false
Expected: true

[  FAILED  ] AtomicStruct.twoBy32 (1 ms)
[----------] 1 test from AtomicStruct (1 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (2 ms total)
[  PASSED  ] 0 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] AtomicStruct.twoBy32

 1 FAILED TEST
<end of output>
Test time =   0.11 sec
----------------------------------------------------------
Test Failed.
1900/3068 Test: atomic_unordered_map_test.AtomicUnorderedInsertMapTest/*.basic
Command: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/build/atomic_unordered_map_test" "--gtest_filter=AtomicUnorderedInsertMapTest/*.basic"
Directory: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00
"atomic_unordered_map_test.AtomicUnorderedInsertMapTest/*.basic" start time: Jan 24 17:08 CST
Output:
----------------------------------------------------------
Note: Google Test filter = AtomicUnorderedInsertMapTest/*.basic
[==========] Running 3 tests from 3 test suites.
[----------] Global test environment set-up.
[----------] 1 test from AtomicUnorderedInsertMapTest/0, where TypeParam = unsigned short
[ RUN      ] AtomicUnorderedInsertMapTest/0.basic
[       OK ] AtomicUnorderedInsertMapTest/0.basic (0 ms)
[----------] 1 test from AtomicUnorderedInsertMapTest/0 (1 ms total)

[----------] 1 test from AtomicUnorderedInsertMapTest/1, where TypeParam = unsigned int
[ RUN      ] AtomicUnorderedInsertMapTest/1.basic
[       OK ] AtomicUnorderedInsertMapTest/1.basic (0 ms)
[----------] 1 test from AtomicUnorderedInsertMapTest/1 (0 ms total)

[----------] 1 test from AtomicUnorderedInsertMapTest/2, where TypeParam = unsigned long long
[ RUN      ] AtomicUnorderedInsertMapTest/2.basic
unknown file: Failure
C++ exception with description "AtomicUnorderedInsertMap capacity must fit in IndexType with 2 bits left over" thrown in the test body.

[  FAILED  ] AtomicUnorderedInsertMapTest/2.basic, where TypeParam = unsigned long long (1 ms)
[----------] 1 test from AtomicUnorderedInsertMapTest/2 (1 ms total)

[----------] Global test environment tear-down
[==========] 3 tests from 3 test suites ran. (3 ms total)
[  PASSED  ] 2 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] AtomicUnorderedInsertMapTest/2.basic, where TypeParam = unsigned long long

 1 FAILED TEST
<end of output>
Test time =   0.11 sec
----------------------------------------------------------
Test Failed.
1903/3068 Testing: atomic_unordered_map_test.AtomicUnorderedInsertMapTest/*.valueMutation
1903/3068 Test: atomic_unordered_map_test.AtomicUnorderedInsertMapTest/*.valueMutation
Command: "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/build/atomic_unordered_map_test" "--gtest_filter=AtomicUnorderedInsertMapTest/*.valueMutation"
Directory: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_folly/folly/work/folly-v2024.01.22.00
"atomic_unordered_map_test.AtomicUnorderedInsertMapTest/*.valueMutation" start time: Jan 24 17:08 CST
Output:
----------------------------------------------------------
Note: Google Test filter = AtomicUnorderedInsertMapTest/*.valueMutation
[==========] Running 3 tests from 3 test suites.
[----------] Global test environment set-up.
[----------] 1 test from AtomicUnorderedInsertMapTest/0, where TypeParam = unsigned short
[ RUN      ] AtomicUnorderedInsertMapTest/0.valueMutation
[       OK ] AtomicUnorderedInsertMapTest/0.valueMutation (0 ms)
[----------] 1 test from AtomicUnorderedInsertMapTest/0 (0 ms total)

[----------] 1 test from AtomicUnorderedInsertMapTest/1, where TypeParam = unsigned int
[ RUN      ] AtomicUnorderedInsertMapTest/1.valueMutation
[       OK ] AtomicUnorderedInsertMapTest/1.valueMutation (0 ms)
[----------] 1 test from AtomicUnorderedInsertMapTest/1 (0 ms total)

[----------] 1 test from AtomicUnorderedInsertMapTest/2, where TypeParam = unsigned long long
[ RUN      ] AtomicUnorderedInsertMapTest/2.valueMutation
unknown file: Failure
C++ exception with description "AtomicUnorderedInsertMap capacity must fit in IndexType with 2 bits left over" thrown in the test body.

[  FAILED  ] AtomicUnorderedInsertMapTest/2.valueMutation, where TypeParam = unsigned long long (1 ms)
[----------] 1 test from AtomicUnorderedInsertMapTest/2 (1 ms total)

[----------] Global test environment tear-down
[==========] 3 tests from 3 test suites ran. (3 ms total)
[  PASSED  ] 2 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] AtomicUnorderedInsertMapTest/2.valueMutation, where TypeParam = unsigned long long

 1 FAILED TEST
<end of output>
Test time =   0.11 sec
----------------------------------------------------------
Test Failed.
barracuda156 commented 8 months ago

@Orvid While there was a typo in the initial version of one patch, which was used with the test run above, I corrected it, and also dropped reverting a few commits related to thread caching, rebuilt and rerun tests, results are nearly identical:

90% tests passed, 308 tests failed out of 3051

Total Test time (real) = 13589.07 sec

The following tests FAILED:
      1 - chrono_conv_test.Conv.timespecToStdChrono (Failed)
      2 - chrono_conv_test.Conv.timespecToStdChronoOverflow (Bus error)
      4 - chrono_conv_test.Conv.stdChronoToTimespec (Bus error)
      6 - chrono_conv_test.Conv.stdChronoToTimeval (Bus error)
    130 - f14_map_test.F14ValueMap.eraseIntoEmptyFromErase (Bus error)
    131 - f14_map_test.F14NodeMap.eraseIntoEmptyFromErase (Bus error)
    132 - f14_map_test.F14VectorMap.eraseIntoEmptyFromErase (Bus error)
    133 - f14_map_test.F14FastMap.eraseIntoEmptyFromErase (Bus error)
    134 - f14_map_test.F14ValueMap.eraseIntoEmptyFromReserve (Bus error)
    135 - f14_map_test.F14NodeMap.eraseIntoEmptyFromReserve (Bus error)
    136 - f14_map_test.F14VectorMap.eraseIntoEmptyFromReserve (Bus error)
    137 - f14_map_test.F14FastMap.eraseIntoEmptyFromReserve (Bus error)
    231 - f14_set_test.F14Set.ExceptionOnInsert (Bus error)
    243 - heap_vector_types_test.HeapVectorTypes.SimpleMapTest (Bus error)
    244 - heap_vector_types_test.HeapVectorTypes.SimpleSmallMapTest (Bus error)
    252 - heap_vector_types_test.HeapVectorTest.EmptyTest (Bus error)
    400 - dynamic_bounded_queue_test.DynamicBoundedQueue.enqDeq (SIGSYS)
    436 - base64_detail_test.Base64RandomTest.RandomTest (Failed)
    444 - base64_detail_test.Base64.SpecialCases (Failed)
    478 - executor_test.Executor.ThrowableThen (Bus error)
    480 - executor_test.Executor.DoNothingExecutor (Bus error)
    500 - threaded_executor_test.ThreadedExecutorTest.many (Bus error)
    501 - threaded_executor_test.ThreadedExecutorTest.many_sleeping_constant_time (Bus error)
    502 - threaded_executor_test.ThreadedExecutorTest.many_sleeping_decreasing_time (Bus error)
    536 - bits_test_2.Bits.ConcatenationUnalignedUnsigned (Failed)
    537 - bits_test_2.Bits.ConcatenationAligned (Failed)
    545 - dynamic_parser_test.TestDynamicParser.OnErrorThrowError (Bus error)
    547 - dynamic_parser_test.TestDynamicParser.TestKeyAndParseErrors (Bus error)
    548 - dynamic_parser_test.TestDynamicParser.TestRequiredOptionalParseErrors (Bus error)
    549 - dynamic_parser_test.TestDynamicParser.TestItemParseErrors (Bus error)
    550 - dynamic_parser_test.TestDynamicParser.TestErrorNesting (Bus error)
    551 - dynamic_parser_test.TestDynamicParser.TestRecordThrowOnDoubleParseErrors (Bus error)
    552 - dynamic_parser_test.TestDynamicParser.TestRecordThrowOnChangingValue (Bus error)
    566 - future_dag_test.FutureDAGTest.ThrowBegin (Bus error)
    567 - future_dag_test.FutureDAGTest.ThrowEnd (Bus error)
    568 - future_dag_test.FutureDAGTest.Cycle1 (Bus error)
    569 - future_dag_test.FutureDAGTest.Cycle2 (Bus error)
    570 - future_dag_test.FutureDAGTest.Cycle3 (Bus error)
    571 - future_dag_test.FutureDAGTest.DestroyBeforeComplete (SEGFAULT)
    596 - json_schema_test.JSONSchemaTest.TestInfinitelyRecursiveRef (Bus error)
    610 - json_schema_test.JSONSchemaTest.TestMetaSchema (Bus error)
    648 - test_util_test.TemporaryFile.NoSuchPath (Bus error)
    662 - fs_util_test.Simple.Path (Bus error)
    675 - async_file_writer_test.AsyncFileWriter.ioError (Bus error)
    677 - async_file_writer_test.AsyncFileWriter.discard (Failed)
    678 - async_file_writer_test.AsyncFileWriter.fork (Timeout)
    681 - config_parser_test.LogConfig.parseBasicErrors (Bus error)
    683 - config_parser_test.LogConfig.parseJsonErrors (Bus error)
    687 - config_update_test.ConfigUpdate.updateConfig (Bus error)
    695 - file_handler_factory_test.FileHandlerFactory.errors (Bus error)
    696 - file_handler_factory_test.StreamHandlerFactory.errors (Bus error)
    698 - file_handler_factory_test.StreamHandlerFactory.writerFactoryError (Bus error)
    726 - log_level_test.LogLevel.fromString (Bus error)
    748 - xlog_test.XlogTest.rateLimitingEndOfThread (SEGFAULT)
    836 - collect_test.Collect.collect (Bus error)
    842 - collect_test.Collect.parallelWithError (Bus error)
    844 - collect_test.Collect.allParallelWithError (Bus error)
    851 - collect_test.Collect.collectAllVariadicWithException (Bus error)
    854 - collect_test.Collect.collectVariadicWithException (Bus error)
    857 - collect_test.Collect.CollectVariadicWithDestroyedWeakRef (Bus error)
    858 - collect_test.Collect.CollectRangeWithDestroyedWeakRef (Bus error)
    861 - ensure_test.Ensure.basic (Bus error)
    862 - ensure_test.Ensure.mutableLambda (Bus error)
    864 - filter_test.Filter.alwaysFalse (Bus error)
    876 - future_test.Future.makeEmpty (Bus error)
    887 - future_test.Future.hasPreconditionValid (Bus error)
    890 - future_test.Future.thenError (Bus error)
    896 - future_test.Future.thenValue (Bus error)
    904 - future_test.Future.value (Bus error)
    906 - future_test.Future.futureNotReady (Bus error)
    909 - future_test.Future.makeFuture (Bus error)
    914 - future_test.Future.throwIfFailed (Bus error)
    916 - future_test.Future.getFutureAfterSetException (Bus error)
    928 - future_test.Future.futureWithinNoValueReferenceWhenTimeOut (Bus error)
    935 - future_test.Future.SimpleTimedGet (Bus error)
    936 - future_test.Future.SimpleTimedGetTry (Bus error)
    939 - interrupt_test.Interrupt.raise (Bus error)
    940 - interrupt_test.Interrupt.cancel (Bus error)
    966 - non_copyable_lambda_test.NonCopyableLambda.Function (Bus error)
    967 - non_copyable_lambda_test.NonCopyableLambda.FunctionConst (Bus error)
    979 - promise_test.Promise.hasPreconditionValid (Bus error)
    984 - promise_test.Promise.setException (Bus error)
    985 - promise_test.Promise.setWith (Bus error)
    993 - reduce_test.Reduce.unorderedReduceException (Bus error)
    998 - retrying_test.RetryingTest.futureFactoryThrows (Bus error)
    999 - retrying_test.RetryingTest.futureFactoryThrowsUnsafe (Bus error)
    1000 - retrying_test.RetryingTest.policyThrows (Bus error)
    1001 - retrying_test.RetryingTest.policyThrowsUnsafe (Bus error)
    1035 - shared_promise_test.SharedPromise.InterruptHandlerSetsException (Bus error)
    1053 - timekeeper_test.TimekeeperBase.FutureSleepHandlesNullTimekeeperSingleton (Bus error)
    1054 - timekeeper_test.TimekeeperBase.FutureWithinHandlesNullTimekeeperSingleton (Bus error)
    1055 - timekeeper_test.TimekeeperBase.SemiFutureWithinHandlesNullTimekeeperSingleton (Bus error)
    1057 - timekeeper_test.TimekeeperBase.SemiFutureWithinInlineAfter (Bus error)
    1062 - times_test.Times.semiFutureFailure (Bus error)
    1068 - via_test.Via.exceptionOnLaunch (Bus error)
    1082 - via_test.Via.SimpleTimedGetVia (Bus error)
    1084 - via_test.Via.SimpleTimedGetTryVia (Bus error)
    1087 - via_test.Via.viaDummyExecutorFutureSetValueFirst (Bus error)
    1088 - via_test.Via.viaDummyExecutorFutureSetCallbackFirst (Bus error)
    1089 - via_test.Via.viaExecutorDiscardsTaskFutureSetValueFirst (Bus error)
    1090 - via_test.Via.viaExecutorDiscardsTaskFutureSetCallbackFirst (Bus error)
    1093 - via_test.ViaFunc.exception (Bus error)
    1107 - wait_test.Wait.cancelAfterWait (Bus error)
    1113 - while_do_test.WhileDo.semiFutureFailure (Bus error)
    1122 - window_test.Window.parallelWithError (Bus error)
    1123 - window_test.Window.allParallelWithError (Bus error)
    1126 - window_test.WindowExecutor.parallelWithError (Bus error)
    1127 - window_test.WindowExecutor.allParallelWithError (Bus error)
    1136 - parallel_map_test.Pmap.Exception (Bus error)
    1142 - checksum_test.Checksum.crc32cSoftware (Failed)
    1143 - checksum_test.Checksum.crc32cContinuationSoftware (Failed)
    1147 - checksum_test.Checksum.crc32cAutodetect (Failed)
    1148 - checksum_test.Checksum.crc32cContinuationAutodetect (Failed)
    1157 - hash_test.Hash.Fnv64 (Failed)
    1158 - hash_test.Hash.Hsieh32 (Failed)
    1196 - spooky_hash_v1_test.SpookyHashV1.Main (Subprocess aborted)
    1197 - spooky_hash_v2_test.SpookyHashV2.Main (Subprocess aborted)
    1201 - iobuf_test.IOBuf.TakeOwnershipFreeOnErrorBugfix (Bus error)
    1206 - iobuf_test.IOBuf.Chaining (Bus error)
    1238 - iobuf_test.IOBuf.bufferTooLarge (Bus error)
    1239 - iobuf_test.IOBuf.copyConstructBufferTooLarge (Bus error)
    1246 - iobuf_cursor_test.IOBuf.Cursor (Bus error)
    1248 - iobuf_cursor_test.IOBuf.PullAndPeek (Bus error)
    1250 - iobuf_cursor_test.IOBuf.pushCursorData (Bus error)
    1251 - iobuf_cursor_test.IOBuf.Gather (Bus error)
    1252 - iobuf_cursor_test.IOBuf.cloneAndInsert (Bus error)
    1257 - iobuf_cursor_test.IOBuf.QueueAppender (Bus error)
    1264 - iobuf_cursor_test.IOBuf.CursorOperators (Bus error)
    1265 - iobuf_cursor_test.IOBuf.StringOperations (Bus error)
    1269 - iobuf_cursor_test.IOBuf.TestRetreatSingle (Bus error)
    1270 - iobuf_cursor_test.IOBuf.TestRetreatMulti (Bus error)
    1272 - iobuf_cursor_test.IOBuf.tryRead (Failed)
    1276 - iobuf_cursor_test.IOBuf.readConsumesAllInputOnFailure (Bus error)
    1279 - iobuf_cursor_test.IOBuf.BoundedCursorSanity (Bus error)
    1280 - iobuf_cursor_test.IOBuf.BoundedCursorOperators (Bus error)
    1281 - iobuf_cursor_test.IOBuf.BoundedCursorPullAndPeek (Bus error)
    1293 - iobuf_queue_test.IOBufQueue.Split (Bus error)
    1352 - NotificationQueueTest.NotificationQueueTest.ConsumeUntilDrained (Bus error)
    1353 - NotificationQueueTest.NotificationQueueTest.ConsumeUntilDrainedStress (Bus error)
    1357 - NotificationQueueTest.NotificationQueueTest.MaxQueueSizeEventFD (Bus error)
    1363 - NotificationQueueTest.NotificationQueueTest.MaxQueueSizePipe (Bus error)
    1381 - RequestContextTest.RequestContextTest.ThreadId (Bus error)
    1418 - lang_bits_test.Bits.PartialLoadUnaligned (Failed)
    1460 - lang_exception_test.ExceptionTest.throw_exception_direct (Bus error)
    1461 - lang_exception_test.ExceptionTest.throw_exception_variadic (Bus error)
    1462 - lang_exception_test.ExceptionTest.terminate_with_direct (Failed)
    1463 - lang_exception_test.ExceptionTest.terminate_with_variadic (Failed)
    1467 - lang_exception_test.ExceptionTest.rethrow_current_exception (Bus error)
    1482 - lang_ordering_test.OrderingTest.partial_ordering (Bus error)
    1552 - arena_test.Arena.SizeLimit (Bus error)
    1553 - arena_test.Arena.ExtremeSize (Bus error)
    1613 - time-test.Time.clockGettimeMonotonicAreWithin120SecsOfStdChronoSteadyClock (Failed)
    1625 - openssl_hash_test.OpenSSLHashTest.digest_update_without_init_throws (Bus error)
    1626 - openssl_hash_test.OpenSSLHashTest.digest_final_without_init_throws (Bus error)
    1636 - openssl_hash_test.OpenSSLHashTest.hmac_update_without_init_throws (Bus error)
    1637 - openssl_hash_test.OpenSSLHashTest.hmac_final_without_init_throws (Bus error)
    1696 - timeseries_test.BucketedTimeSeries.reConstructWithCorruptedData (Bus error)
    1720 - call_once_test.FollyCallOnce/*.Exception (Bus error)
    1722 - call_once_test.FollyCallOnce/*.Lazy (Bus error)
    1730 - lifo_sem_test.LifoSemTest.no_blocking (Timeout)
    1732 - lifo_sem_test.LifoSemTest.shutdown_wait_order (Bus error)
    1733 - lifo_sem_test.LifoSemTest.shutdown_multi (SEGFAULT)
    1736 - lifo_sem_test.LifoSemTest.timeout (SEGFAULT)
    1737 - lifo_sem_test.LifoSemTest.shutdown_try_wait_for (Bus error)
    1822 - thread_id_test.ThreadId.getOSThreadID (Failed)
    1823 - thread_id_test.ThreadId.getOSThreadIDCache (Failed)
    1827 - atomic_struct_test.AtomicStruct.twoBy32 (Failed)
    1878 - atomic_hash_array_test.Aha.ZeroSizeMapThrows (Bus error)
    1886 - atomic_unordered_map_test.AtomicUnorderedInsertMapTest/*.basic (Failed)
    1889 - atomic_unordered_map_test.AtomicUnorderedInsertMapTest/*.valueMutation (Failed)
    1891 - atomic_unordered_map_test.AtomicUnorderedInsertMap.DISABLEDMegaMap (Failed)
    1892 - base64_test.Base64Test.NormalTest (Bus error)
    1951 - conv_test.Conv.Floating2Floating (Bus error)
    1953 - conv_test.Conv.String2Integral (Bus error)
    1956 - conv_test.Conv.BadStringToIntegral (Bus error)
    1963 - conv_test.Conv.StringPieceToDouble (Bus error)
    1964 - conv_test.Conv.EmptyStringToInt (Bus error)
    1966 - conv_test.Conv.EmptyStringToDouble (Bus error)
    1967 - conv_test.Conv.IntToDouble (Bus error)
    1968 - conv_test.Conv.DoubleToInt (Bus error)
    1970 - conv_test.Conv.EnumToInt (Bus error)
    1972 - conv_test.Conv.IntToEnum (Bus error)
    1973 - conv_test.Conv.UnsignedEnum (Bus error)
    1974 - conv_test.Conv.UnsignedEnumClass (Bus error)
    1977 - conv_test.Conv.StringToBool (Bus error)
    1979 - conv_test.Conv.FloatToInt (Bus error)
    1980 - conv_test.Conv.IntToFloat (Bus error)
    1985 - conv_test.Conv.ConversionErrorStrToBool (Bus error)
    1986 - conv_test.Conv.ConversionErrorStrToFloat (Bus error)
    1987 - conv_test.Conv.ConversionErrorStrToInt (Bus error)
    1988 - conv_test.Conv.ConversionErrorPtrPairToInt (Bus error)
    1989 - conv_test.Conv.ConversionErrorIntToInt (Bus error)
    1990 - conv_test.Conv.ConversionErrorFloatToFloat (Bus error)
    1991 - conv_test.Conv.ConversionErrorIntToFloat (Bus error)
    1992 - conv_test.Conv.ConversionErrorFloatToInt (Bus error)
    2019 - dynamic_test.Dynamic.ObjectBasics (Bus error)
    2022 - dynamic_test.Dynamic.ObjectHeterogeneousAccess (Bus error)
    2026 - dynamic_test.Dynamic.ArrayErase (Bus error)
    2028 - dynamic_test.Dynamic.ArrayBasics (Bus error)
    2029 - dynamic_test.Dynamic.Reserve (Bus error)
    2032 - dynamic_test.Dynamic.Operator (Bus error)
    2033 - dynamic_test.Dynamic.ComparisonOperatorsOnNotEqualValuesOfAllTypes (Bus error)
    2034 - dynamic_test.Dynamic.ComparisonOperatorsOnSameValuesOfSameTypes (Bus error)
    2035 - dynamic_test.Dynamic.ComparisonOperatorsForNumericallyEqualIntAndDoubles (Bus error)
    2040 - dynamic_test.Dynamic.Conversions (Bus error)
    2041 - dynamic_test.Dynamic.GetSetDefaultTest (Bus error)
    2068 - dynamic_test.Dynamic.JSONPointer (Bus error)
    2089 - dynamic_converter_test.DynamicConverter.errors (Bus error)
    2091 - dynamic_converter_test.DynamicConverter.asanExceptionCaseUmap (Bus error)
    2092 - dynamic_converter_test.DynamicConverter.asanExceptionCaseUset (Bus error)
    2093 - dynamic_converter_test.DynamicConverter.doubleDestroy (Bus error)
    2096 - dynamic_other_test.Dynamic.StringPtrs (Bus error)
    2097 - dynamic_other_test.Dynamic.Getters (Bus error)
    2112 - exception_test.ExceptionTest.Simple (Bus error)
    2115 - exception_wrapper_test.ExceptionWrapper.throwTest (Bus error)
    2116 - exception_wrapper_test.ExceptionWrapper.throwWithNested (Bus error)
    2120 - exception_wrapper_test.ExceptionWrapper.getOrMakeExceptionPtrTest (Bus error)
    2125 - exception_wrapper_test.ExceptionWrapper.withSharedPtrTest (Bus error)
    2126 - exception_wrapper_test.ExceptionWrapper.withExceptionPtrExnTest (Bus error)
    2127 - exception_wrapper_test.ExceptionWrapper.withExceptionPtrAnyTest (Bus error)
    2128 - exception_wrapper_test.ExceptionWrapper.withNonStdExceptionTest (Bus error)
    2129 - exception_wrapper_test.ExceptionWrapper.withExceptionPtrAnyNilTest (Bus error)
    2135 - exception_wrapper_test.ExceptionWrapper.nonStdExceptionTest (Bus error)
    2138 - exception_wrapper_test.ExceptionWrapper.implicitConstruction (Bus error)
    2143 - exception_wrapper_test.ExceptionWrapper.handleStdExceptionPropagated (Bus error)
    2145 - exception_wrapper_test.ExceptionWrapper.handleNonStdExceptionBig (Bus error)
    2171 - expected_test.Expected.Exceptions (Bus error)
    2179 - expected_test.Expected.ThenOrThrow (Bus error)
    2186 - fbstring_test.FBString.testAllClauses (Bus error)
    2192 - fbstring_test.FBString.testConstructionFromLiteralZero (Bus error)
    2223 - fbstring_test.FBString.OverLarge (Bus error)
    2225 - fbvector_test.fbvector.clause233613Ambiguity (Failed)
    2226 - fbvector_test.fbvector.clause2336111Ambiguity (Failed)
    2228 - fbvector_test.fbvector.clause23364Ambiguity (Failed)
    2229 - fbvector_test.fbvector.composition (Bus error)
    2230 - fbvector_test.fbvector.worksWithStdString (SEGFAULT)
    2232 - fbvector_test.fbvector.moveConstruction (Failed)
    2233 - fbvector_test.fbvector.emplace (SEGFAULT)
    2245 - fbvector_test.FBVector.overflowConstruct (Bus error)
    2246 - fbvector_test.FBVector.overflowResize (Bus error)
    2247 - fbvector_test.FBVector.overflowAssign (Bus error)
    2248 - fbvector_test.FBVector.zeroInit (Failed)
    2254 - file_test.File.UsefulError (Bus error)
    2257 - file_test.File.DupCloseOnExec (Failed)
    2258 - file_test.File.HelperCtor (Bus error)
    2274 - file_util_test.WriteFileAtomic.directoryPermissions (Failed)
    2298 - fixed_string_test.FixedStringIndexTest.Index (Bus error)
    2334 - format_other_test.FormatOther.dynamic (Bus error)
    2340 - format_test.Format.Simple (SEGFAULT)
    2347 - format_test.Format.Unformatted (Bus error)
    2349 - format_test.Format.OutOfBounds (SEGFAULT)
    2350 - format_test.Format.BogusFormatString (Bus error)
    2358 - function_ref_test.FunctionRef.DefaultConstructAndAssign (Bus error)
    2360 - function_ref_test.FunctionRef.Emptiness (Bus error)
    2393 - json_test.Json.Parse (Bus error)
    2395 - json_test.Json.DuplicateKeys (Bus error)
    2396 - json_test.Json.ParseConvertInt (Bus error)
    2397 - json_test.Json.PrintConvertInt (SEGFAULT)
    2398 - json_test.Json.ParseTrailingComma (Bus error)
    2400 - json_test.Json.JavascriptSafe (Bus error)
    2401 - json_test.Json.Produce (SEGFAULT)
    2402 - json_test.Json.PrintExceptionErrorMessages (Bus error)
    2405 - json_test.Json.JsonNonAsciiEncoding (SEGFAULT)
    2407 - json_test.Json.UTF8EncodeNonAsciiRetention (SEGFAULT)
    2408 - json_test.Json.UTF8Validation (SEGFAULT)
    2409 - json_test.Json.ParseNonStringKeys (Bus error)
    2410 - json_test.Json.ParseDoubleFallback (Bus error)
    2411 - json_test.Json.ParseNumbersAsStrings (Bus error)
    2415 - json_test.Json.RecursionLimit (Bus error)
    2426 - json_patch_test.JsonPatchTest.FromNotFound (Bus error)
    2450 - map_util_test.MapUtil.getOrThrow (Bus error)
    2451 - map_util_test.MapUtil.getOrThrowSpecified (Bus error)
    2504 - memory_test.SysAllocator.badAlloc (Failed)
    2509 - memory_test.AlignedSysAllocator.badAllocFixed (Failed)
    2514 - memory_test.AlignedSysAllocator.badAllocDefault (Failed)
    2517 - memory_test.allocateUnique.ctorFailure (Bus error)
    2560 - optional_test.Optional.Exceptions (Bus error)
    2580 - random_test.Random.MultiThreaded (Bus error)
    2592 - range_test.StringPiece.InvalidRange (Bus error)
    2599 - range_test.StringPiece.erase (Bus error)
    2614 - range_test.NeedleFinderTest/*.NoSegFault (Bus error)
    2634 - range_test.ReplaceAll.BadArg (Bus error)
    2683 - scope_guard_test.ScopeGuard.TESTScopeFailExceptionPtr (Bus error)
    2688 - small_vector_test.smallVector.BasicGuarantee (Bus error)
    2700 - small_vector_test.smallVector.NoHeap (Bus error)
    2726 - small_vector_test.smallVector.NoHeapStorageForSortedVectorMap (Bus error)
    2728 - small_vector_test.smallVector.NoHeapStorageForSortedVectorSet (Bus error)
    2736 - small_vector_test.smallVector.PolicyMaxSizeExceeded (Bus error)
    2738 - small_vector_test.smallVector.overflowConstruct (Bus error)
    2739 - small_vector_test.smallVector.overflowResize (Bus error)
    2740 - small_vector_test.smallVector.overflowAssign (Bus error)
    2741 - small_vector_test.smallVector.rangeConstructorForwardIteratorThrows (Bus error)
    2742 - small_vector_test.smallVector.rangeConstructorInputIteratorThrows (Bus error)
    2750 - sorted_vector_types_test.SortedVectorTypes.SimpleMapTest (Bus error)
    2757 - sorted_vector_types_test.SortedVectorTest.EmptyTest (Bus error)
    2800 - string_test.Escape.cUnescape (Bus error)
    2802 - string_test.Escape.uriUnescape (Bus error)
    2805 - string_test.Escape.uriUnescapePercentDecoding (Bus error)
    2807 - string_test.PrettyToDouble.Basic (Bus error)
    2819 - string_test.Split.fixedConvertCustom (Bus error)
    2822 - string_test.String.unhexlify (Bus error)
    2857 - synchronized_test.SynchronizedTimedTest/*.Timed (SEGFAULT)
    2982 - try_test.Try.ValueOverloads (Bus error)
    2990 - try_test.Try.exception (Bus error)
    3006 - uri_test.Uri.Simple (Bus error)
    3007 - uri_test.Uri.BadPortThrowsInvalidArgument (Bus error)
    3033 - lt_hash_test.LtHashTest/*.setChecksumFailure (Bus error)
    3051 - singleton_thread_local_test.SingletonThreadLocalDeathTest.Overload (Bus error)

(I disabled a couple of known-to-be-broken-tests, and there is one new for thread caching, which expectedly fails, but otherwise I do not see anything notable. Gonna check logs tomorrow, this already took some 20+ hrs in a row.)

On the other hand, and ironically, on the latest macOS 14.3 arm64 tests are just marginally better with 91% passing vs 90% on 10.6 ppc :)

barracuda156 commented 8 months ago

Re time, perhaps we can use mftb for PowerPC in /include/folly/chrono/Hardware.h.

barracuda156 commented 2 months ago

https://github.com/facebook deleted a comment from rostech1793 12 hours ago

What happened here?

Orvid commented 2 months ago

They made nonsensical comments on multiple issues, so I removed the comments they made.

barracuda156 commented 2 months ago

@Orvid Thank you for clarifying that.

By the way, do we have chances getting at least some of fixes merged? There is no need to rush with some experimental ones for BE archs, of course, but some are/should be uncontroversial. Everything macOS-specific can be verified that it at least does not break anything from status of MacPorts buildbots (since my patches are used in MacPorts). I believe also, we have folly building on considerably more macOS versions than it is possible to do from upstream directly.

I can understand that as long as no one with an interest in BE platforms and some understanding of what to do passes by, issues are stalled, that’s fine. But even a simple fix for recent macOS on x86 is neither merged for months nor given any alternative (last version of folly from June I tried to build still has that bug).

I need somebody from upstream willing to verify and merge proposed fixes (doing it selectively is fine). Since perhaps nobody will have time to test those on every existing macOS version, I suggest the following: as long as a patch does not break officially supported platforms and has no obvious potential to introduce regressions, rely on MacPorts buildbots results for x86 and my opinion for PowerPC. Without some degree of trust and good will this won’t proceed otherwise.