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

Compile errors [Ubuntu 9.10] #13

Closed
Bergi opened this issue Feb 20, 2010 · 1 comment
Closed

Compile errors [Ubuntu 9.10] #13

Bergi opened this issue Feb 20, 2010 · 1 comment

Comments

@Bergi
Copy link

Bergi commented Feb 20, 2010

Building hphpi
/home/bergi/hphp/hiphop-php/bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::XmlParser::cleanupImpl()':\next_xml.cpp:(.text+0xf23): undefined reference to `XML_ParserFree'\n/home/bergi/hphp/hiphop-php/bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::php_xml_parser_create_impl(HPHP::String const&, HPHP::String const&, int)':\next_xml.cpp:(.text+0x16d4): undefined reference to `XML_ParserCreate_MM'\next_xml.cpp:(.text+0x173e): undefined reference to `XML_SetUserData'\n/home/bergi/hphp/hiphop-php/bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_parse(HPHP::Object const&, HPHP::String const&, bool)':\next_xml.cpp:(.text+0x54ef): undefined reference to `XML_Parse'\n/home/bergi/hphp/hiphop-php/bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_parse_into_struct(HPHP::Object const&, HPHP::String const&, HPHP::Variant, HPHP::Variant)':\next_xml.cpp:(.text+0x563e): undefined reference to `XML_SetDefaultHandler'\next_xml.cpp:(.text+0x565f): undefined reference to `XML_SetElementHandler'\next_xml.cpp:(.text+0x5679): undefined reference to `XML_SetCharacterDataHandler'\next_xml.cpp:(.text+0x56c0): undefined reference to `XML_Parse'\n/home/bergi/hphp/hiphop-php/bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_set_character_data_handler(HPHP::Object const&, HPHP::Variant const&)':\next_xml.cpp:(.text+0x59cd): undefined reference to `XML_SetCharacterDataHandler'\n/home/bergi/hphp/hiphop-php/bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_set_default_handler(HPHP::Object const&, HPHP::Variant const&)':\next_xml.cpp:(.text+0x5a32): undefined reference to `XML_SetDefaultHandler'\n/home/bergi/hphp/hiphop-php/bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_set_element_handler(HPHP::Object const&, HPHP::Variant const&, HPHP::Variant const&)':\next_xml.cpp:(.text+0x5ab6): undefined reference to `XML_SetElementHandler'\n/home/bergi/hphp/hiphop-php/bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_set_processing_instruction_handler(HPHP::Object const&, HPHP::Variant const&)':\next_xml.cpp:(.text+0x5b1b): undefined reference to `XML_SetProcessingInstructionHandler'\n/home/bergi/hphp/hiphop-php/bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_set_start_namespace_decl_handler(HPHP::Object const&, HPHP::Variant const&)':\next_xml.cpp:(.text+0x5b80): undefined reference to `XML_SetStartNamespaceDeclHandler'\n/home/bergi/hphp/hiphop-php/bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_set_end_namespace_decl_handler(HPHP::Object const&, HPHP::Variant const&)':\next_xml.cpp:(.text+0x5be5): undefined reference to `XML_SetEndNamespaceDeclHandler'\n/home/bergi/hphp/hiphop-php/bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_set_unparsed_entity_decl_handler(HPHP::Object const&, HPHP::Variant const&)':\next_xml.cpp:(.text+0x5c4a): undefined reference to `XML_SetUnparsedEntityDeclHandler'\n/home/bergi/hphp/hiphop-php/bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_set_external_entity_ref_handler(HPHP::Object const&, HPHP::Variant const&)':\next_xml.cpp:(.text+0x5caf): undefined reference to `XML_SetExternalEntityRefHandler'\n/home/bergi/hphp/hiphop-php/bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_set_notation_decl_handler(HPHP::Object const&, HPHP::Variant const&)':\next_xml.cpp:(.text+0x5d14): undefined reference to `XML_SetNotationDeclHandler'\n/home/bergi/hphp/hiphop-php/bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_get_current_byte_index(HPHP::Object const&)':\next_xml.cpp:(.text+0x5da4): undefined reference to `XML_GetCurrentByteIndex'\n/home/bergi/hphp/hiphop-php/bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_get_current_column_number(HPHP::Object const&)':\next_xml.cpp:(.text+0x5ddc): undefined reference to `XML_GetCurrentColumnNumber'\n/home/bergi/hphp/hiphop-php/bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_get_current_line_number(HPHP::Object const&)':\next_xml.cpp:(.text+0x5e14): undefined reference to `XML_GetCurrentLineNumber'\n/home/bergi/hphp/hiphop-php/bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_get_error_code(HPHP::Object const&)':\next_xml.cpp:(.text+0x5e4c): undefined reference to `XML_GetErrorCode'\n/home/bergi/hphp/hiphop-php/bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_error_string(int)':\next_xml.cpp:(.text+0x5e67): undefined reference to `XML_ErrorString'\ncollect2: ld returned 1 exit status\nmake[5]: *** [program] Error 1\nmake[4]: *** [CMakeFiles/program.dir/all] Error 2\nmake[3]: *** [all] Error 2\n
mv: cannot stat `gen/program': No such file or directory

Linking CXX executable test
../../bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::XmlParser::cleanupImpl()':
ext_xml.cpp:(.text+0xf23): undefined reference to `XML_ParserFree'
../../bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::php_xml_parser_create_impl(HPHP::String const&, HPHP::String const&, int)':
ext_xml.cpp:(.text+0x16d4): undefined reference to `XML_ParserCreate_MM'
ext_xml.cpp:(.text+0x173e): undefined reference to `XML_SetUserData'
../../bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_parse(HPHP::Object const&, HPHP::String const&, bool)':
ext_xml.cpp:(.text+0x54ef): undefined reference to `XML_Parse'
../../bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_parse_into_struct(HPHP::Object const&, HPHP::String const&, HPHP::Variant, HPHP::Variant)':
ext_xml.cpp:(.text+0x563e): undefined reference to `XML_SetDefaultHandler'
ext_xml.cpp:(.text+0x565f): undefined reference to `XML_SetElementHandler'
ext_xml.cpp:(.text+0x5679): undefined reference to `XML_SetCharacterDataHandler'
ext_xml.cpp:(.text+0x56c0): undefined reference to `XML_Parse'
../../bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_set_character_data_handler(HPHP::Object const&, HPHP::Variant const&)':
ext_xml.cpp:(.text+0x59cd): undefined reference to `XML_SetCharacterDataHandler'
../../bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_set_default_handler(HPHP::Object const&, HPHP::Variant const&)':
ext_xml.cpp:(.text+0x5a32): undefined reference to `XML_SetDefaultHandler'
../../bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_set_element_handler(HPHP::Object const&, HPHP::Variant const&, HPHP::Variant const&)':
ext_xml.cpp:(.text+0x5ab6): undefined reference to `XML_SetElementHandler'
../../bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_set_processing_instruction_handler(HPHP::Object const&, HPHP::Variant const&)':
ext_xml.cpp:(.text+0x5b1b): undefined reference to `XML_SetProcessingInstructionHandler'
../../bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_set_start_namespace_decl_handler(HPHP::Object const&, HPHP::Variant const&)':
ext_xml.cpp:(.text+0x5b80): undefined reference to `XML_SetStartNamespaceDeclHandler'
../../bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_set_end_namespace_decl_handler(HPHP::Object const&, HPHP::Variant const&)':
ext_xml.cpp:(.text+0x5be5): undefined reference to `XML_SetEndNamespaceDeclHandler'
../../bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_set_unparsed_entity_decl_handler(HPHP::Object const&, HPHP::Variant const&)':
ext_xml.cpp:(.text+0x5c4a): undefined reference to `XML_SetUnparsedEntityDeclHandler'
../../bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_set_external_entity_ref_handler(HPHP::Object const&, HPHP::Variant const&)':
ext_xml.cpp:(.text+0x5caf): undefined reference to `XML_SetExternalEntityRefHandler'
../../bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_set_notation_decl_handler(HPHP::Object const&, HPHP::Variant const&)':
ext_xml.cpp:(.text+0x5d14): undefined reference to `XML_SetNotationDeclHandler'
../../bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_get_current_byte_index(HPHP::Object const&)':
ext_xml.cpp:(.text+0x5da4): undefined reference to `XML_GetCurrentByteIndex'
../../bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_get_current_column_number(HPHP::Object const&)':
ext_xml.cpp:(.text+0x5ddc): undefined reference to `XML_GetCurrentColumnNumber'
../../bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_get_current_line_number(HPHP::Object const&)':
ext_xml.cpp:(.text+0x5e14): undefined reference to `XML_GetCurrentLineNumber'
../../bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_get_error_code(HPHP::Object const&)':
ext_xml.cpp:(.text+0x5e4c): undefined reference to `XML_GetErrorCode'
../../bin/libhphp_runtime.a(ext_xml.cpp.o): In function `HPHP::f_xml_error_string(int)':
ext_xml.cpp:(.text+0x5e67): undefined reference to `XML_ErrorString'
collect2: ld returned 1 exit status
make[2]: *** [src/test/test] Error 1
make[1]: *** [src/test/CMakeFiles/test.dir/all] Error 2
make: *** [all] Error 2

Used:
cmake 2.8.0
gcc 4.4.1
g++ 4.4.1
boost 1.40.0
flex 2.5.35
bison 2.4.7
re2c 0.13.5
libmysql++3 3.0.9
libxml2 2.7.5
libmcrypt 2.5.8
libicu 4.2.1
openssl 0.9.8
binutils 2.20
libcap 2.16
gd 2.0.36
zlib 1.2.3.3
tbb 2.1r017
oniguruma 5.9.1
libcurl 7.20[patched]
libevent 1.4 [patched]

@scottmac
Copy link
Contributor

Fixed in 787cbd1 to add expat requirement

paroski added a commit that referenced this issue Nov 14, 2013
We had a bug where a PHP program can infinitely recurse in a certain way
that doesn't hit any of our native stack overflow checks and causes the
process to segfault. Below I've included a snippet of the callstack that
caused HHVM to crash.

The fix is to make invokeFunc(), invokeFuncFew(), and invokeContFunc()
unconditionally perform a stack overflow check for the native stack. I
tried to keep the fix minimal and non-invasive so that we can get this
hotfixed if needed.

  #0  0x00000000032ba2ef in malloc ()
  #1  0x000000000257401e in HPHP::Util::canonicalize(char const*, unsigned long, bool) ()
  #2  0x0000000001c15f0e in HPHP::resolve_include(HPHP::String const&, char const*, bool (*)(HPHP::String const&, void*), void*) ()
  #3  0x0000000001bd0327 in HPHP::Eval::resolveVmInclude(HPHP::StringData*, char const*, stat*) ()
  #4  0x0000000001fe47d0 in HPHP::VMExecutionContext::lookupPhpFile(HPHP::StringData*, char const*, bool*) ()
  #5  0x0000000001fe521a in HPHP::VMExecutionContext::evalInclude(HPHP::StringData*, HPHP::StringData const*, bool*) ()
  #6  0x0000000001c17231 in HPHP::AutoloadHandler::Result HPHP::AutoloadHandler::loadFromMap<HPHP::ConstantExistsChecker>(HPHP::String const&, HPHP::String const&, bool, HPHP::ConstantExistsChecker const&) ()
  #7  0x0000000001c174ed in HPHP::AutoloadHandler::autoloadConstant(HPHP::StringData*) ()
  #8  0x00000000020c1c73 in HPHP::Unit::loadCns(HPHP::StringData const*) ()
  #9  0x0000000001f1d10e in HPHP::Transl::lookupCnsHelper(HPHP::TypedValue const*, HPHP::StringData*, bool) ()
  #10 0x000000002827f855 in ?? ()
  #11 0x00000000026e566e in enterTCHelper ()
  #12 0x0000000001f35ef0 in HPHP::Transl::TranslatorX64::enterTC(unsigned char*, void*) ()
  #13 0x0000000002018004 in HPHP::VMExecutionContext::enterVM(HPHP::TypedValue*, HPHP::ActRec*) ()
  #14 0x000000000201821c in HPHP::VMExecutionContext::reenterVM(HPHP::TypedValue*, HPHP::ActRec*, HPHP::TypedValue*) ()
  #15 0x0000000002018612 in HPHP::VMExecutionContext::invokeFunc(HPHP::TypedValue*, HPHP::Func const*, HPHP::Array const&, HPHP::ObjectData*, HPHP::Class*, HPHP::VarEnv*, HPHP::StringData*, HPHP::VMExecutionContext::InvokeFlags) ()
  #16 0x0000000001c146d0 in HPHP::vm_call_user_func(HPHP::Variant const&, HPHP::Array const&, bool) ()
  #17 0x0000000001c17107 in HPHP::AutoloadHandler::Result HPHP::AutoloadHandler::loadFromMap<HPHP::ConstantExistsChecker>(HPHP::String const&, HPHP::String const&, bool, HPHP::ConstantExistsChecker const&) ()
  #18 0x0000000001c174ed in HPHP::AutoloadHandler::autoloadConstant(HPHP::StringData*) ()
  #19 0x00000000020c1c73 in HPHP::Unit::loadCns(HPHP::StringData const*) ()
  #20 0x0000000001f1d10e in HPHP::Transl::lookupCnsHelper(HPHP::TypedValue const*, HPHP::StringData*, bool) ()
  #21 0x000000002827f855 in ?? ()
  #22 0x00000000026e566e in enterTCHelper ()
  #23 0x0000000001f35ef0 in HPHP::Transl::TranslatorX64::enterTC(unsigned char*, void*) ()
  #24 0x0000000002018004 in HPHP::VMExecutionContext::enterVM(HPHP::TypedValue*, HPHP::ActRec*) ()
  ...
  #28992 0x0000000001c174ed in HPHP::AutoloadHandler::autoloadConstant(HPHP::StringData*) ()
  #28993 0x00000000020c1c73 in HPHP::Unit::loadCns(HPHP::StringData const*) ()
  #28994 0x0000000001f1d10e in HPHP::Transl::lookupCnsHelper(HPHP::TypedValue const*, HPHP::StringData*, bool) ()
  #28995 0x000000002827f855 in ?? ()
  #28996 0x00000000026e566e in enterTCHelper ()
  #28997 0x0000000001f35ef0 in HPHP::Transl::TranslatorX64::enterTC(unsigned char*, void*) ()
  #28998 0x0000000002018004 in HPHP::VMExecutionContext::enterVM(HPHP::TypedValue*, HPHP::ActRec*) ()
  #28999 0x000000000201821c in HPHP::VMExecutionContext::reenterVM(HPHP::TypedValue*, HPHP::ActRec*, HPHP::TypedValue*) ()
  #29000 0x0000000002018612 in HPHP::VMExecutionContext::invokeFunc(HPHP::TypedValue*, HPHP::Func const*, HPHP::Array const&, HPHP::ObjectData*, HPHP::Class*, HPHP::VarEnv*, HPHP::StringData*, HPHP::VMExecutionContext::InvokeFlags) ()
  #29001 0x0000000001c146d0 in HPHP::vm_call_user_func(HPHP::Variant const&, HPHP::Array const&, bool) ()
  #29002 0x0000000001c17676 in HPHP::AutoloadHandler::Result HPHP::AutoloadHandler::loadFromMap<HPHP::ClassExistsChecker>(HPHP::String const&, HPHP::String const&, bool, HPHP::ClassExistsChecker const&) ()
  #29003 0x0000000001c17a57 in HPHP::AutoloadHandler::invokeHandler(HPHP::String const&, bool) ()
  #29004 0x00000000020cb504 in HPHP::Unit::loadClass(HPHP::NamedEntity const*, HPHP::StringData const*) ()
  #29005 0x000000000203247e in void HPHP::VMExecutionContext::dispatchImpl<2>(int) ()
  #29006 0x000000000203ef43 in HPHP::VMExecutionContext::dispatchBB() ()
  #29007 0x0000000001f35f70 in HPHP::Transl::TranslatorX64::enterTC(unsigned char*, void*) ()
  #29008 0x0000000002017ed7 in HPHP::VMExecutionContext::enterVM(HPHP::TypedValue*, HPHP::ActRec*) ()
  #29009 0x000000000201888d in HPHP::VMExecutionContext::invokeFunc(HPHP::TypedValue*, HPHP::Func const*, HPHP::Array const&, HPHP::ObjectData*, HPHP::Class*, HPHP::VarEnv*, HPHP::StringData*, HPHP::VMExecutionContext::InvokeFlags) ()
  #29010 0x0000000002018ea0 in HPHP::VMExecutionContext::invokeUnit(HPHP::TypedValue*, HPHP::Unit*) ()
  #29011 0x0000000001c15964 in HPHP::invoke_file(HPHP::String const&, bool, char const*) ()
  #29012 0x0000000001c19a52 in HPHP::include_impl_invoke(HPHP::String const&, bool, char const*) ()
  #29013 0x0000000001c5d883 in HPHP::hphp_invoke(HPHP::ExecutionContext*, std::basic_fbstring<char, std::char_traits<char>, std::allocator<char>, std::fbstring_core<char> > const&, bool, HPHP::Array const&, HPHP::VRefParamValue const&, std::basic_fbstring<char, std::char_traits<char>, std::allocator<char>, std::fbstring_core<char> > const&, std::basic_fbstring<char, std::char_traits<char>, std::allocator<char>, std::fbstring_core<char> > const&, bool&, std::basic_fbstring<char, std::char_traits<char>, std::allocator<char>, std::fbstring_core<char> >&, bool, bool, bool) ()
  #29014 0x0000000001b2659e in HPHP::RPCRequestHandler::executePHPFunction(HPHP::Transport*, HPHP::SourceRootInfo&, HPHP::RPCRequestHandler::ReturnEncodeType) ()
  #29015 0x0000000001b285d3 in HPHP::RPCRequestHandler::handleRequest(HPHP::Transport*) ()
  #29016 0x0000000001b6b85b in HPHP::XboxWorker::doJob(HPHP::XboxTransport*) ()
  #29017 0x0000000001b669a3 in HPHP::JobQueueWorker<HPHP::XboxTransport*, HPHP::Server*, true, false, HPHP::JobQueueDropVMStack>::start() ()
  #29018 0x000000000252c127 in HPHP::AsyncFuncImpl::ThreadFunc(void*) ()
  #29019 0x00007f1ce3787f88 in start_thread (arg=0x7f1c377ff700)

Reviewed By: @jdelong

Differential Revision: D1052293
hhvm-bot pushed a commit that referenced this issue May 30, 2016
Summary: Diff #13 of 14.

Reviewed By: mzlee

Differential Revision: D3116264

fbshipit-source-id: 80e498b7062f40d723e156901bf62a2101a6e6ba
hhvm-bot pushed a commit that referenced this issue Jun 26, 2019
Summary:
```
Assertion failure: /tmp/hhvm-4.11-20190624-29824-15nb7r5/hhvm-4.11.0/hphp/compiler/analysis/analysis_result.cpp:53: HPHP::AnalysisResult::~AnalysisResult(): assertion `!m_finish' failed.

* thread #1, stop reason = signal SIGSTOP
  * frame #0: 0x00007fff6c6592c6 libsystem_kernel.dylib`__pthread_kill + 10
    frame #1: 0x00007fff6c70ebf1 libsystem_pthread.dylib`pthread_kill + 284
    frame #2: 0x00007fff6c576d8a libsystem_c.dylib`raise + 26
    frame #3: 0x00000000063f3a0f hhvm`HPHP::bt_handler(int, __siginfo*, void*) + 1655
    frame #4: 0x00007fff6c703b5d libsystem_platform.dylib`_sigtramp + 29
    frame #5: 0x00007fff6c6592c7 libsystem_kernel.dylib`__pthread_kill + 11
    frame #6: 0x00007fff6c70ebf1 libsystem_pthread.dylib`pthread_kill + 284
    frame #7: 0x00007fff6c5c36a6 libsystem_c.dylib`abort + 127
    frame #8: 0x0000000004df327f hhvm`HPHP::assert_fail(char const*, char const*, unsigned int, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 267
    frame #9: 0x0000000004dacd05 hhvm`HPHP::AnalysisResult::~AnalysisResult() + 189
    frame #10: 0x0000000004dae03e hhvm`HPHP::Compiler::emitAllHHBC(std::__1::shared_ptr<HPHP::AnalysisResult>&&) + 500
    frame #11: 0x0000000002c10b87 hhvm`HPHP::hhbcTarget(HPHP::CompilerOptions const&, std::__1::shared_ptr<HPHP::AnalysisResult>&&, HPHP::AsyncFileCacheSaver&) + 753
    frame #12: 0x0000000002c0fdb7 hhvm`HPHP::process(HPHP::CompilerOptions const&) + 2152
    frame #13: 0x0000000002c0ce34 hhvm`HPHP::compiler_main(int, char**) + 489
    frame #14: 0x00007fff6c51e3d5 libdyld.dylib`start + 1
```

Given our Linux clang builds are fine, likely libc++ vs libstdc++ issue.

markw65 found - in the standard:

> For (4), other is in a valid but unspecified state after the call

Reviewed By: markw65

Differential Revision: D15997122

fbshipit-source-id: c72950e1365f1141445794608f9e56f1c5d6ed89
hhvm-bot pushed a commit that referenced this issue Aug 8, 2019
Summary:
```
Assertion failure: /tmp/hhvm-4.11-20190624-29824-15nb7r5/hhvm-4.11.0/hphp/compiler/analysis/analysis_result.cpp:53: HPHP::AnalysisResult::~AnalysisResult(): assertion `!m_finish' failed.

* thread #1, stop reason = signal SIGSTOP
  * frame #0: 0x00007fff6c6592c6 libsystem_kernel.dylib`__pthread_kill + 10
    frame #1: 0x00007fff6c70ebf1 libsystem_pthread.dylib`pthread_kill + 284
    frame #2: 0x00007fff6c576d8a libsystem_c.dylib`raise + 26
    frame #3: 0x00000000063f3a0f hhvm`HPHP::bt_handler(int, __siginfo*, void*) + 1655
    frame #4: 0x00007fff6c703b5d libsystem_platform.dylib`_sigtramp + 29
    frame #5: 0x00007fff6c6592c7 libsystem_kernel.dylib`__pthread_kill + 11
    frame #6: 0x00007fff6c70ebf1 libsystem_pthread.dylib`pthread_kill + 284
    frame #7: 0x00007fff6c5c36a6 libsystem_c.dylib`abort + 127
    frame #8: 0x0000000004df327f hhvm`HPHP::assert_fail(char const*, char const*, unsigned int, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 267
    frame #9: 0x0000000004dacd05 hhvm`HPHP::AnalysisResult::~AnalysisResult() + 189
    frame #10: 0x0000000004dae03e hhvm`HPHP::Compiler::emitAllHHBC(std::__1::shared_ptr<HPHP::AnalysisResult>&&) + 500
    frame #11: 0x0000000002c10b87 hhvm`HPHP::hhbcTarget(HPHP::CompilerOptions const&, std::__1::shared_ptr<HPHP::AnalysisResult>&&, HPHP::AsyncFileCacheSaver&) + 753
    frame #12: 0x0000000002c0fdb7 hhvm`HPHP::process(HPHP::CompilerOptions const&) + 2152
    frame #13: 0x0000000002c0ce34 hhvm`HPHP::compiler_main(int, char**) + 489
    frame #14: 0x00007fff6c51e3d5 libdyld.dylib`start + 1
```

Given our Linux clang builds are fine, likely libc++ vs libstdc++ issue.

markw65 found - in the standard:

> For (4), other is in a valid but unspecified state after the call

Reviewed By: markw65

Differential Revision: D15997122

fbshipit-source-id: c72950e1365f1141445794608f9e56f1c5d6ed89
facebook-github-bot pushed a commit that referenced this issue Oct 7, 2022
Summary:
We have seen deadlock running `terminationHandler` -> `hasSubscribers` in 2 threads.
It's unclear which other thread is holding the lock.

To make things easier to debug next time, let's change terminationHandler (and
also main.cpp) to bypass the logging lock and write to stderr directly.

Related threads (all threads in P536343453):

  Thread 11 (LWP 3275661):
  #0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
  #1  0x0000000001cc995b in folly::detail::(anonymous namespace)::nativeFutexWaitImpl (addr=<optimized out>, expected=<optimized out>, absSystemTime=<optimized out>, absSteadyTime=<optimized out>, waitMask=<optimized out>) at fbcode/folly/detail/Futex.cpp:126
  #2  folly::detail::futexWaitImpl (futex=0x89, futex@entry=0x7f1c3ac2ef90, expected=994748889, absSystemTime=absSystemTime@entry=0x0, absSteadyTime=<optimized out>, absSteadyTime@entry=0x0, waitMask=waitMask@entry=1) at fbcode/folly/detail/Futex.cpp:254
  #3  0x0000000001d34bce in folly::detail::futexWait<std::atomic<unsigned int> > (futex=0x7f1c3ac2ef90, expected=137, waitMask=1) at buck-out/v2/gen/fbcode/110b607930331a92/folly/detail/__futex__/headers/folly/detail/Futex-inl.h:96
  #4  folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault>::WaitForever::doWait (this=<optimized out>, futex=..., expected=137, waitMask=1) at buck-out/v2/gen/fbcode/110b607930331a92/folly/__shared_mutex__/headers/folly/SharedMutex.h:718
  #5  folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault>::futexWaitForZeroBits<folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault>::WaitForever> (this=0x7f1c3ac2ef90, state=@0x7f1c149f88e4: 118379409, goal=128, waitMask=1, ctx=...) at buck-out/v2/gen/fbcode/110b607930331a92/folly/__shared_mutex__/headers/folly/SharedMutex.h:1184
  #6  0x0000000001cd42b2 in folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault>::yieldWaitForZeroBits<folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault>::WaitForever> (this=0x7f1c3ac2ef90, state=@0x7f1c149f88e4: 118379409, goal=128, waitMask=1, ctx=...) at buck-out/v2/gen/fbcode/110b607930331a92/folly/__shared_mutex__/headers/folly/SharedMutex.h:1151
  #7  folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault>::waitForZeroBits<folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault>::WaitForever> (this=0x7f1c3ac2ef90, state=@0x7f1c149f88e4: 118379409, goal=128, waitMask=1, ctx=...) at buck-out/v2/gen/fbcode/110b607930331a92/folly/__shared_mutex__/headers/folly/SharedMutex.h:1109
  #8  0x0000000001e7e14c in folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault>::lockSharedImpl<folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault>::WaitForever> (this=0x7f1c3ac2ef90, state=@0x7f1c149f88e4: 118379409, token=0x0, ctx=...) at buck-out/v2/gen/fbcode/110b607930331a92/folly/__shared_mutex__/headers/folly/SharedMutex.h:1664
  #9  folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault>::lockSharedImpl<folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault>::WaitForever> (this=0x7f1c3ac2ef90, token=0x0, ctx=...) at buck-out/v2/gen/fbcode/110b607930331a92/folly/__shared_mutex__/headers/folly/SharedMutex.h:1356
  #10 folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault>::lock_shared (this=0x7f1c3ac2ef90) at buck-out/v2/gen/fbcode/110b607930331a92/folly/__shared_mutex__/headers/folly/SharedMutex.h:495
  #11 std::shared_lock<folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault> >::shared_lock (this=<optimized out>, __m=...) at fbcode/third-party-buck/platform010/build/libgcc/include/c++/trunk/shared_mutex:727
  #12 0x0000000002d765fd in folly::LockedPtr<folly::Synchronized<watchman::Publisher::state, folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault> > const, folly::detail::SynchronizedLockPolicy<(folly::detail::SynchronizedMutexLevel)2, (folly::detail::SynchronizedMutexMethod)0> >::doLock<folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault>, std::shared_lock<folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault> >, folly::detail::SynchronizedLockPolicy<(folly::detail::SynchronizedMutexLevel)2, (folly::detail::SynchronizedMutexMethod)0>, 0> (mutex=...) at buck-out/v2/gen/fbcode/110b607930331a92/folly/__synchronized__/headers/folly/Synchronized.h:1493
  #13 folly::LockedPtr<folly::Synchronized<watchman::Publisher::state, folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault> > const, folly::detail::SynchronizedLockPolicy<(folly::detail::SynchronizedMutexLevel)2, (folly::detail::SynchronizedMutexMethod)0> >::LockedPtr (this=0x7f1c149f8928, parent=<optimized out>) at buck-out/v2/gen/fbcode/110b607930331a92/folly/__synchronized__/headers/folly/Synchronized.h:1272
  #14 folly::SynchronizedBase<folly::Synchronized<watchman::Publisher::state, folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault> >, (folly::detail::SynchronizedMutexLevel)2>::rlock (this=<optimized out>) at buck-out/v2/gen/fbcode/110b607930331a92/folly/__synchronized__/headers/folly/Synchronized.h:229
  #15 watchman::Publisher::hasSubscribers (this=<optimized out>) at fbcode/watchman/PubSub.cpp:117
  #16 0x0000000002eca798 in watchman::Log::log<char const (&) [39], char const*, char const (&) [3]> (this=<optimized out>, level=level@entry=watchman::ABORT, args=..., args=..., args=...) at buck-out/v2/gen/fbcode/110b607930331a92/watchman/__logging__/headers/watchman/Logging.h:42
  #17 0x0000000002ec9ba7 in watchman::log<char const (&) [39], char const*, char const (&) [3]> (level=watchman::ABORT, args=..., args=..., args=...) at buck-out/v2/gen/fbcode/110b607930331a92/watchman/__logging__/headers/watchman/Logging.h:121
  #18 (anonymous namespace)::terminationHandler () at fbcode/watchman/SignalHandler.cpp:159
  #19 0x00007f1c3b0c7b3a in __cxxabiv1::__terminate (handler=<optimized out>) at ../../.././libstdc++-v3/libsupc++/eh_terminate.cc:48
  #20 0x00007f1c3b0c7ba5 in std::terminate () at ../../.././libstdc++-v3/libsupc++/eh_terminate.cc:58
  #21 0x0000000001c38c8b in __clang_call_terminate ()
  #22 0x0000000003284c9e in folly::detail::terminate_with_<std::runtime_error, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&> (args=...) at buck-out/v2/gen/fbcode/110b607930331a92/folly/lang/__exception__/headers/folly/lang/Exception.h:93
  #23 0x0000000003281bae in folly::terminate_with<std::runtime_error, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&> (args=...) at buck-out/v2/gen/fbcode/110b607930331a92/folly/lang/__exception__/headers/folly/lang/Exception.h:123
  #24 folly::SingletonVault::fireShutdownTimer (this=<optimized out>) at fbcode/folly/Singleton.cpp:499
  #25 0x0000000003281ad9 in folly::(anonymous namespace)::fireShutdownSignalHelper (sigval=...) at fbcode/folly/Singleton.cpp:454
  #26 0x00007f1c3b42b939 in timer_sigev_thread (arg=<optimized out>) at ../sysdeps/unix/sysv/linux/timer_routines.c:55
  #27 0x00007f1c3b41fc0f in start_thread (arg=<optimized out>) at pthread_create.c:434
  #28 0x00007f1c3b4b21dc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

  ...

  Thread 1 (LWP 3201992):
  #0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
  #1  0x0000000001cc995b in folly::detail::(anonymous namespace)::nativeFutexWaitImpl (addr=<optimized out>, expected=<optimized out>, absSystemTime=<optimized out>, absSteadyTime=<optimized out>, waitMask=<optimized out>) at fbcode/folly/detail/Futex.cpp:126
  #2  folly::detail::futexWaitImpl (futex=0x89, futex@entry=0x7f1c3ac2ef90, expected=994748889, absSystemTime=absSystemTime@entry=0x0, absSteadyTime=<optimized out>, absSteadyTime@entry=0x0, waitMask=waitMask@entry=1) at fbcode/folly/detail/Futex.cpp:254
  #3  0x0000000001d34bce in folly::detail::futexWait<std::atomic<unsigned int> > (futex=0x7f1c3ac2ef90, expected=137, waitMask=1) at buck-out/v2/gen/fbcode/110b607930331a92/folly/detail/__futex__/headers/folly/detail/Futex-inl.h:96
  #4  folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault>::WaitForever::doWait (this=<optimized out>, futex=..., expected=137, waitMask=1) at buck-out/v2/gen/fbcode/110b607930331a92/folly/__shared_mutex__/headers/folly/SharedMutex.h:718
  #5  folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault>::futexWaitForZeroBits<folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault>::WaitForever> (this=0x7f1c3ac2ef90, state=@0x7ffd2d5be924: 118379408, goal=128, waitMask=1, ctx=...) at buck-out/v2/gen/fbcode/110b607930331a92/folly/__shared_mutex__/headers/folly/SharedMutex.h:1184
  #6  0x0000000001cd42b2 in folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault>::yieldWaitForZeroBits<folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault>::WaitForever> (this=0x7f1c3ac2ef90, state=@0x7ffd2d5be924: 118379408, goal=128, waitMask=1, ctx=...) at buck-out/v2/gen/fbcode/110b607930331a92/folly/__shared_mutex__/headers/folly/SharedMutex.h:1151
  #7  folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault>::waitForZeroBits<folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault>::WaitForever> (this=0x7f1c3ac2ef90, state=@0x7ffd2d5be924: 118379408, goal=128, waitMask=1, ctx=...) at buck-out/v2/gen/fbcode/110b607930331a92/folly/__shared_mutex__/headers/folly/SharedMutex.h:1109
  #8  0x0000000001e7e14c in folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault>::lockSharedImpl<folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault>::WaitForever> (this=0x7f1c3ac2ef90, state=@0x7ffd2d5be924: 118379408, token=0x0, ctx=...) at buck-out/v2/gen/fbcode/110b607930331a92/folly/__shared_mutex__/headers/folly/SharedMutex.h:1664
  #9  folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault>::lockSharedImpl<folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault>::WaitForever> (this=0x7f1c3ac2ef90, token=0x0, ctx=...) at buck-out/v2/gen/fbcode/110b607930331a92/folly/__shared_mutex__/headers/folly/SharedMutex.h:1356
  #10 folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault>::lock_shared (this=0x7f1c3ac2ef90) at buck-out/v2/gen/fbcode/110b607930331a92/folly/__shared_mutex__/headers/folly/SharedMutex.h:495
  #11 std::shared_lock<folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault> >::shared_lock (this=<optimized out>, __m=...) at fbcode/third-party-buck/platform010/build/libgcc/include/c++/trunk/shared_mutex:727
  #12 0x0000000002d765fd in folly::LockedPtr<folly::Synchronized<watchman::Publisher::state, folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault> > const, folly::detail::SynchronizedLockPolicy<(folly::detail::SynchronizedMutexLevel)2, (folly::detail::SynchronizedMutexMethod)0> >::doLock<folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault>, std::shared_lock<folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault> >, folly::detail::SynchronizedLockPolicy<(folly::detail::SynchronizedMutexLevel)2, (folly::detail::SynchronizedMutexMethod)0>, 0> (mutex=...) at buck-out/v2/gen/fbcode/110b607930331a92/folly/__synchronized__/headers/folly/Synchronized.h:1493
  #13 folly::LockedPtr<folly::Synchronized<watchman::Publisher::state, folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault> > const, folly::detail::SynchronizedLockPolicy<(folly::detail::SynchronizedMutexLevel)2, (folly::detail::SynchronizedMutexMethod)0> >::LockedPtr (this=0x7ffd2d5be968, parent=<optimized out>) at buck-out/v2/gen/fbcode/110b607930331a92/folly/__synchronized__/headers/folly/Synchronized.h:1272
  #14 folly::SynchronizedBase<folly::Synchronized<watchman::Publisher::state, folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault> >, (folly::detail::SynchronizedMutexLevel)2>::rlock (this=<optimized out>) at buck-out/v2/gen/fbcode/110b607930331a92/folly/__synchronized__/headers/folly/Synchronized.h:229
  #15 watchman::Publisher::hasSubscribers (this=<optimized out>) at fbcode/watchman/PubSub.cpp:117
  #16 0x0000000002ecac20 in watchman::Log::log<char const (&) [59]> (this=<optimized out>, level=level@entry=watchman::ABORT, args=...) at buck-out/v2/gen/fbcode/110b607930331a92/watchman/__logging__/headers/watchman/Logging.h:42
  #17 0x0000000002ec9b24 in watchman::log<char const (&) [59]> (level=watchman::ABORT, args=...) at buck-out/v2/gen/fbcode/110b607930331a92/watchman/__logging__/headers/watchman/Logging.h:121
  #18 (anonymous namespace)::terminationHandler () at fbcode/watchman/SignalHandler.cpp:165
  #19 0x00007f1c3b0c7b3a in __cxxabiv1::__terminate (handler=<optimized out>) at ../../.././libstdc++-v3/libsupc++/eh_terminate.cc:48
  #20 0x00007f1c3b0c7ba5 in std::terminate () at ../../.././libstdc++-v3/libsupc++/eh_terminate.cc:58
  #21 0x0000000002d8cde1 in std::thread::~thread (this=0x7f1c3ac2ef90) at fbcode/third-party-buck/platform010/build/libgcc/include/c++/trunk/bits/std_thread.h:152
  #22 0x00007f1c3b3cc8f8 in __run_exit_handlers (status=1, listp=0x7f1c3b598658 <__exit_funcs>, run_list_atexit=<optimized out>, run_dtors=<optimized out>) at exit.c:113
  #23 0x00007f1c3b3cca0a in __GI_exit (status=<optimized out>) at exit.c:143
  #24 0x00007f1c3b3b165e in __libc_start_call_main (main=0x2d11220 <main(int, char**)>, argc=2, argv=0x7ffd2d5bec78) at ../sysdeps/nptl/libc_start_call_main.h:74
  #25 0x00007f1c3b3b1718 in __libc_start_main_impl (main=0x2d11220 <main(int, char**)>, argc=2, argv=0x7ffd2d5bec78, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffd2d5bec68) at ../csu/libc-start.c:409
  #26 0x0000000002d0e181 in _start () at ../sysdeps/x86_64/start.S:116

Reviewed By: xavierd

Differential Revision: D40166374

fbshipit-source-id: 7017e20234e5e0a9532eb61a63ac49ac0020d443
facebook-github-bot pushed a commit that referenced this issue Mar 8, 2023
Summary:
AsyncUDPSocket test cases are crashing when running under llvm15. During
debugging it seems that the issue is the fact that the code tries to allocated 0
size array. Changing the code to prevent such allocation.

This is not very clean why to fix, but I am not sure if there is better one.
Please let me know if you have any suggestions.

Sample crash:
```
$ buck test //folly/io/async/test:async_udp_socket_test
...
stdout:
Note: Google Test filter = AsyncUDPSocketTest.TestDetachAttach
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from AsyncUDPSocketTest
[ RUN      ] AsyncUDPSocketTest.TestDetachAttach

stderr:
fbcode/folly/io/async/AsyncUDPSocket.cpp:699:10: runtime error: variable length array bound evaluates to non-positive value 0
    #0 0x7f4d8ed93704 in folly::AsyncUDPSocket::writev(folly::SocketAddress const&, iovec const*, unsigned long, int) fbcode/folly/io/async/AsyncUDPSocket.cpp:698
    #1 0x7f4d8ed9081f in folly::AsyncUDPSocket::writeGSO(folly::SocketAddress const&, std::unique_ptr<folly::IOBuf, std::default_delete<folly::IOBuf>> const&, int) fbcode/folly/io/async/AsyncUDPSocket.cpp:528
    #2 0x7f4d8ed900b2 in folly::AsyncUDPSocket::write(folly::SocketAddress const&, std::unique_ptr<folly::IOBuf, std::default_delete<folly::IOBuf>> const&) fbcode/folly/io/async/AsyncUDPSocket.cpp:660
    #3 0x350a05 in AsyncUDPSocketTest_TestDetachAttach_Test::TestBody() fbcode/folly/io/async/test/AsyncUDPSocketTest.cpp:914
    #4 0x7f4d90dd1ad5 in testing::Test::Run() /home/engshare/third-party2/googletest/1.11.0/src/googletest/googletest/src/gtest.cc:2682:50
    #5 0x7f4d90dd1ad5 in testing::Test::Run() /home/engshare/third-party2/googletest/1.11.0/src/googletest/googletest/src/gtest.cc:2672:6
    #6 0x7f4d90dd1c64 in testing::TestInfo::Run() /home/engshare/third-party2/googletest/1.11.0/src/googletest/googletest/src/gtest.cc:2861:14
    #7 0x7f4d90dd1c64 in testing::TestInfo::Run() /home/engshare/third-party2/googletest/1.11.0/src/googletest/googletest/src/gtest.cc:2833:6
    #8 0x7f4d90dd2321 in testing::TestSuite::Run() /home/engshare/third-party2/googletest/1.11.0/src/googletest/googletest/src/gtest.cc:3015:31
    #9 0x7f4d90dd2321 in testing::TestSuite::Run() /home/engshare/third-party2/googletest/1.11.0/src/googletest/googletest/src/gtest.cc:2993:6
    #10 0x7f4d90dd2b1e in testing::internal::UnitTestImpl::RunAllTests() /home/engshare/third-party2/googletest/1.11.0/src/googletest/googletest/src/gtest.cc:5855:47
    #11 0x7f4d90dd1d87 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/engshare/third-party2/googletest/1.11.0/src/googletest/googletest/src/gtest.cc:2665:29
    #12 0x7f4d90dd1d87 in testing::UnitTest::Run() /home/engshare/third-party2/googletest/1.11.0/src/googletest/googletest/src/gtest.cc:5438:55
    #13 0x7f4d90d5c990 in RUN_ALL_TESTS() fbcode/third-party-buck/platform010/build/googletest/include/gtest/gtest.h:2490
    #14 0x7f4d90d5c618 in main fbcode/common/gtest/LightMain.cpp:20
    #15 0x7f4d8ea2c656 in __libc_start_call_main /home/engshare/third-party2/glibc/2.34/src/glibc-2.34/csu/../sysdeps/nptl/libc_start_call_main.h:58:16
    #16 0x7f4d8ea2c717 in __libc_start_main@GLIBC_2.2.5 /home/engshare/third-party2/glibc/2.34/src/glibc-2.34/csu/../csu/libc-start.c:409:3
    #17 0x33ea60 in _start /home/engshare/third-party2/glibc/2.34/src/glibc-2.34/csu/../sysdeps/x86_64/start.S:116
...
```

Reviewed By: russoue, dmm-fb

Differential Revision: D43858875

fbshipit-source-id: 93749bab17027b6dfc0dbc01b6c183e501a5494c
This issue was closed.
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