Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
barracuda156 opened this issue Jan 22, 2024 · 25 comments

Comments

@barracuda156
Copy link

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
Copy link
Author

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
Copy link
Contributor

Orvid commented Jan 22, 2024

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
Copy link
Author

@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
Copy link
Author

@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
Copy link
Author

@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
Copy link
Author

barracuda156 commented Jan 24, 2024

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 barracuda156 changed the title [powerpc] Build error: PicoSpinLock.h: error: no match for call to '(const folly::make_atomic_ref_t) (folly::PicoSpinLock<long long int, 63>::UIntType&)' [powerpc] Some build errors and test results: issues to be addressed – threading, endianness Jan 24, 2024
@barracuda156
Copy link
Author

@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
Copy link
Author

barracuda156 commented Jan 24, 2024

  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<microseconds>(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<milliseconds>(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<seconds>(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<system_clock>(nanoseconds(8219876543LL))
    Which is: 8-byte object <00-00 00-01 E9-F1 5C-BF>
  to<system_clock::time_point>(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<steady_clock>(nanoseconds(8219876543LL))
    Which is: 8-byte object <00-00 00-01 E9-F1 5C-BF>
  to<steady_clock::time_point>(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.)

  1. 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
<end of output>
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
<end of output>
Test time =   0.10 sec
----------------------------------------------------------
Test Failed.

@barracuda156
Copy link
Author

  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
<end of output>
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
<end of output>
Test time =   0.11 sec
----------------------------------------------------------
Test Failed.

Related:
#1993
#1834

@barracuda156
Copy link
Author

  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
Copy link
Author

  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
<end of output>
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<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: -715827882
  (testGet<aligned, T>(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
<end of output>
Test time =   0.10 sec
----------------------------------------------------------
Test Failed.

@barracuda156
Copy link
Author

  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
Copy link
Author

  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:
    PowerPC: i2pd fails with Bus error if built using GCC atomics PurpleI2P/i2pd#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
Copy link
Author

  1. future_dag_test – multiple failures here; not sure straightaway, but I suspect wrong alignments. Something, possibly, this kind? boostorg/smart_ptr@97c9204

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

@barracuda156
Copy link
Author

  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.
<end of output>
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.
<end of output>
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
Copy link
Author

  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
<end of output>
Test time =   0.19 sec
----------------------------------------------------------
Test Failed.

crc32cSoftware and crc32cAutodetect all fail, but hardware ones pass.

@barracuda156
Copy link
Author

  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
<end of output>
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
<end of output>
Test time =   0.11 sec
----------------------------------------------------------
Test Failed.

@barracuda156
Copy link
Author

  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
Copy link
Author

  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
Copy link
Author

  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
Copy link
Author

@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
Copy link
Author

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

barracuda156 referenced this issue Jun 21, 2024
Summary: To support `constexpr` we just need to bypass `loadUnaligned()`.

Reviewed By: ilvokhin

Differential Revision: D57908121

fbshipit-source-id: 6409f4e0157478a0c711b376ef35af42d4150856
@facebook facebook deleted a comment from rostech1793 Jun 27, 2024
@barracuda156
Copy link
Author

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

What happened here?

@Orvid
Copy link
Contributor

Orvid commented Jul 1, 2024

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

@barracuda156
Copy link
Author

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants