[libcxx-commits] [PATCH] D150044: [libc++][print] Adds FILE functions.

Mitch Phillips via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Thu Jul 20 10:37:24 PDT 2023


hctim added a comment.



  $ lldb /home/mitchp/build/libcxx_build_msan/test/std/input.output/iostream.format/print.fun/Output/vprint_nonunicode.file.pass.cpp.dir/t.tmp.exe
  (lldb) target create "/home/mitchp/build/libcxx_build_msan/test/std/input.output/iostream.format/print.fun/Output/vprint_nonunicode.file.pass.cpp.dir/t.tmp.exe"                                            Current executable set to '/home/mitchp/build/libcxx_build_msan/test/std/input.output/iostream.format/print.fun/Output/vprint_nonunicode.file.pass.cpp.dir/t.tmp.exe' (aarch64).                            (lldb) r
  Process 737940 launched: '/home/mitchp/build/libcxx_build_msan/test/std/input.output/iostream.format/print.fun/Output/vprint_nonunicode.file.pass.cpp.dir/t.tmp.exe' (aarch64)
  Process 737940 stopped and restarted: thread 1 received signal: SIGCHLD
  libc++abi: terminating due to uncaught exception of type std::__1::format_error: Argument index out of bounds
  Process 737940 stopped
  * thread #1, name = 't.tmp.exe', stop reason = signal SIGABRT
      frame #0: 0x0000fffff7ac7eac libc.so.6`__GI_raise(sig=6) at raise.c:51:1
  (lldb) bt
  * thread #1, name = 't.tmp.exe', stop reason = signal SIGABRT
    * frame #0: 0x0000fffff7ac7eac libc.so.6`__GI_raise(sig=6) at raise.c:51:1
      frame #1: 0x0000fffff7ab4aa0 libc.so.6`__GI_abort at abort.c:79:7
      frame #2: 0x0000fffff7dd4948 libc++abi.so.1`abort_message at abort_message.cpp:78:5
      frame #3: 0x0000fffff7d8a1f0 libc++abi.so.1`::demangling_terminate_handler() at cxa_default_handlers.cpp:72:9
      frame #4: 0x0000fffff7dd3138 libc++abi.so.1`std::__terminate(void (*)()) at cxa_handlers.cpp:59:9
      frame #5: 0x0000fffff7dda23c libc++abi.so.1`__cxxabiv1::failed_throw(__cxxabiv1::__cxa_exception*) at cxa_exception.cpp:152:5
      frame #6: 0x0000fffff7dda168 libc++abi.so.1`::__cxa_throw() at cxa_exception.cpp:283:5
      frame #7: 0x0000aaaaaabdbfac t.tmp.exe`std::__1::__throw_format_error[abi:v170000](__s="Argument index out of bounds") at format_error.h:41:3
      frame #8: 0x0000aaaaaabdf058 t.tmp.exe`auto char const* std::__1::__format::__handle_replacement_field[abi:v170000]<char const*, std::__1::basic_format_parse_context<char>, std::__1::basic_format_cont
  ext<std::__1::back_insert_iterator<std::__1::__format::__output_buffer<char>>, char>>(this=0x0000ffffffffe0c0, __arg=monostate @ 0x0000ffffffffdeaf)::'lambda'(char const*)::operator()<std::__1::monostate>
  (char const*) const at format_functions.h:274:13
      frame #9: 0x0000aaaaaabdefe8 t.tmp.exe`decltype(std::declval<char const*>()(std::declval<std::__1::monostate&>())) std::__1::__invoke[abi:v170000]<char const* std::__1::__format::__handle_replacement_
  field[abi:v170000]<char const*, std::__1::basic_format_parse_context<char>, std::__1::basic_format_context<std::__1::back_insert_iterator<std::__1::__format::__output_buffer<char>>, char>>(char const*, ch
  ar const*, std::__1::basic_format_parse_context<char>&, std::__1::basic_format_context<std::__1::back_insert_iterator<std::__1::__format::__output_buffer<char>>, char>&)::'lambda'(char const*), std::__1::
  monostate&>(__f=0x0000ffffffffe0c0, __args=0x0000ffffffffe0a0) at invoke.h:340:25
      frame #10: 0x0000aaaaaabde430 t.tmp.exe`std::__1::invoke_result<char const*, std::__1::monostate&>::type std::__1::invoke[abi:v170000]<char const* std::__1::__format::__handle_replacement_field[abi:v1
  70000]<char const*, std::__1::basic_format_parse_context<char>, std::__1::basic_format_context<std::__1::back_insert_iterator<std::__1::__format::__output_buffer<char>>, char>>(char const*, char const*, s
  td::__1::basic_format_parse_context<char>&, std::__1::basic_format_context<std::__1::back_insert_iterator<std::__1::__format::__output_buffer<char>>, char>&)::'lambda'(char const*), std::__1::monostate&>(
  __f=0x0000ffffffffe0c0, __args=0x0000ffffffffe0a0) at invoke.h:30:12
      frame #11: 0x0000aaaaaabdcfa0 t.tmp.exe`decltype(auto) std::__1::__visit_format_arg[abi:v170000]<char const* std::__1::__format::__handle_replacement_field[abi:v170000]<char const*, std::__1::basic_fo
  rmat_parse_context<char>, std::__1::basic_format_context<std::__1::back_insert_iterator<std::__1::__format::__output_buffer<char>>, char>>(char const*, char const*, std::__1::basic_format_parse_context<ch
  ar>&, std::__1::basic_format_context<std::__1::back_insert_iterator<std::__1::__format::__output_buffer<char>>, char>&)::'lambda'(char const*), std::__1::basic_format_context<std::__1::back_insert_iterato
  r<std::__1::__format::__output_buffer<char>>, char>>(__vis=0x0000ffffffffe0c0, __arg=basic_format_arg<std::__1::basic_format_context<std::__1::back_insert_iterator<std::__1::__format::__output_buffer<char
  > >, char> > @ 0x0000ffffffffe0a0) at format_arg.h:103:12
      frame #12: 0x0000aaaaaabdc404 t.tmp.exe`char const* std::__1::__format::__handle_replacement_field[abi:v170000]<char const*, std::__1::basic_format_parse_context<char>, std::__1::basic_format_context<
  std::__1::back_insert_iterator<std::__1::__format::__output_buffer<char>>, char>>(__begin="}", __end="", __parse_ctx=0x0000ffffffffe408, __ctx=0x0000ffffffffe3c8) at format_functions.h:271:5
      frame #13: 0x0000aaaaaabd7ddc t.tmp.exe`std::__1::basic_format_context<std::__1::back_insert_iterator<std::__1::__format::__output_buffer<char>>, char>::iterator std::__1::__format::__vformat_to[abi:v
  170000]<std::__1::basic_format_parse_context<char>, std::__1::basic_format_context<std::__1::back_insert_iterator<std::__1::__format::__output_buffer<char>>, char>>(__parse_ctx=0x0000ffffffffe408, __ctx=0
  x0000ffffffffe3c8) at format_functions.h:312:13
      frame #14: 0x0000aaaaaabd7738 t.tmp.exe`std::__1::back_insert_iterator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>> std::__1::__vformat_to[abi:v170000]<std::__1::back_insert_iterator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, char, std::__1::back_insert_iterator<std::__1::__format::__output_buffer<char>>>(__out_it=(container = ""), __fmt="hello {}", __args=basic_format_args<std::__1::basic_format_context<std::__1::back_insert_iterator<std::__1::__format::__output_buffer<char> >, char> > @ 0x0000ffffffffe808) at format_functions.h:387:5
      frame #15: 0x0000aaaaaabd6ee4 t.tmp.exe`void std::__1::__print::__vprint_nonunicode[abi:v170000]<void>(_IO_FILE*, std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::basic_format_args<std::__1::basic_format_context<std::__1::back_insert_iterator<std::__1::__format::__output_buffer<char>>, char>>, bool) [inlined] std::__1::back_insert_iterator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>> std::__1::vformat_to[abi:v170000]<std::__1::back_insert_iterator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>(__out_it=(container = ""), __fmt="hello {}", __args=std::__1::format_args @ 0x0000ffffffffe7a0) at format_functions.h:399:10
      frame #16: 0x0000aaaaaabd6e5c t.tmp.exe`void std::__1::__print::__vprint_nonunicode[abi:v170000]<void>(_IO_FILE*, std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::basic_format_args<std::__1::basic_format_context<std::__1::back_insert_iterator<std::__1::__format::__output_buffer<char>>, char>>, bool) [inlined] std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> std::__1::vformat[abi:v170000]<void>(__fmt="hello {}", __args=std::__1::format_args @ 0x0000ffffffffe730) at format_functions.h:432:3
      frame #17: 0x0000aaaaaabd6d3c t.tmp.exe`void std::__1::__print::__vprint_nonunicode[abi:v170000]<void>(__stream=0x0000e14000000000, __fmt="hello {}", __args=std::__1::format_args @ 0x0000ffffffffe8c8, __write_nl=false) at print:208:18
      frame #18: 0x0000aaaaaabd6850 t.tmp.exe`void std::__1::vprint_nonunicode[abi:v170000]<void>(__stream=0x0000e14000000000, __fmt="hello {}", __args=std::__1::format_args @ 0x0000ffffffffea38) at print:355:3
      frame #19: 0x0000aaaaaabc1510 t.tmp.exe`auto $_1::operator()<>(this=0x0000fffffffff2f6, what="Argument index out of bounds", fmt="hello {}") const at vprint_nonunicode.file.pass.cpp:57:3
      frame #20: 0x0000aaaaaabbb3f0 t.tmp.exe`void print_tests<$_0, $_1>(check=(unnamed class) @ 0x0000fffffffff2f7, check_exception=(unnamed class) @ 0x0000fffffffff2f6) at print_tests.h:78:3
      frame #21: 0x0000aaaaaabb9d9c t.tmp.exe`main((null)=1, (null)=0x0000fffffffff4e8) at vprint_nonunicode.file.pass.cpp:134:3
      frame #22: 0x0000fffff7ab4e18 libc.so.6`__libc_start_main(main=(t.tmp.exe`main at vprint_nonunicode.file.pass.cpp:133), argc=1, argv=0x0000fffffffff4e8, init=<unavailable>, fini=<unavailable>, rtld_fini=<unavailable>, stack_end=<unavailable>) at libc-start.c:308:16
      frame #23: 0x0000aaaaaab31df4 t.tmp.exe`_start + 52


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D150044/new/

https://reviews.llvm.org/D150044



More information about the libcxx-commits mailing list