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

Infinite loop and failing tests on linux/arm64/tegra #2822

Closed
fake-name opened this issue Mar 19, 2022 · 3 comments
Closed

Infinite loop and failing tests on linux/arm64/tegra #2822

fake-name opened this issue Mar 19, 2022 · 3 comments

Comments

@fake-name
Copy link

fake-name commented Mar 19, 2022

I'm attempting to port a project that uses fmt to ubuntu 18.04/arm-64 on a Nvidia Tegra TX2 platform.

I'm not sure if I'm seeing a platform dependent issue, or a actual bug, but when running make test it gets stuck in a infinite loop. I'm stuck on ubuntu 18.04, as that's the only platform NVidia supports for their CUDA components, so I cannot change it.

I'm on current HEAD. (e7f31f5)

Including a lot of info since I'm not sure what's important here

client@tegra-ubuntu:/mnt/ssd/workspace/libraries/fmt/build$ git log
commit e7f31f5cdb050d590e4f6ad2f3c1970c89a9ead1 (HEAD -> master, origin/master, origin/HEAD)
Author: Victor Zverovich <viz@fb.com>
Date:   Fri Mar 18 16:03:19 2022 -0700

    Cleanup format_dragon

commit 3c61799fbf7c5acc0c54ab0228099347309219b4
Author: Victor Zverovich <viz@fb.com>
Date:   Fri Mar 18 11:18:03 2022 -0700

    Cleanup fuzzing mode

<snip>

client@tegra-ubuntu:/mnt/ssd/workspace/libraries/fmt/build$ cmake -E env CXXFLAGS="-march=native" CFLAGS="-march=native" cmake -DCMAKE_BUILD_TYPE=Release ../
-- CMake version: 3.22.2
-- The CXX compiler identification is GNU 7.5.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Module support is disabled.
-- Version: 8.1.2
-- Build type: Release
-- CXX_STANDARD: 11
-- Performing Test has_std_11_flag
-- Performing Test has_std_11_flag - Success
-- Performing Test has_std_0x_flag
-- Performing Test has_std_0x_flag - Success
-- Performing Test SUPPORTS_USER_DEFINED_LITERALS
-- Performing Test SUPPORTS_USER_DEFINED_LITERALS - Success
-- Performing Test FMT_HAS_VARIANT
-- Performing Test FMT_HAS_VARIANT - Success
-- Required features: cxx_variadic_templates
-- Target 'doc' disabled (requires doxygen)
-- Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Performing Test HAVE_FNO_DELETE_NULL_POINTER_CHECKS
-- Performing Test HAVE_FNO_DELETE_NULL_POINTER_CHECKS - Success
-- FMT_PEDANTIC: OFF
-- Configuring done
-- Generating done
-- Build files have been written to: /mnt/ssd/workspace/libraries/fmt/build

client@tegra-ubuntu:/mnt/ssd/workspace/libraries/fmt/build$ make -j6
[  1%] Building CXX object CMakeFiles/fmt.dir/src/os.cc.o
[  3%] Building CXX object CMakeFiles/fmt.dir/src/format.cc.o
[  4%] Building CXX object test/gtest/CMakeFiles/gtest.dir/gmock-gtest-all.cc.o
[  6%] Linking CXX static library libfmt.a
[  6%] Built target fmt
[  7%] Linking CXX static library libgtest.a
[  7%] Built target gtest
[  9%] Building CXX object test/CMakeFiles/format-impl-test.dir/format-impl-test.cc.o
[ 10%] Building CXX object test/CMakeFiles/format-impl-test.dir/header-only-test.cc.o
[ 12%] Building CXX object test/CMakeFiles/posix-mock-test.dir/posix-mock-test.cc.o
[ 13%] Building CXX object test/CMakeFiles/unicode-test.dir/unicode-test.cc.o
[ 15%] Building CXX object test/CMakeFiles/test-main.dir/test-main.cc.o
[ 16%] Building CXX object test/CMakeFiles/compile-fp-test.dir/compile-fp-test.cc.o
[ 18%] Building CXX object test/CMakeFiles/test-main.dir/gtest-extra.cc.o
[ 20%] Building CXX object test/CMakeFiles/compile-fp-test.dir/test-main.cc.o
[ 21%] Building CXX object test/CMakeFiles/compile-fp-test.dir/gtest-extra.cc.o
[ 23%] Building CXX object test/CMakeFiles/test-main.dir/util.cc.o
[ 24%] Building CXX object test/CMakeFiles/posix-mock-test.dir/__/src/format.cc.o
[ 26%] Linking CXX static library libtest-main.a
[ 26%] Built target test-main
[ 27%] Building CXX object test/CMakeFiles/args-test.dir/args-test.cc.o
[ 29%] Building CXX object test/CMakeFiles/format-impl-test.dir/test-main.cc.o
[ 30%] Building CXX object test/CMakeFiles/unicode-test.dir/test-main.cc.o
[ 32%] Building CXX object test/CMakeFiles/format-impl-test.dir/gtest-extra.cc.o
[ 33%] Linking CXX executable ../bin/args-test
[ 33%] Built target args-test
[ 35%] Building CXX object test/CMakeFiles/format-impl-test.dir/util.cc.o
[ 36%] Building CXX object test/CMakeFiles/unicode-test.dir/gtest-extra.cc.o
[ 38%] Building CXX object test/CMakeFiles/compile-fp-test.dir/util.cc.o
[ 40%] Building CXX object test/CMakeFiles/posix-mock-test.dir/test-main.cc.o
[ 41%] Building CXX object test/CMakeFiles/posix-mock-test.dir/gtest-extra.cc.o
[ 43%] Building CXX object test/CMakeFiles/format-impl-test.dir/__/src/os.cc.o
[ 44%] Building CXX object test/CMakeFiles/posix-mock-test.dir/util.cc.o
[ 46%] Building CXX object test/CMakeFiles/assert-test.dir/assert-test.cc.o
[ 47%] Building CXX object test/CMakeFiles/unicode-test.dir/util.cc.o
[ 49%] Building CXX object test/CMakeFiles/unicode-test.dir/__/src/os.cc.o
[ 50%] Building CXX object test/CMakeFiles/compile-fp-test.dir/__/src/os.cc.o
[ 52%] Linking CXX executable ../bin/posix-mock-test
[ 52%] Built target posix-mock-test
[ 53%] Building CXX object test/CMakeFiles/chrono-test.dir/chrono-test.cc.o
[ 55%] Linking CXX executable ../bin/assert-test
[ 55%] Built target assert-test
[ 56%] Building CXX object test/CMakeFiles/color-test.dir/color-test.cc.o
[ 58%] Building CXX object test/CMakeFiles/core-test.dir/core-test.cc.o
[ 60%] Linking CXX executable ../bin/format-impl-test
[ 60%] Built target format-impl-test
[ 61%] Building CXX object test/CMakeFiles/gtest-extra-test.dir/gtest-extra-test.cc.o
[ 63%] Linking CXX executable ../bin/unicode-test
[ 63%] Built target unicode-test
[ 64%] Building CXX object test/CMakeFiles/format-test.dir/format-test.cc.o
[ 66%] Linking CXX executable ../bin/color-test
[ 66%] Built target color-test
[ 67%] Building CXX object test/CMakeFiles/ostream-test.dir/ostream-test.cc.o
[ 69%] Linking CXX executable ../bin/compile-fp-test
[ 69%] Built target compile-fp-test
[ 70%] Building CXX object test/CMakeFiles/compile-test.dir/compile-test.cc.o
[ 72%] Linking CXX executable ../bin/gtest-extra-test
[ 72%] Built target gtest-extra-test
[ 73%] Building CXX object test/CMakeFiles/printf-test.dir/printf-test.cc.o
[ 75%] Linking CXX executable ../bin/compile-test
[ 75%] Built target compile-test
[ 76%] Building CXX object test/CMakeFiles/ranges-test.dir/ranges-test.cc.o
[ 78%] Linking CXX executable ../bin/ostream-test
[ 78%] Built target ostream-test
[ 80%] Building CXX object test/CMakeFiles/ranges-test.dir/ranges-odr-test.cc.o
[ 81%] Building CXX object test/CMakeFiles/scan-test.dir/scan-test.cc.o
[ 83%] Linking CXX executable ../bin/ranges-test
[ 83%] Built target ranges-test
[ 84%] Building CXX object test/CMakeFiles/xchar-test.dir/xchar-test.cc.o
[ 86%] Linking CXX executable ../bin/scan-test
[ 86%] Built target scan-test
[ 87%] Building CXX object test/CMakeFiles/enforce-checks-test.dir/enforce-checks-test.cc.o
[ 89%] Linking CXX executable ../bin/core-test
[ 89%] Built target core-test
[ 90%] Building CXX object test/CMakeFiles/os-test.dir/os-test.cc.o
[ 92%] Linking CXX executable ../bin/chrono-test
[ 92%] Built target chrono-test
[ 93%] Linking CXX executable ../bin/os-test
[ 93%] Built target os-test
[ 95%] Linking CXX executable ../bin/enforce-checks-test
[ 95%] Built target enforce-checks-test
[ 96%] Linking CXX executable ../bin/xchar-test
[ 96%] Built target xchar-test
[ 98%] Linking CXX executable ../bin/format-test
[ 98%] Built target format-test
[100%] Linking CXX executable ../bin/printf-test
[100%] Built target printf-test
client@tegra-ubuntu:/mnt/ssd/workspace/libraries/fmt/build$ make test
Running tests...
Test project /mnt/ssd/workspace/libraries/fmt/build
      Start  1: args-test
 1/19 Test  #1: args-test ........................   Passed    0.02 sec
      Start  2: assert-test
 2/19 Test  #2: assert-test ......................   Passed    0.01 sec
      Start  3: chrono-test
 3/19 Test  #3: chrono-test ......................   Passed    0.48 sec
      Start  4: color-test
 4/19 Test  #4: color-test .......................   Passed    0.01 sec
      Start  5: core-test
 5/19 Test  #5: core-test ........................   Passed    0.02 sec
      Start  6: gtest-extra-test
 6/19 Test  #6: gtest-extra-test .................   Passed    0.02 sec
      Start  7: format-test

<system sticks at this point (I left it for over 24 hours), with one CPU pinned at 100%>

Looking around, it seems like the format-test step corresponds to the format-test binary. Running it manually produces a number of failures before it gets wedged:


client@tegra-ubuntu:/mnt/ssd/workspace/libraries/fmt/build/bin$ ./format-test
[==========] Running 105 tests from 6 test suites.
[----------] Global test environment set-up.
[----------] 3 tests from uint128_test
[ RUN      ] uint128_test.ctor
[       OK ] uint128_test.ctor (0 ms)
[ RUN      ] uint128_test.shift
[       OK ] uint128_test.shift (0 ms)
[ RUN      ] uint128_test.minus
[       OK ] uint128_test.minus (0 ms)
[----------] 3 tests from uint128_test (0 ms total)

[----------] 2 tests from float_test
[ RUN      ] float_test.isfinite
[       OK ] float_test.isfinite (0 ms)
[ RUN      ] float_test.isnan
[       OK ] float_test.isnan (0 ms)
[----------] 2 tests from float_test (0 ms total)

[----------] 9 tests from util_test
[ RUN      ] util_test.bit_cast
[       OK ] util_test.bit_cast (0 ms)
[ RUN      ] util_test.increment
[       OK ] util_test.increment (0 ms)
[ RUN      ] util_test.parse_nonnegative_int
[       OK ] util_test.parse_nonnegative_int (0 ms)
[ RUN      ] util_test.utf8_to_utf16
[       OK ] util_test.utf8_to_utf16 (0 ms)
[ RUN      ] util_test.utf8_to_utf16_empty_string
[       OK ] util_test.utf8_to_utf16_empty_string (0 ms)
[ RUN      ] util_test.allocator_ref
[       OK ] util_test.allocator_ref (0 ms)
[ RUN      ] util_test.format_system_error
[       OK ] util_test.format_system_error (0 ms)
[ RUN      ] util_test.system_error
[       OK ] util_test.system_error (0 ms)
[ RUN      ] util_test.report_system_error
[       OK ] util_test.report_system_error (0 ms)
[----------] 9 tests from util_test (1 ms total)

[----------] 9 tests from memory_buffer_test
[ RUN      ] memory_buffer_test.ctor
[       OK ] memory_buffer_test.ctor (0 ms)
[ RUN      ] memory_buffer_test.move_ctor_inline_buffer
[       OK ] memory_buffer_test.move_ctor_inline_buffer (0 ms)
[ RUN      ] memory_buffer_test.move_ctor_dynamic_buffer
[       OK ] memory_buffer_test.move_ctor_dynamic_buffer (0 ms)
[ RUN      ] memory_buffer_test.move_assignment
[       OK ] memory_buffer_test.move_assignment (0 ms)
[ RUN      ] memory_buffer_test.grow
[       OK ] memory_buffer_test.grow (0 ms)
[ RUN      ] memory_buffer_test.allocator
[       OK ] memory_buffer_test.allocator (0 ms)
[ RUN      ] memory_buffer_test.exception_in_deallocate
[       OK ] memory_buffer_test.exception_in_deallocate (0 ms)
[ RUN      ] memory_buffer_test.max_size_allocator
[       OK ] memory_buffer_test.max_size_allocator (0 ms)
[ RUN      ] memory_buffer_test.max_size_allocator_overflow
[       OK ] memory_buffer_test.max_size_allocator_overflow (0 ms)
[----------] 9 tests from memory_buffer_test (0 ms total)


[----------] 80 tests from format_test
[ RUN      ] format_test.escape
[       OK ] format_test.escape (0 ms)
[ RUN      ] format_test.unmatched_braces
[       OK ] format_test.unmatched_braces (0 ms)
[ RUN      ] format_test.no_args
[       OK ] format_test.no_args (0 ms)
[ RUN      ] format_test.args_in_different_positions
[       OK ] format_test.args_in_different_positions (0 ms)
[ RUN      ] format_test.arg_errors
[       OK ] format_test.arg_errors (0 ms)
[ RUN      ] format_test.many_args
[       OK ] format_test.many_args (0 ms)
[ RUN      ] format_test.named_arg
[       OK ] format_test.named_arg (0 ms)
[ RUN      ] format_test.auto_arg_index
[       OK ] format_test.auto_arg_index (0 ms)
[ RUN      ] format_test.empty_specs
[       OK ] format_test.empty_specs (0 ms)
[ RUN      ] format_test.left_align
/mnt/ssd/workspace/libraries/fmt/test/format-test.cc:567: Failure
Expected equality of these values:
  "-42  "
  fmt::format("{0:<5}", -42.0l)
    Which is: "-00  "
[  FAILED  ] format_test.left_align (0 ms)
[ RUN      ] format_test.right_align
/mnt/ssd/workspace/libraries/fmt/test/format-test.cc:584: Failure
Expected equality of these values:
  "  -42"
  fmt::format("{0:>5}", -42.0l)
    Which is: "  -00"
[  FAILED  ] format_test.right_align (0 ms)
[ RUN      ] format_test.center_align
/mnt/ssd/workspace/libraries/fmt/test/format-test.cc:601: Failure
Expected equality of these values:
  " -42 "
  fmt::format("{0:^5}", -42.0l)
    Which is: " -00 "
[  FAILED  ] format_test.center_align (0 ms)
[ RUN      ] format_test.fill
/mnt/ssd/workspace/libraries/fmt/test/format-test.cc:620: Failure
Expected equality of these values:
  "**-42"
  fmt::format("{0:*>5}", -42.0l)
    Which is: "**-00"
[  FAILED  ] format_test.fill (0 ms)
[ RUN      ] format_test.plus_sign
/mnt/ssd/workspace/libraries/fmt/test/format-test.cc:649: Failure
Expected equality of these values:
  "+42"
  fmt::format("{0:+}", 42.0l)
    Which is: "+00"
[  FAILED  ] format_test.plus_sign (0 ms)
[ RUN      ] format_test.minus_sign
/mnt/ssd/workspace/libraries/fmt/test/format-test.cc:674: Failure
Expected equality of these values:
  "42"
  fmt::format("{0:-}", 42.0l)
    Which is: "00"
[  FAILED  ] format_test.minus_sign (0 ms)
[ RUN      ] format_test.space_sign
/mnt/ssd/workspace/libraries/fmt/test/format-test.cc:699: Failure
Expected equality of these values:
  " 42"
  fmt::format("{0: }", 42.0l)
    Which is: " 00"
[  FAILED  ] format_test.space_sign (0 ms)
[ RUN      ] format_test.hash_flag
/mnt/ssd/workspace/libraries/fmt/test/format-test.cc:746: Failure
Expected equality of these values:
  "-42.0"
  fmt::format("{0:#}", -42.0l)
    Which is: "-00.0"
[  FAILED  ] format_test.hash_flag (0 ms)
[ RUN      ] format_test.zero_flag
/mnt/ssd/workspace/libraries/fmt/test/format-test.cc:771: Failure
Expected equality of these values:
  "-000042"
  fmt::format("{0:07}", -42.0l)
    Which is: "-000000"
[  FAILED  ] format_test.zero_flag (0 ms)
[ RUN      ] format_test.width
/mnt/ssd/workspace/libraries/fmt/test/format-test.cc:808: Failure
Expected equality of these values:
  "    -1.23"
  fmt::format("{0:9}", -1.23l)
    Which is: "-0.0000000000000031263880373444408178"
[  FAILED  ] format_test.width (0 ms)
[ RUN      ] format_test.runtime_width
/mnt/ssd/workspace/libraries/fmt/test/format-test.cc:874: Failure
Expected equality of these values:
  "    -1.23"
  fmt::format("{0:{1}}", -1.23l, 9)
    Which is: "-0.0000000000000031263880373444408178"
[  FAILED  ] format_test.runtime_width (0 ms)
[ RUN      ] format_test.precision
/mnt/ssd/workspace/libraries/fmt/test/format-test.cc:934: Failure
Expected equality of these values:
  "1.2"
  fmt::format("{0:.2}", 1.2345l)
    Which is: "0"

So it looks like /something/ is going pretty seriously wrong.

Throwing the binary in to gdb, and interrupting it when it's wedged:



^C
Program received signal SIGINT, Interrupt.
0x00000055555d5724 in fmt::v8::appender fmt::v8::detail::copy_str_noinline<char, char const*, fmt::v8::appender>(char const*, char const*, fmt::v8::appender) ()
(gdb) bt
#0  0x00000055555d5724 in fmt::v8::appender fmt::v8::detail::copy_str_noinline<char, char const*, fmt::v8::appender>(char const*, char const*, fmt::v8::appender) ()
#1  0x00000055555e56b0 in fmt::v8::appender fmt::v8::detail::do_write_float<fmt::v8::appender, fmt::v8::detail::big_decimal_fp, char, fmt::v8::detail::digit_grouping<char> >(fmt::v8::appender, fmt::v8::detail::big_decimal_fp const&, fmt::v8::basic_format_specs<char> const&, fmt::v8::detail::float_specs, fmt::v8::detail::locale_ref) ()
#2  0x00000055555e5cc4 in fmt::v8::appender fmt::v8::detail::write<char, fmt::v8::appender, long double, 0>(fmt::v8::appender, long double, fmt::v8::basic_format_specs<char>, fmt::v8::detail::locale_ref) ()
#3  0x00000055555e9014 in void fmt::v8::detail::vformat_to<char>(fmt::v8::detail::buffer<char>&, fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt::v8::basic_format_context<std::conditional<std::is_same<fmt::v8::type_identity<char>::type, char>::value, fmt::v8::appender, std::back_insert_iterator<fmt::v8::detail::buffer<fmt::v8::type_identity<char>::type> > >::type, fmt::v8::type_identity<char>::type> >, fmt::v8::detail::locale_ref)::format_handler::on_format_specs(int, char const*, char const*) ()
#4  0x00000055555e92d4 in char const* fmt::v8::detail::parse_replacement_field<char, void fmt::v8::detail::vformat_to<char>(fmt::v8::detail::buffer<char>&, fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt::v8::basic_format_context<std::conditional<std::is_same<fmt::v8::type_identity<char>::type, char>::value, fmt::v8::appender, std::back_insert_iterator<fmt::v8::detail::buffer<fmt::v8::type_identity<char>::type> > >::type, fmt::v8::type_identity<char>::type> >, fmt::v8::detail::locale_ref)::format_handler&>(char const*, char const*, void fmt::v8::detail::vformat_to<char>(fmt::v8::detail::buffer<char>&, fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt::v8::basic_format_context<std::conditional<std::is_same<fmt::v8::type_identity<char>::type, char>::value, fmt::v8::appender, std::back_insert_iterator<fmt::v8::detail::buffer<fmt::v8::type_identity<char>::type> > >::type, fmt::v8::type_identity<char>::type> >, fmt::v8::detail::locale_ref)::format_handler&) ()
#5  0x00000055555e9b8c in void fmt::v8::detail::vformat_to<char>(fmt::v8::detail::buffer<char>&, fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt::v8::basic_format_context<std::conditional<std::is_same<fmt::v8::type_identity<char>::type, char>::value, fmt::v8::appender, std::back_insert_iterator<fmt::v8::detail::buffer<fmt::v8::type_identity<char>::type> > >::type, fmt::v8::type_identity<char>::type> >, fmt::v8::detail::locale_ref) ()
#6  0x00000055555f8e58 in fmt::v8::vformat[abi:cxx11](fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt::v8::basic_format_context<fmt::v8::appender, char> >) ()
#7  0x00000055555952c0 in format_test_precision_Test::TestBody() ()
#8  0x000000555563c4c4 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) ()
#9  0x00000055556281e8 in testing::Test::Run() [clone .part.894] ()
#10 0x00000055556284a4 in testing::TestInfo::Run() [clone .part.895] ()
#11 0x0000005555628b1c in testing::TestSuite::Run() [clone .part.896] ()
#12 0x0000005555632464 in testing::internal::UnitTestImpl::RunAllTests() ()
#13 0x00000055556327c0 in testing::UnitTest::Run() ()
#14 0x00000055555728f4 in main ()
(gdb)

Resuming it and interrupting it several times seems to show it getting stuck at the exact same position every time, so it's wedged up in a very tight loop.

I'm running a debug build right now, though the tegra is not exactly a fun platform to work on (slooooow).

@fake-name
Copy link
Author

Ok, so the debug build doesn't infinite-loop, but it also fails:


client@tegra-ubuntu:/mnt/ssd/workspace/libraries/fmt/build$ make test
Running tests...
Test project /mnt/ssd/workspace/libraries/fmt/build
      Start  1: args-test
 1/19 Test  #1: args-test ........................   Passed    0.01 sec
      Start  2: assert-test
 2/19 Test  #2: assert-test ......................   Passed    0.63 sec
      Start  3: chrono-test
 3/19 Test  #3: chrono-test ......................   Passed    0.67 sec
      Start  4: color-test
 4/19 Test  #4: color-test .......................   Passed    0.02 sec
      Start  5: core-test
 5/19 Test  #5: core-test ........................   Passed    0.03 sec
      Start  6: gtest-extra-test
 6/19 Test  #6: gtest-extra-test .................   Passed    0.02 sec
      Start  7: format-test
 7/19 Test  #7: format-test ......................Subprocess aborted***Exception:   0.51 sec
      Start  8: format-impl-test
 8/19 Test  #8: format-impl-test .................   Passed    0.12 sec
      Start  9: ostream-test
 9/19 Test  #9: ostream-test .....................   Passed    0.01 sec
      Start 10: compile-test
10/19 Test #10: compile-test .....................   Passed    0.01 sec
      Start 11: compile-fp-test
11/19 Test #11: compile-fp-test ..................   Passed    0.01 sec
      Start 12: printf-test
12/19 Test #12: printf-test ......................Subprocess aborted***Exception:   0.54 sec
      Start 13: ranges-test
13/19 Test #13: ranges-test ......................   Passed    0.02 sec
      Start 14: scan-test
14/19 Test #14: scan-test ........................   Passed    0.01 sec
      Start 15: unicode-test
15/19 Test #15: unicode-test .....................   Passed    0.01 sec
      Start 16: xchar-test
16/19 Test #16: xchar-test .......................   Passed    0.02 sec
      Start 17: enforce-checks-test
17/19 Test #17: enforce-checks-test ..............   Passed    0.01 sec
      Start 18: posix-mock-test
18/19 Test #18: posix-mock-test ..................   Passed    0.01 sec
      Start 19: os-test
19/19 Test #19: os-test ..........................   Passed    0.02 sec

89% tests passed, 2 tests failed out of 19

Total Test time (real) =   2.73 sec

The following tests FAILED:
          7 - format-test (Subprocess aborted)
         12 - printf-test (Subprocess aborted)
Errors while running CTest
Output from these tests are in: /mnt/ssd/workspace/libraries/fmt/build/Testing/Temporary/LastTest.log
Use "--rerun-failed --output-on-failure" to re-run the failed cases verbosely.
Makefile:90: recipe for target 'test' failed
make: *** [test] Error 8
2 client@tegra-ubuntu:/mnt/ssd/workspace/libraries/fmt/build$

<snip>
Expected equality of these values:
  " -42 "
  fmt::format("{0:^5}", -42.0l)
    Which is: " -00 "
[  FAILED  ] format_test.center_align (0 ms)
[ RUN      ] format_test.fill
/mnt/ssd/workspace/libraries/fmt/test/format-test.cc:620: Failure
Expected equality of these values:
  "**-42"
  fmt::format("{0:*>5}", -42.0l)
    Which is: "**-00"
[  FAILED  ] format_test.fill (0 ms)
[ RUN      ] format_test.plus_sign
/mnt/ssd/workspace/libraries/fmt/test/format-test.cc:649: Failure
Expected equality of these values:
  "+42"
  fmt::format("{0:+}", 42.0l)
    Which is: "+00"
[  FAILED  ] format_test.plus_sign (0 ms)
[ RUN      ] format_test.minus_sign
/mnt/ssd/workspace/libraries/fmt/test/format-test.cc:674: Failure
Expected equality of these values:
  "42"
  fmt::format("{0:-}", 42.0l)
    Which is: "00"
[  FAILED  ] format_test.minus_sign (0 ms)
[ RUN      ] format_test.space_sign
/mnt/ssd/workspace/libraries/fmt/test/format-test.cc:699: Failure
Expected equality of these values:
  " 42"
  fmt::format("{0: }", 42.0l)
    Which is: " 00"
[  FAILED  ] format_test.space_sign (0 ms)
[ RUN      ] format_test.hash_flag
/mnt/ssd/workspace/libraries/fmt/test/format-test.cc:746: Failure
Expected equality of these values:
  "-42.0"
  fmt::format("{0:#}", -42.0l)
    Which is: "-00.0"
[  FAILED  ] format_test.hash_flag (0 ms)
[ RUN      ] format_test.zero_flag
/mnt/ssd/workspace/libraries/fmt/test/format-test.cc:771: Failure
Expected equality of these values:
  "-000042"
  fmt::format("{0:07}", -42.0l)
    Which is: "-000000"
[  FAILED  ] format_test.zero_flag (0 ms)
[ RUN      ] format_test.width
/mnt/ssd/workspace/libraries/fmt/test/format-test.cc:808: Failure
Expected equality of these values:
  "    -1.23"
  fmt::format("{0:9}", -1.23l)
    Which is: "-0.0000000000000031263880373444408178"
[  FAILED  ] format_test.width (0 ms)
[ RUN      ] format_test.runtime_width
/mnt/ssd/workspace/libraries/fmt/test/format-test.cc:874: Failure
Expected equality of these values:
  "    -1.23"
  fmt::format("{0:{1}}", -1.23l, 9)
    Which is: "-0.0000000000000031263880373444408178"
[  FAILED  ] format_test.runtime_width (1 ms)
[ RUN      ] format_test.precision
/mnt/ssd/workspace/libraries/fmt/test/format-test.cc:934: Failure
Expected equality of these values:
  "1.2"
  fmt::format("{0:.2}", 1.2345l)
    Which is: "0"
/mnt/ssd/workspace/libraries/fmt/include/fmt/core.h:404: assertion failed: negative valueterminate called without an active exception
Aborted (core dumped)

[ RUN      ] printf_test.ignore_precision_for_non_numeric_arg
[       OK ] printf_test.ignore_precision_for_non_numeric_arg (0 ms)
[ RUN      ] printf_test.dynamic_precision
[       OK ] printf_test.dynamic_precision (0 ms)
[ RUN      ] printf_test.length
/mnt/ssd/workspace/libraries/fmt/include/fmt/core.h:404: assertion failed: negative valueterminate called without an active exception
Aborted (core dumped)

So both those tests segfault.

Stack dump of failing format-test at segfault:

(gdb) bt full
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
        set = {__val = {0, 4294956888, 0, 545460846593, 0, 545460846593, 548547831040, 549755801104, 548547715492, 549755801072, 548543592656, 548544774144, 548547824864, 549755802369, 366505325614, 1}}
        pid = <optimized out>
        tid = <optimized out>
        ret = <optimized out>
#1  0x0000007fb7bef974 in __GI_abort () at abort.c:79
        save_stage = 1
        act = {__sigaction_handler = {sa_handler = 0x2d, sa_sigaction = 0x2d}, sa_mask = {__val = {0, 2676586395008836901, 2676586395008836901, 7957695015443329907, 4207599468169750048, 7546144, 2105245051, 0, 0, 18446744073692774400, 18446744069414584320, 0, 0,
              4616194021469979648, 4616194020396236800, 4616194021471028225}}, sa_flags = 1074791425, sa_restorer = 0x7fb7f81ac0}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x0000007fb7e8507c in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/aarch64-linux-gnu/libstdc++.so.6
No symbol table info available.
#3  0x0000007fb7e82c54 in ?? () from /usr/lib/aarch64-linux-gnu/libstdc++.so.6
No symbol table info available.
#4  0x0000007fb7e82ca0 in std::terminate() () from /usr/lib/aarch64-linux-gnu/libstdc++.so.6
No symbol table info available.
#5  0x00000055556446d4 in fmt::v8::detail::assert_fail (file=0x0, line=-13080, message=0x0) at /mnt/ssd/workspace/libraries/fmt/include/fmt/format-inl.h:40
No locals.
#6  0x00000055555cd1b8 in fmt::v8::detail::to_unsigned<long> (value=0) at /mnt/ssd/workspace/libraries/fmt/include/fmt/core.h:404
No locals.
#7  0x00000055555d1f04 in fmt::v8::detail::buffer<char>::append<char> (this=0x7fffffd7f0, begin=0x7fffffd301 "10", end=0x7fffffd300 "010") at /mnt/ssd/workspace/libraries/fmt/include/fmt/format.h:708
        count = 549755803632
        free_cap = 549755803632
#8  0x0000005555603690 in fmt::v8::detail::copy_str<char, char const*> (begin=0x7fffffd301 "10", end=0x7fffffd300 "010", out=...) at /mnt/ssd/workspace/libraries/fmt/include/fmt/core.h:1615
No locals.
#9  0x00000055555fa2ac in fmt::v8::detail::copy_str_noinline<char, char const*, fmt::v8::appender> (begin=0x7fffffd301 "10", end=0x7fffffd300 "010", out=...) at /mnt/ssd/workspace/libraries/fmt/include/fmt/format.h:529
No locals.
#10 0x000000555561d814 in fmt::v8::detail::write_significand<fmt::v8::appender, char> (out=..., significand=0x7fffffd300 "010", significand_size=0, integral_size=1, decimal_point=46 '.') at /mnt/ssd/workspace/libraries/fmt/include/fmt/format.h:2128
No locals.
#11 0x0000005555615c24 in fmt::v8::appender fmt::v8::detail::do_write_float<fmt::v8::appender, fmt::v8::detail::big_decimal_fp, char, fmt::v8::detail::digit_grouping<char> >(fmt::v8::appender, fmt::v8::detail::big_decimal_fp const&, fmt::v8::basic_format_specs<char> const&, fmt::v8::detail::float_specs, fmt::v8::detail::locale_ref)::{lambda(fmt::v8::appender)#2}::operator()(fmt::v8::appender) const (__closure=0x7fffffd190, it=...) at /mnt/ssd/workspace/libraries/fmt/include/fmt/format.h:2193
        sign = fmt::v8::sign::none
        significand = 0x7fffffd300 "010"
        significand_size = 0
        decimal_point = 46 '.'
        num_zeros = 0
        exp_char = 101 'e'
        output_exp = 0
#12 0x000000555561637c in fmt::v8::detail::do_write_float<fmt::v8::appender, fmt::v8::detail::big_decimal_fp, char, fmt::v8::detail::digit_grouping<char> > (out=..., fp=..., specs=..., fspecs=..., loc=...)
    at /mnt/ssd/workspace/libraries/fmt/include/fmt/format.h:2200
        abs_output_exp = 0
        exp_digits = 2
        exp_char = 101 'e'
        write = {__sign = fmt::v8::sign::none, __significand = 0x7fffffd300 "010", __significand_size = 0, __decimal_point = 46 '.', __num_zeros = 0, __exp_char = 101 'e', __output_exp = 0}
        num_zeros = 0
        significand = 0x7fffffd300 "010"
        significand_size = 0
        zero = 48 '0'
        sign = fmt::v8::sign::none
        size = 5
        decimal_point = 46 '.'
        output_exp = 0
        use_exp_format = {__fspecs = {precision = 1, format = fmt::v8::detail::float_format::exp, sign = fmt::v8::sign::none, upper = false, locale = false, binary32 = false, showpoint = false}, __output_exp = 0}
        exp = -11552
        num_zeros = 127
        pointy = false
#13 0x000000555560bc40 in fmt::v8::detail::write_float<fmt::v8::appender, fmt::v8::detail::big_decimal_fp, char> (out=..., fp=..., specs=..., fspecs=..., loc=...) at /mnt/ssd/workspace/libraries/fmt/include/fmt/format.h:2279
No locals.
#14 0x00000055556048ec in fmt::v8::detail::write<char, fmt::v8::appender, long double, 0> (out=..., value=1, specs=..., loc=...) at /mnt/ssd/workspace/libraries/fmt/include/fmt/format.h:2359
        fspecs = {precision = 1, format = fmt::v8::detail::float_format::exp, sign = fmt::v8::sign::none, upper = false, locale = false, binary32 = false, showpoint = false}
        buffer = warning: RTTI symbol not found for class 'fmt::v8::basic_memory_buffer<char, 500ul, std::allocator<char> >'
{<fmt::v8::detail::buffer<char>> = {_vptr.buffer = 0x5555752708 <vtable for fmt::v8::basic_memory_buffer<char, 500ul, std::allocator<char> >+16>, ptr_ = 0x7fffffd300 "010", size_ = 0, capacity_ = 500},
          store_ = "010", '\000' <repeats 45 times>, "\240\327\377\377\177\000\000\000 PdUU", '\000' <repeats 27 times>, "\360.ҷ\177\000\000\000\000\000\000\000\000\000\000@", '\000' <repeats 56 times>, " \324\377\377\177\000\000\000\020D\361\267\177\000\000\000\360\323\377\377\177\000\000\000\\R\360\267\177\000\000\000\240\326\377\377\177\000\000\000\020"..., alloc_ = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}}
        precision = 1
        exp = 1
        fp = {significand = 0x7fffffd300 "010", significand_size = 0, exponent = 1}
#15 0x00000055555e76f8 in fmt::v8::detail::arg_formatter<char>::operator()<long double> (value=<optimized out>, this=<optimized out>) at /mnt/ssd/workspace/libraries/fmt/include/fmt/format.h:2545
No locals.
#16 fmt::v8::visit_format_arg<fmt::v8::detail::arg_formatter<char>&, fmt::v8::basic_format_context<fmt::v8::appender, char> > (arg=..., vis=...) at /mnt/ssd/workspace/libraries/fmt/include/fmt/core.h:1597
No locals.
#17 void fmt::v8::detail::vformat_to<char>(fmt::v8::detail::buffer<char>&, fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt::v8::basic_format_context<std::conditional<std::is_same<fmt::v8::type_identity<char>::type, char>::value, fmt::v8::appender, std::back_insert_iterator<fmt::v8::detail::buffer<fmt::v8::type_identity<char>::type> > >::type, fmt::v8::type_identity<char>::type> >, fmt::v8::detail::locale_ref)::format_handler::on_format_specs(int, char const*, char const*) (this=0x7fffffd758, id=-13080,
    begin=0x55556b742d "}", end=0x55556b742e "") at /mnt/ssd/workspace/libraries/fmt/include/fmt/format.h:3291
        arg = {value_ = {{no_value = {<No data fields>}, int_value = 0, uint_value = 0, long_long_value = 0, ulong_long_value = 0, int128_value = 85065399433376081038215121361612832768, uint128_value = 85065399433376081038215121361612832768, bool_value = false,
              char_value = 0 '\000', float_value = 0, double_value = 0, long_double_value = 1, pointer = 0x0, string = {data = 0x0, size = 4611404543450677248}, custom = {value = 0x0, format = 0x3fff000000000000}, named_args = {data = 0x0,
                size = 4611404543450677248}}}, type_ = fmt::v8::detail::type::long_double_type}
        specs = {width = 0, precision = 0, type = fmt::v8::presentation_type::exp_lower, align = fmt::v8::align::none, sign = fmt::v8::sign::none, alt = false, localized = false, fill = {data_ = " \000\000", size_ = 1 '\001'}}
        handler = {<fmt::v8::detail::specs_handler<char>> = {<fmt::v8::detail::specs_setter<char>> = {specs_ = @0x7fffffd608}, parse_context_ = @0x7fffffd760, context_ = @0x7fffffd778}, arg_type_ = fmt::v8::detail::type::long_double_type}
        f = {out = {<std::back_insert_iterator<fmt::v8::detail::buffer<char> >> = {<std::iterator<std::output_iterator_tag, void, void, void, void>> = {<No data fields>}, container = 0x7fffffd7f0}, <No data fields>}, specs = @0x7fffffd608, locale = {locale_ = 0x0}}
#18 0x00000055555fae98 in fmt::v8::detail::parse_replacement_field<char, void fmt::v8::detail::vformat_to<char>(fmt::v8::detail::buffer<char>&, fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt::v8::basic_format_context<std::conditional<std::is_same<fmt::v8::type_identity<char>::type, char>::value, fmt::v8::appender, std::back_insert_iterator<fmt::v8::detail::buffer<fmt::v8::type_identity<char>::type> > >::type, fmt::v8::type_identity<char>::type> >, fmt::v8::detail::locale_ref)::format_handler&>(char const*, char const*, void fmt::v8::detail::vformat_to<char>(fmt::v8::detail::buffer<char>&, fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt::v8::basic_format_context<std::conditional<std::is_same<fmt::v8::type_identity<char>::type, char>::value, fmt::v8::appender, std::back_insert_iterator<fmt::v8::detail::buffer<fmt::v8::type_identity<char>::type> > >::type, fmt::v8::type_identity<char>::type> >, fmt::v8::detail::locale_ref)::format_handler&) (begin=0x0, end=0x55556b742e "", handler=...)
    at /mnt/ssd/workspace/libraries/fmt/include/fmt/core.h:2592
        adapter = {handler = @0x7fffffd758, arg_id = 0}
        c = <optimized out>
#19 0x00000055555e7a54 in fmt::v8::detail::parse_format_string<false, char, void fmt::v8::detail::vformat_to<char>(fmt::v8::detail::buffer<char>&, fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt::v8::basic_format_context<std::conditional<std::is_same<fmt::v8::type_identity<char>::type, char>::value, fmt::v8::appender, std::back_insert_iterator<fmt::v8::detail::buffer<fmt::v8::type_identity<char>::type> > >::type, fmt::v8::type_identity<char>::type> >, fmt::v8::detail::locale_ref)::format_handler>(fmt::v8::basic_string_view<char>, void fmt::v8::detail::vformat_to<char>(fmt::v8::detail::buffer<char>&, fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt::v8::basic_format_context<std::conditional<std::is_same<fmt::v8::type_identity<char>::type, char>::value, fmt::v8::appender, std::back_insert_iterator<fmt::v8::detail::buffer<fmt::v8::type_identity<char>::type> > >::type, fmt::v8::type_identity<char>::type> >, fmt::v8::detail::locale_ref)::format_handler&&) (handler=..., format_str=...)
    at /mnt/ssd/workspace/libraries/fmt/include/fmt/core.h:2617
        c = 0 '\000'
        p = <optimized out>
        begin = 0x7fffffd758 "\360\327\377\377\177"
        end = 0x55556b742e ""
        write = {handler_ = @0x7fffffe578}
        begin = <optimized out>
        end = <optimized out>
        write = <optimized out>
        p = <optimized out>
        c = <optimized out>
        p = <optimized out>
#20 fmt::v8::detail::vformat_to<char> (buf=..., fmt=..., args=..., loc=...) at /mnt/ssd/workspace/libraries/fmt/include/fmt/format.h:3295
        out = {<std::back_insert_iterator<fmt::v8::detail::buffer<char> >> = {<std::iterator<std::output_iterator_tag, void, void, void, void>> = {<No data fields>}, container = 0x7fffffd7f0}, <No data fields>}
#21 0x0000005555644fb0 in fmt::v8::vformat[abi:cxx11](fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt::v8::basic_format_context<fmt::v8::appender, char> >) (fmt=..., args=...) at /mnt/ssd/workspace/libraries/fmt/include/fmt/format-inl.h:2321
        buffer = warning: RTTI symbol not found for class 'fmt::v8::basic_memory_buffer<char, 500ul, std::allocator<char> >'
{<fmt::v8::detail::buffer<char>> = {_vptr.buffer = 0x5555752708 <vtable for fmt::v8::basic_memory_buffer<char, 500ul, std::allocator<char> >+16>, ptr_ = 0x7fffffd810 "0.1e+56", size_ = 2, capacity_ = 500},
          store_ = "0.1e+56\000\310\330\377\377\177\000\000\000P\330\377\377\177\000\000\000ģ\\UU\000\000\000\001\000\000\000\000\000\000\000\310\330\377\377\177\000\000\000\b\331\377\377\000\000\000\000\310\330\377\377\177\000\000\000p\330\377\377\177\000\000\000\254QfUU\000\000\000\b\331\377\377\177\000\000\000\070\340\377\377\177\000\000\000\220\330\377\377\177\000\000\000$\023_UU\000\000\000\001\000\000\000\000\000\000\000\070\340\377\377\177\000\000\000\260\330\377\377\177\000\000\000\230\\^UU\000\000\000\310\331\377\377---Type <return> to continue, or q <return> to quit---
\177\000\000\000\070\340\377\377\177\000\000\000\320\330\377\377\177\000\000\000\270\\^UU\000\000\000\350\331\377\377\177\000\000\000\070\340\377\377\177\000\000\000\360\330\377\377\177\000\000\000\340"...,
          alloc_ = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}}
#22 0x0000005555594b44 in fmt::v8::format<long double> (fmt=...) at /mnt/ssd/workspace/libraries/fmt/include/fmt/core.h:3143
No locals.
#23 format_test_precision_Test::TestBody (this=0x55557778b0) at /mnt/ssd/workspace/libraries/fmt/test/format-test.cc:937
        gtest_ar = {success_ = true, message_ = std::unique_ptr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >> = {get() = 0x0}}
        format_str = "{0:.2147483648}\000\250\346\377\377\177\000\000\000\020\336gUU\000\000\000\270xwUU\000\000\000\000\346\377\377\177\000\000\000\244'jUU", '\000' <repeats 11 times>, "\270xwUU\000\000\000 \346\377\377\177\000\000\000\354\246iUU\000\000\000 twUU\000\000\000\270xwUU\000\000\000@\346\377\377\177\000\000\000\314\004iUU\000\000\000\220\001wUU\000\000\000\270xwUU\000\000\000`\346\377\377\177\000\000\000\240\004iUU\000\000\000p\346\377\377\177\000\000\000\270xwUU\000\000\000\200\346\377\377\177\000\000\000\214qhUU\000\000\000PswUU\000\000\000\270xwUU\000\000\000"...
        size = 14
        outputs = {"1.1", <error reading variable: Cannot create a lazy string with address 0x0, and a non-zero length.>}
        ld = <optimized out>
        gtest_ar = <optimized out>
#24 0x000000555569059c in testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void> (object=0x55557778b0, method=&virtual testing::Test::TestBody(), location=0x55556cbb50 "the test body")
    at /mnt/ssd/workspace/libraries/fmt/test/gtest/gmock-gtest-all.cc:4098
No locals.
#25 0x000000555568747c in testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void> (object=0x55557778b0, method=&virtual testing::Test::TestBody(), location=0x55556cbb50 "the test body")
    at /mnt/ssd/workspace/libraries/fmt/test/gtest/gmock-gtest-all.cc:4134
No locals.
#26 0x0000005555657f80 in testing::Test::Run (this=0x55557778b0) at /mnt/ssd/workspace/libraries/fmt/test/gtest/gmock-gtest-all.cc:4173
        impl = 0x555576b0b0
#27 0x00000055556588f0 in testing::TestInfo::Run (this=0x5555770100) at /mnt/ssd/workspace/libraries/fmt/test/gtest/gmock-gtest-all.cc:4352
        impl = 0x555576b0b0
        repeater = 0x555576b350
        timer = {start_ = {__d = {__r = 182040424419798}}}
        test = 0x55557778b0
#28 0x0000005555659188 in testing::TestSuite::Run (this=0x555576e130) at /mnt/ssd/workspace/libraries/fmt/test/gtest/gmock-gtest-all.cc:4506
        i = 20
        impl = 0x555576b0b0
        repeater = 0x555576b350
        timer = {start_ = {__d = {__r = 182040413350851}}}
#29 0x00000055556669c0 in testing::internal::UnitTestImpl::RunAllTests (this=0x555576b0b0) at /mnt/ssd/workspace/libraries/fmt/test/gtest/gmock-gtest-all.cc:7346
        test_index = 4
        timer = {start_ = {__d = {__r = 182040405295509}}}
        i = 0
        gtest_is_initialized_before_run_all_tests = true
        in_subprocess_for_death_test = false
        should_shard = false
        has_tests_to_run = true
        failed = false
        repeater = 0x555576b350
        repeat = 1
        gtest_repeat_forever = false
#30 0x0000005555691868 in testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (object=0x555576b0b0,
    method=(bool (testing::internal::UnitTestImpl::*)(testing::internal::UnitTestImpl * const)) 0x55556665e0 <testing::internal::UnitTestImpl::RunAllTests()>, location=0x55556cc728 "auxiliary test code (environments or event listeners)")
    at /mnt/ssd/workspace/libraries/fmt/test/gtest/gmock-gtest-all.cc:4098
No locals.
#31 0x0000005555688524 in testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (object=0x555576b0b0,
    method=(bool (testing::internal::UnitTestImpl::*)(testing::internal::UnitTestImpl * const)) 0x55556665e0 <testing::internal::UnitTestImpl::RunAllTests()>, location=0x55556cc728 "auxiliary test code (environments or event listeners)")
    at /mnt/ssd/workspace/libraries/fmt/test/gtest/gmock-gtest-all.cc:4134
No locals.
#32 0x00000055556653ac in testing::UnitTest::Run (this=0x55557585c0 <testing::UnitTest::GetInstance()::instance>) at /mnt/ssd/workspace/libraries/fmt/test/gtest/gmock-gtest-all.cc:6929
        in_death_test_child_process = false
        premature_exit_file = {premature_exit_filepath_ = ""}
#33 0x0000005555644038 in RUN_ALL_TESTS () at /mnt/ssd/workspace/libraries/fmt/test/gtest/gtest/gtest.h:12393
No locals.
#34 0x0000005555643f94 in main (argc=1, argv=0x7fffffebe8) at /mnt/ssd/workspace/libraries/fmt/test/test-main.cc:39
No locals.

Same for printf-test

[       OK ] printf_test.ignore_precision_for_non_numeric_arg (0 ms)
[ RUN      ] printf_test.dynamic_precision
[       OK ] printf_test.dynamic_precision (0 ms)
[ RUN      ] printf_test.length
/mnt/ssd/workspace/libraries/fmt/include/fmt/core.h:404: assertion failed: negative valueterminate called without an active exception

Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt full
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
        set = {__val = {0, 11, 0, 365072220161, 0, 545460846593, 548547831040, 549755803968, 548547715492, 549755803936, 548543592656, 548544774144, 548547824864, 549755805233, 366505396533, 11}}
        pid = <optimized out>
        tid = <optimized out>
        ret = <optimized out>
#1  0x0000007fb7bef974 in __GI_abort () at abort.c:79
        save_stage = 1
        act = {__sigaction_handler = {sa_handler = 0x2d, sa_sigaction = 0x2d}, sa_mask = {__val = {0, 2676586395008836901, 2676586395008836901, 6998658022729478949, 7957695015443329907, 4207599468169750048, 7546144, 0, 0, 0, 18446744073692774400, 1073741825, 0, 0,
              4616194021469979648, 4616194021471028225}}, sa_flags = 1074791425, sa_restorer = 0x7fb7f81ac0}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x0000007fb7e8507c in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/aarch64-linux-gnu/libstdc++.so.6
No symbol table info available.
#3  0x0000007fb7e82c54 in ?? () from /usr/lib/aarch64-linux-gnu/libstdc++.so.6
No symbol table info available.
#4  0x0000007fb7e82ca0 in std::terminate() () from /usr/lib/aarch64-linux-gnu/libstdc++.so.6
No symbol table info available.
#5  0x0000005555657cd4 in fmt::v8::detail::assert_fail (file=0x0, line=-10216, message=0x0) at /mnt/ssd/workspace/libraries/fmt/include/fmt/format-inl.h:40
No locals.
#6  0x0000005555587884 in fmt::v8::detail::to_unsigned<long> (value=0) at /mnt/ssd/workspace/libraries/fmt/include/fmt/core.h:404
No locals.
#7  0x000000555562c384 in fmt::v8::detail::buffer<char>::append<char> (this=0x7fffffe320, begin=0x7fffffde31 "00000", end=0x7fffffde30 "000000") at /mnt/ssd/workspace/libraries/fmt/include/fmt/format.h:708
        count = 549755806496
        free_cap = 549755806496
#8  0x000000555561b794 in fmt::v8::detail::copy_str<char, char const*> (begin=0x7fffffde31 "00000", end=0x7fffffde30 "000000", out=...) at /mnt/ssd/workspace/libraries/fmt/include/fmt/core.h:1615
No locals.
#9  0x000000555560e7cc in fmt::v8::detail::copy_str_noinline<char, char const*, fmt::v8::appender> (begin=0x7fffffde31 "00000", end=0x7fffffde30 "000000", out=...) at /mnt/ssd/workspace/libraries/fmt/include/fmt/format.h:529
No locals.
#10 0x000000555564023c in fmt::v8::detail::write_significand<fmt::v8::appender, char> (out=..., significand=0x7fffffde30 "000000", significand_size=0, integral_size=1, decimal_point=46 '.') at /mnt/ssd/workspace/libraries/fmt/include/fmt/format.h:2128
No locals.
#11 0x000000555563be1c in fmt::v8::appender fmt::v8::detail::do_write_float<fmt::v8::appender, fmt::v8::detail::big_decimal_fp, char, fmt::v8::detail::digit_grouping<char> >(fmt::v8::appender, fmt::v8::detail::big_decimal_fp const&, fmt::v8::basic_format_specs<char> const&, fmt::v8::detail::float_specs, fmt::v8::detail::locale_ref)::{lambda(fmt::v8::appender)#2}::operator()(fmt::v8::appender) const (__closure=0x7fffffdcc0, it=...) at /mnt/ssd/workspace/libraries/fmt/include/fmt/format.h:2193
        sign = fmt::v8::sign::none
        significand = 0x7fffffde30 "000000"
        significand_size = 0
        decimal_point = 46 '.'
        num_zeros = 0
        exp_char = 101 'e'
        output_exp = 4932
#12 0x000000555563c5b4 in fmt::v8::detail::do_write_float<fmt::v8::appender, fmt::v8::detail::big_decimal_fp, char, fmt::v8::detail::digit_grouping<char> > (out=..., fp=..., specs=..., fspecs=..., loc=...)
    at /mnt/ssd/workspace/libraries/fmt/include/fmt/format.h:2200
        abs_output_exp = 4932
        exp_digits = 4
        exp_char = 101 'e'
        write = {__sign = fmt::v8::sign::none, __significand = 0x7fffffde30 "000000", __significand_size = 0, __decimal_point = 46 '.', __num_zeros = 0, __exp_char = 101 'e', __output_exp = 4932}
        num_zeros = 0
        significand = 0x7fffffde30 "000000"
        significand_size = 0
        zero = 48 '0'
        sign = fmt::v8::sign::none
        size = 7
        decimal_point = 46 '.'
        output_exp = 4932
        use_exp_format = {__fspecs = {precision = 6, format = fmt::v8::detail::float_format::general, sign = fmt::v8::sign::none, upper = false, locale = false, binary32 = false, showpoint = false}, __output_exp = 4932}
        exp = -8688
        num_zeros = 127
        pointy = false
#13 0x0000005555635ae0 in fmt::v8::detail::write_float<fmt::v8::appender, fmt::v8::detail::big_decimal_fp, char> (out=..., fp=..., specs=..., fspecs=..., loc=...) at /mnt/ssd/workspace/libraries/fmt/include/fmt/format.h:2279
No locals.
#14 0x000000555562dd8c in fmt::v8::detail::write<char, fmt::v8::appender, long double, 0> (out=..., value=1.18973149535723176508575932662800702e+4932, specs=..., loc=...) at /mnt/ssd/workspace/libraries/fmt/include/fmt/format.h:2359
        fspecs = {precision = 6, format = fmt::v8::detail::float_format::general, sign = fmt::v8::sign::none, upper = false, locale = false, binary32 = false, showpoint = false}
        buffer = warning: RTTI symbol not found for class 'fmt::v8::basic_memory_buffer<char, 500ul, std::allocator<char> >'
{<fmt::v8::detail::buffer<char>> = {_vptr.buffer = 0x555573ec80 <vtable for fmt::v8::basic_memory_buffer<char, 500ul, std::allocator<char> >+16>, ptr_ = 0x7fffffde30 "000000", size_ = 0, capacity_ = 500},
          store_ = "000000\000\000\330\340\377\377\177\000\000\000`\336\377\377\177\000\000\000,\250iUU\000\000\000\000\343\377\377\177\000\000\000\330\340\377\377\177\000\000\000\220\336\377\377\177\000\000\000\\lfUU\000\000\000\063\343\377\377\177", '\000' <repeats 11 times>, "\267\336\377\377\177\000\000\000\330\340\377\377\177\000\000\000\260\336\377\377\177\000\000\000\320\310`UU\000\000\000\320\340\377\377\177\000\000\000\330\340\377\377\177\000\000\000@\337\377\377\177\000\000\000\030\221\360\267\177\000\000\000\200\343\377\377\177\000\000\000\004\000\000\000\000\000\000\000\360\336\377\377\177\000\000\000 \342\377\377\177\000\000\000\f\000\000\000\000\000\000\000@\342\377\377\177\000\000\000\f\000\000\000\000\000\000\000"...,
          alloc_ = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}}
        precision = 6
        exp = 4933
        fp = {significand = 0x7fffffde30 "000000", significand_size = 0, exponent = 4933}
#15 0x0000005555644590 in fmt::v8::detail::arg_formatter<char>::operator()<long double> (value=<optimized out>, this=<optimized out>) at /mnt/ssd/workspace/libraries/fmt/include/fmt/format.h:2545
No locals.
#16 fmt::v8::visit_format_arg<fmt::v8::detail::arg_formatter<char>&, fmt::v8::basic_format_context<fmt::v8::appender, char> > (arg=..., vis=...) at /mnt/ssd/workspace/libraries/fmt/include/fmt/core.h:1597
No locals.
#17 void fmt::v8::detail::vformat_to<char>(fmt::v8::detail::buffer<char>&, fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt::v8::basic_format_context<std::conditional<std::is_same<fmt::v8::type_identity<char>::type, char>::value, fmt::v8::appender, std::back_insert_iterator<fmt::v8::detail::buffer<fmt::v8::type_identity<char>::type> > >::type, fmt::v8::type_identity<char>::type> >, fmt::v8::detail::locale_ref)::format_handler::on_format_specs(int, char const*, char const*) (this=0x7fffffe288, id=-10216,
    begin=0x55556c8934 "}", end=0x55556c8935 "") at /mnt/ssd/workspace/libraries/fmt/include/fmt/format.h:3291
        arg = {value_ = {{no_value = {<No data fields>}, int_value = -1, uint_value = 4294967295, long_long_value = -1, ulong_long_value = 18446744073709551615, int128_value = 170135991163610696904058773219554885631,
              uint128_value = 170135991163610696904058773219554885631, bool_value = 255, char_value = 255 '\377', float_value = -nan(0x7fffff), double_value = -nan(0xfffffffffffff), long_double_value = 1.18973149535723176508575932662800702e+4932,
              pointer = 0xffffffffffffffff, string = {data = 0xffffffffffffffff <error: Cannot access memory at address 0xffffffffffffffff>, size = 9223090561878065151}, custom = {value = 0xffffffffffffffff, format = 0x7ffeffffffffffff}, named_args = {
                data = 0xffffffffffffffff, size = 9223090561878065151}}}, type_ = fmt::v8::detail::type::long_double_type}
        specs = {width = 0, precision = 6, type = fmt::v8::presentation_type::none, align = fmt::v8::align::none, sign = fmt::v8::sign::none, alt = false, localized = false, fill = {data_ = " \000\000", size_ = 1 '\001'}}
        handler = {<fmt::v8::detail::specs_handler<char>> = {<fmt::v8::detail::specs_setter<char>> = {specs_ = @0x7fffffe138}, parse_context_ = @0x7fffffe290, context_ = @0x7fffffe2a8}, arg_type_ = fmt::v8::detail::type::long_double_type}
        f = {out = {<std::back_insert_iterator<fmt::v8::detail::buffer<char> >> = {<std::iterator<std::output_iterator_tag, void, void, void, void>> = {<No data fields>}, container = 0x7fffffe320}, <No data fields>}, specs = @0x7fffffe138, locale = {locale_ = 0x0}}
#18 0x0000005555649464 in fmt::v8::detail::parse_replacement_field<char, void fmt::v8::detail::vformat_to<char>(fmt::v8::detail::buffer<char>&, fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt::v8::basic_format_context<std::conditional<std::is_same<fmt::v8::type_identity<char>::type, char>::value, fmt::v8::appender, std::back_insert_iterator<fmt::v8::detail::buffer<fmt::v8::type_identity<char>::type> > >::type, fmt::v8::type_identity<char>::type> >, fmt::v8::detail::locale_ref)::format_handler&>(char const*, char const*, void fmt::v8::detail::vformat_to<char>(fmt::v8::detail::buffer<char>&, fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt::v8::basic_format_context<std::conditional<std::is_same<fmt::v8::type_identity<char>::type, char>::value, fmt::v8::appender, std::back_insert_iterator<fmt::v8::detail::buffer<fmt::v8::type_identity<char>::type> > >::type, fmt::v8::type_identity<char>::type> >, fmt::v8::detail::locale_ref)::format_handler&) (begin=0x0, end=0x55556c8935 "", handler=...)
    at /mnt/ssd/workspace/libraries/fmt/include/fmt/core.h:2592
        adapter = {handler = @0x7fffffe288, arg_id = 0}
        c = <optimized out>
#19 0x00000055556448f0 in fmt::v8::detail::parse_format_string<false, char, void fmt::v8::detail::vformat_to<char>(fmt::v8::detail::buffer<char>&, fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt::v8::basic_format_context<std::conditional<std::is_same<fmt::v8::type_identity<char>::type, char>::value, fmt::v8::appender, std::back_insert_iterator<fmt::v8::detail::buffer<fmt::v8::type_identity<char>::type> > >::type, fmt::v8::type_identity<char>::type> >, fmt::v8::detail::locale_ref)::format_handler>(fmt::v8::basic_string_view<char>, void fmt::v8::detail::vformat_to<char>(fmt::v8::detail::buffer<char>&, fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt::v8::basic_format_context<std::conditional<std::is_same<fmt::v8::type_identity<char>::type, char>::value, fmt::v8::appender, std::back_insert_iterator<fmt::v8::detail::buffer<fmt::v8::type_identity<char>::type> > >::type, fmt::v8::type_identity<char>::type> >, fmt::v8::detail::locale_ref)::format_handler&&) (handler=..., format_str=...)
    at /mnt/ssd/workspace/libraries/fmt/include/fmt/core.h:2617
        c = 0 '\000'
        p = <optimized out>
        begin = 0x7fffffe288 ""
        end = 0x55556c8935 ""
        write = {handler_ = @0x0}
        begin = <optimized out>
        end = <optimized out>
        write = <optimized out>
        p = <optimized out>
        c = <optimized out>
        p = <optimized out>
#20 fmt::v8::detail::vformat_to<char> (buf=..., fmt=..., args=..., loc=...) at /mnt/ssd/workspace/libraries/fmt/include/fmt/format.h:3295
        out = {<std::back_insert_iterator<fmt::v8::detail::buffer<char> >> = {<std::iterator<std::output_iterator_tag, void, void, void, void>> = {<No data fields>}, container = 0x7fffffe320}, <No data fields>}
#21 0x00000055556585b0 in fmt::v8::vformat[abi:cxx11](fmt::v8::basic_string_view<char>, fmt::v8::basic_format_args<fmt::v8::basic_format_context<fmt::v8::appender, char> >) (fmt=..., args=...) at /mnt/ssd/workspace/libraries/fmt/include/fmt/format-inl.h:2321
---Type <return> to continue, or q <return> to quit---
        buffer = warning: RTTI symbol not found for class 'fmt::v8::basic_memory_buffer<char, 500ul, std::allocator<char> >'
{<fmt::v8::detail::buffer<char>> = {_vptr.buffer = 0x555573ec80 <vtable for fmt::v8::basic_memory_buffer<char, 500ul, std::allocator<char> >+16>, ptr_ = 0x7fffffe340 "0.\377\377\177", size_ = 2, capacity_ = 500},
          store_ = "0.\377\377\177\000\000\000\005\000\000\000\000\000\000\000%1$tX\000\000\000\f\000\000\000\000\000\000\000 \236uUU\000\000\000\020\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\067\067\000\177\000\000\000\360\351\367\267\177\000\000\000\210\360\367\267\177\000\000\000\340\224uUU\000\000\000\340\224uUU\000\000\000\340\224uUU\000\000\000\340\224uUU\000\000\000\360\224uUU\000\000\000\340\226uUU\000\000\000\bB\370\267\177\000\000\000\020\000\000\000U\000\000\000\340\224uUU", '\000' <repeats 12 times>, "\002\000\000\000\000\000\000\060\067\063\067\060\071\065\000 \250\367\267\177\000\000\000\006", '\000' <repeats 15 times>..., alloc_ = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}}
#22 0x0000005555578dd8 in fmt::v8::format<long double&> (fmt=...) at /mnt/ssd/workspace/libraries/fmt/include/fmt/core.h:3143
No locals.
#23 printf_test_length_Test::TestBody (this=0x5555759d00) at /mnt/ssd/workspace/libraries/fmt/test/printf-test.cc:406
        gtest_ar = {success_ = 64, message_ = std::unique_ptr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >> = {
            get() = 0x55556a67a0 <std::__uniq_ptr_impl<testing::internal::GTestFlagSaver, std::default_delete<testing::internal::GTestFlagSaver> >::_M_ptr()+20>}}
        max = 1.18973149535723176508575932662800702e+4932
#24 0x00000055556a6870 in testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void> (object=0x5555759d00, method=&virtual testing::Test::TestBody(), location=0x55556cea90 "the test body")
    at /mnt/ssd/workspace/libraries/fmt/test/gtest/gmock-gtest-all.cc:4098
No locals.
#25 0x000000555569cfe4 in testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void> (object=0x5555759d00, method=&virtual testing::Test::TestBody(), location=0x55556cea90 "the test body")
    at /mnt/ssd/workspace/libraries/fmt/test/gtest/gmock-gtest-all.cc:4134
No locals.
#26 0x000000555566bf64 in testing::Test::Run (this=0x5555759d00) at /mnt/ssd/workspace/libraries/fmt/test/gtest/gmock-gtest-all.cc:4173
        impl = 0x55557550b0
#27 0x000000555566c8d4 in testing::TestInfo::Run (this=0x5555757580) at /mnt/ssd/workspace/libraries/fmt/test/gtest/gmock-gtest-all.cc:4352
        impl = 0x55557550b0
        repeater = 0x5555755350
        timer = {start_ = {__d = {__r = 182225944787580}}}
        test = 0x5555759d00
#28 0x000000555566d16c in testing::TestSuite::Run (this=0x5555755440) at /mnt/ssd/workspace/libraries/fmt/test/gtest/gmock-gtest-all.cc:4506
        i = 20
        impl = 0x55557550b0
        repeater = 0x5555755350
        timer = {start_ = {__d = {__r = 182225938489212}}}
#29 0x000000555567a9a4 in testing::internal::UnitTestImpl::RunAllTests (this=0x55557550b0) at /mnt/ssd/workspace/libraries/fmt/test/gtest/gmock-gtest-all.cc:7346
        test_index = 0
        timer = {start_ = {__d = {__r = 182225938179676}}}
        i = 0
        gtest_is_initialized_before_run_all_tests = true
        in_subprocess_for_death_test = false
        should_shard = false
        has_tests_to_run = true
        failed = false
        repeater = 0x5555755350
        repeat = 1
        gtest_repeat_forever = false
#30 0x00000055556a7b3c in testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (object=0x55557550b0,
    method=(bool (testing::internal::UnitTestImpl::*)(testing::internal::UnitTestImpl * const)) 0x555567a5c4 <testing::internal::UnitTestImpl::RunAllTests()>, location=0x55556cf668 "auxiliary test code (environments or event listeners)")
    at /mnt/ssd/workspace/libraries/fmt/test/gtest/gmock-gtest-all.cc:4098
No locals.
#31 0x000000555569dffc in testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (object=0x55557550b0,
    method=(bool (testing::internal::UnitTestImpl::*)(testing::internal::UnitTestImpl * const)) 0x555567a5c4 <testing::internal::UnitTestImpl::RunAllTests()>, location=0x55556cf668 "auxiliary test code (environments or event listeners)")
    at /mnt/ssd/workspace/libraries/fmt/test/gtest/gmock-gtest-all.cc:4134
No locals.
#32 0x0000005555679390 in testing::UnitTest::Run (this=0x5555742378 <testing::UnitTest::GetInstance()::instance>) at /mnt/ssd/workspace/libraries/fmt/test/gtest/gmock-gtest-all.cc:6929
        in_death_test_child_process = false
        premature_exit_file = {premature_exit_filepath_ = ""}
#33 0x000000555565757c in RUN_ALL_TESTS () at /mnt/ssd/workspace/libraries/fmt/test/gtest/gtest/gtest.h:12393
No locals.
#34 0x00000055556574d8 in main (argc=1, argv=0x7fffffebe8) at /mnt/ssd/workspace/libraries/fmt/test/test-main.cc:39
No locals.

@fake-name
Copy link
Author

fake-name commented Mar 19, 2022

Ok, I downloaded the 8.1.1 release tarball, and it passes all the tests, so whatever is broken is a recent change.

Note that the same build script passes its tests on x86-64 Ubuntu 18.04, so this is at least somewhat platform specific.

@vitaut
Copy link
Contributor

vitaut commented Mar 19, 2022

This is the same as #2810 which will be fixed shortly.

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

No branches or pull requests

2 participants