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

Build problem #9

Closed
molnarg opened this issue Sep 7, 2013 · 6 comments
Closed

Build problem #9

molnarg opened this issue Sep 7, 2013 · 6 comments

Comments

@molnarg
Copy link

molnarg commented Sep 7, 2013

I get this error message when building from git:

shrpx_ssl.cc: In function ‘SSL_CTX* shrpx::ssl::create_ssl_context(const char*, const char*)’:
shrpx_ssl.cc:162:60: error: ‘EC_KEY_new_by_curve_name’ was not declared in this scope
   auto ecdh = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
                                                            ^
shrpx_ssl.cc:169:19: error: ‘EC_KEY_free’ was not declared in this scope
   EC_KEY_free(ecdh);
                   ^
@tatsuhiro-t
Copy link
Member

Those symbols exist only for the recent version of openSSL. 1.0.1 is safe.
Which version are you using?

@molnarg
Copy link
Author

molnarg commented Sep 7, 2013

It's the openssl-devel package from Fedora 19, its version is 1.0.1e . Is this too old?

@tatsuhiro-t
Copy link
Member

Not at all. I'm using the same version on debian.
For the temporal workaround, comment out the following portion of the code in src/shrpx_ssl.cc:

// Use P-256, which is sufficiently secure at the time of this
// writing.
auto ecdh = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
if(ecdh == nullptr) {
  LOG(FATAL) << "EC_KEY_new_by_curv_name failed: "
             << ERR_error_string(ERR_get_error(), nullptr);
  DIE();
}
SSL_CTX_set_tmp_ecdh(ssl_ctx, ecdh);
EC_KEY_free(ecdh);

Since ECDH support is completely optional, so this change is quite safe.

@tatsuhiro-t
Copy link
Member

The commit 10f131c may fix the issue.

@molnarg
Copy link
Author

molnarg commented Sep 7, 2013

Thanks, this commit fixes the problem! It seems that the fedora version is built without ECDH support?

@molnarg molnarg closed this as completed Sep 7, 2013
@tatsuhiro-t
Copy link
Member

Yeah, that is the case. OpenSSL has several configuration options for cipher suites and fedora disables ECDH for some reason.

Chilledheart added a commit to Chilledheart/nghttp2 that referenced this issue May 5, 2024
  [41582:0505/102343.418221:ERROR:server_connection.cpp(364)] OnEndStream 1
  =================================================================
  ==41582==ERROR: AddressSanitizer: heap-use-after-free on address 0x511000678a19 at pc 0x55884fdaf49e bp 0x7ffedeaa9550 sp 0x7ffedeaa9548
  READ of size 1 at 0x511000678a19 thread T0
      #0 0x55884fdaf49d in nghttp2_stream_shutdown /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_stream.c:115:42
      nghttp2#1 0x55884fd9492f in nghttp2_session_on_data_received /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:5490:5
      nghttp2#2 0x55884fda1c06 in session_process_data_frame /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:5503:8
      nghttp2#3 0x55884fd9cf97 in nghttp2_session_mem_recv2 /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:7198:12
      nghttp2#4 0x55884fd95344 in nghttp2_session_mem_recv /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:5870:19
      nghttp2#5 0x55884fd7b273 in http2::adapter::NgHttp2Session::ProcessBytes(std::__Cr::basic_string_view<char, std::__Cr::char_traits<char>>) /home/hky/yass-develop/third_party/quiche/src/quiche/http2/adapter/nghttp2_session.cc:35:10
      nghttp2#6 0x55884fd5e233 in http2::adapter::NgHttp2Adapter::ProcessBytes(std::__Cr::basic_string_view<char, std::__Cr::char_traits<char>>) /home/hky/yass-develop/third_party/quiche/src/quiche/http2/adapter/nghttp2_adapter.cc:84:45
      nghttp2#7 0x55884faea0c2 in net::server::ServerConnection::GetNextUpstreamBuf(std::__Cr::error_code&, unsigned long*) /home/hky/yass-develop/src/server/server_connection.cpp:1017:30
      nghttp2#8 0x55884fad5e18 in net::server::ServerConnection::WriteUpstreamInPipe() /home/hky/yass-develop/src/server/server_connection.cpp:903:34
      nghttp2#9 0x55884fb517a6 in net::server::ServerConnection::ReadStream(bool)::$_1::operator()(std::__Cr::error_code) const /home/hky/yass-develop/src/server/server_connection.cpp:684:5
      nghttp2#10 0x55884fb51419 in decltype(std::declval<net::server::ServerConnection::ReadStream(bool)::$_1&>()(std::declval<std::__Cr::error_code>())) std::__Cr::__invoke<net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code>(net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code&&) /home/hky/yass-develop/third_party/libc++/trunk/include/__type_traits/invoke.h:150:25
      nghttp2#11 0x55884fb513cc in std::__Cr::invoke_result<net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code>::type std::__Cr::invoke<net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code>(net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code&&) /home/hky/yass-develop/third_party/libc++/trunk/include/__functional/invoke.h:28:10
      nghttp2#12 0x55884fb5139c in void absl::internal_any_invocable::InvokeR<void, net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code, void>(net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code&&) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:132:3
      nghttp2#13 0x55884fb51329 in void absl::internal_any_invocable::LocalInvoker<false, void, net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code>(absl::internal_any_invocable::TypeErasedState*, absl::internal_any_invocable::ForwardedParameter<std::__Cr::error_code>::type) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:310:10
      nghttp2#14 0x55884fafdedd in absl::internal_any_invocable::Impl<void (std::__Cr::error_code)>::operator()(std::__Cr::error_code) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:868:1
      nghttp2#15 0x55884fc19830 in net::SSLServerSocket::OnWaitRead(std::__Cr::error_code) /home/hky/yass-develop/src/net/ssl_server_socket.cpp:222:5
      nghttp2#16 0x55884fc1fc71 in net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0::operator()(std::__Cr::error_code) const /home/hky/yass-develop/src/net/ssl_server_socket.cpp:198:100
      nghttp2#17 0x55884fc1fbd5 in asio::detail::binder1<net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0, std::__Cr::error_code>::operator()() /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/bind_handler.hpp:114:5
      nghttp2#18 0x55884fc2058b in void asio::detail::executor_function::complete<asio::detail::binder1<net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0, std::__Cr::error_code>, std::__Cr::allocator<void>>(asio::detail::executor_function::impl_base*, bool) /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/executor_function.hpp:112:7
      nghttp2#19 0x55884faf691d in asio::detail::executor_function::operator()() /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/executor_function.hpp:60:7
      nghttp2#20 0x55884faf65f8 in void asio::io_context::basic_executor_type<std::__Cr::allocator<void>, 4ul>::execute<asio::detail::executor_function>(asio::detail::executor_function&&) const /home/hky/yass-develop/third_party/asio/asio/include/asio/impl/io_context.hpp:282:7
      nghttp2#21 0x55884fafb0f9 in void asio::execution::detail::any_executor_base::execute_ex<asio::io_context::basic_executor_type<std::__Cr::allocator<void>, 4ul>>(asio::execution::detail::any_executor_base const&, asio::detail::executor_function&&) /home/hky/yass-develop/third_party/asio/asio/include/asio/execution/any_executor.hpp:899:8
      nghttp2#22 0x55884fc1ffc7 in void asio::execution::detail::any_executor_base::execute<asio::detail::binder1<net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0, std::__Cr::error_code>>(asio::detail::binder1<net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0, std::__Cr::error_code>&&) const /home/hky/yass-develop/third_party/asio/asio/include/asio/execution/any_executor.hpp:680:9
      nghttp2#23 0x55884fc1fc00 in void asio::detail::handler_work_base<asio::any_io_executor, void, asio::io_context, asio::executor, void>::dispatch<asio::detail::binder1<net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0, std::__Cr::error_code>, net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0>(asio::detail::binder1<net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0, std::__Cr::error_code>&, net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0&) /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/handler_work.hpp:398:15
      nghttp2#24 0x55884fc1fb37 in void asio::detail::handler_work<net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0, asio::any_io_executor, void>::complete<asio::detail::binder1<net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0, std::__Cr::error_code>>(asio::detail::binder1<net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0, std::__Cr::error_code>&, net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0&) /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/handler_work.hpp:473:19
      nghttp2#25 0x55884fc1f6dd in asio::detail::reactive_wait_op<net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0, asio::any_io_executor>::do_complete(void*, asio::detail::scheduler_operation*, std::__Cr::error_code const&, unsigned long) /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/reactive_wait_op.hpp:86:9
      nghttp2#26 0x55884fe1451a in asio::detail::scheduler_operation::complete(void*, std::__Cr::error_code const&, unsigned long) /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/scheduler_operation.hpp:39:5
      nghttp2#27 0x55884fe13ce1 in asio::detail::epoll_reactor::descriptor_state::do_complete(void*, asio::detail::scheduler_operation*, std::__Cr::error_code const&, unsigned long) /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.ipp:814:11
      nghttp2#28 0x55884fe1451a in asio::detail::scheduler_operation::complete(void*, std::__Cr::error_code const&, unsigned long) /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/scheduler_operation.hpp:39:5
      nghttp2#29 0x55884fe1aca6 in asio::detail::scheduler::do_run_one(asio::detail::conditionally_enabled_mutex::scoped_lock&, asio::detail::scheduler_thread_info&, std::__Cr::error_code const&) /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/impl/scheduler.ipp:492:12
      nghttp2#30 0x55884fe0bd77 in asio::detail::scheduler::run(std::__Cr::error_code&) /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/impl/scheduler.ipp:209:10
      nghttp2#31 0x55884fe0bab2 in asio::io_context::run() /home/hky/yass-develop/third_party/asio/asio/include/asio/impl/io_context.ipp:63:24
      nghttp2#32 0x55884fb5fd6a in main /home/hky/yass-develop/src/server/server.cpp:245:14
      nghttp2#33 0x7f1d5316b34f  (/usr/lib64/libc.so.6+0x2434f)
      nghttp2#34 0x7f1d5316b408 in __libc_start_main (/usr/lib64/libc.so.6+0x24408)
      nghttp2#35 0x55884fa04824 in _start (/home/hky/yass-develop/build-asan/yass_server+0x369824) (BuildId: 55768b09d7640b33)

  0x511000678a19 is located 217 bytes inside of 224-byte region [0x511000678940,0x511000678a20)
  freed by thread T0 here:
      #0 0x55884fa96106 in cfree /b/s/w/ir/cache/builder/src/third_party/llvm/compiler-rt/lib/asan/asan_malloc_linux.cpp:52:3
      nghttp2#1 0x55884fdce428 in default_free /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_mem.c:36:3
      nghttp2#2 0x55884fdce26b in nghttp2_mem_free /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_mem.c:61:3
      nghttp2#3 0x55884fd87db4 in nghttp2_session_destroy_stream /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:1583:3
      nghttp2#4 0x55884fd87b12 in nghttp2_session_close_stream /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:1551:10
      nghttp2#5 0x55884fd92f6d in session_close_stream_on_goaway /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:2822:10
      nghttp2#6 0x55884fd8be09 in session_after_frame_sent1 /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:3082:12
      nghttp2#7 0x55884fd8a351 in nghttp2_session_mem_send_internal /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:3441:16
      nghttp2#8 0x55884fd8c33c in nghttp2_session_send /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:3584:15
      nghttp2#9 0x55884fd5fa0f in http2::adapter::NgHttp2Adapter::Send() /home/hky/yass-develop/third_party/quiche/src/quiche/http2/adapter/nghttp2_adapter.cc:168:22
      nghttp2#10 0x55884fad30b2 in net::server::ServerConnection::SendIfNotProcessing() /home/hky/yass-develop/src/server/server_connection.cpp:253:15
      nghttp2#11 0x55884fade668 in net::server::ServerConnection::OnEndStream(int) /home/hky/yass-develop/src/server/server_connection.cpp:370:5
      nghttp2#12 0x55884fd73cfd in http2::adapter::callbacks::OnFrameReceived(nghttp2_session*, nghttp2_frame const*, void*) /home/hky/yass-develop/third_party/quiche/src/quiche/http2/adapter/nghttp2_callbacks.cc:76:38
      nghttp2#13 0x55884fd8e2cd in session_call_on_frame_received /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:3651:10
      nghttp2#14 0x55884fd9489f in nghttp2_session_on_data_received /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:5473:8
      nghttp2#15 0x55884fda1c06 in session_process_data_frame /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:5503:8
      nghttp2#16 0x55884fd9cf97 in nghttp2_session_mem_recv2 /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:7198:12
      nghttp2#17 0x55884fd95344 in nghttp2_session_mem_recv /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:5870:19
      nghttp2#18 0x55884fd7b273 in http2::adapter::NgHttp2Session::ProcessBytes(std::__Cr::basic_string_view<char, std::__Cr::char_traits<char>>) /home/hky/yass-develop/third_party/quiche/src/quiche/http2/adapter/nghttp2_session.cc:35:10
      nghttp2#19 0x55884fd5e233 in http2::adapter::NgHttp2Adapter::ProcessBytes(std::__Cr::basic_string_view<char, std::__Cr::char_traits<char>>) /home/hky/yass-develop/third_party/quiche/src/quiche/http2/adapter/nghttp2_adapter.cc:84:45
      nghttp2#20 0x55884faea0c2 in net::server::ServerConnection::GetNextUpstreamBuf(std::__Cr::error_code&, unsigned long*) /home/hky/yass-develop/src/server/server_connection.cpp:1017:30
      nghttp2#21 0x55884fad5e18 in net::server::ServerConnection::WriteUpstreamInPipe() /home/hky/yass-develop/src/server/server_connection.cpp:903:34
      nghttp2#22 0x55884fb517a6 in net::server::ServerConnection::ReadStream(bool)::$_1::operator()(std::__Cr::error_code) const /home/hky/yass-develop/src/server/server_connection.cpp:684:5
      nghttp2#23 0x55884fb51419 in decltype(std::declval<net::server::ServerConnection::ReadStream(bool)::$_1&>()(std::declval<std::__Cr::error_code>())) std::__Cr::__invoke<net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code>(net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code&&) /home/hky/yass-develop/third_party/libc++/trunk/include/__type_traits/invoke.h:150:25
      nghttp2#24 0x55884fb513cc in std::__Cr::invoke_result<net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code>::type std::__Cr::invoke<net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code>(net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code&&) /home/hky/yass-develop/third_party/libc++/trunk/include/__functional/invoke.h:28:10
      nghttp2#25 0x55884fb5139c in void absl::internal_any_invocable::InvokeR<void, net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code, void>(net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code&&) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:132:3
      nghttp2#26 0x55884fb51329 in void absl::internal_any_invocable::LocalInvoker<false, void, net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code>(absl::internal_any_invocable::TypeErasedState*, absl::internal_any_invocable::ForwardedParameter<std::__Cr::error_code>::type) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:310:10
      nghttp2#27 0x55884fafdedd in absl::internal_any_invocable::Impl<void (std::__Cr::error_code)>::operator()(std::__Cr::error_code) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:868:1
      nghttp2#28 0x55884fc19830 in net::SSLServerSocket::OnWaitRead(std::__Cr::error_code) /home/hky/yass-develop/src/net/ssl_server_socket.cpp:222:5
      nghttp2#29 0x55884fc1fc71 in net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0::operator()(std::__Cr::error_code) const /home/hky/yass-develop/src/net/ssl_server_socket.cpp:198:100

  previously allocated by thread T0 here:
      #0 0x55884fa9621f in malloc /b/s/w/ir/cache/builder/src/third_party/llvm/compiler-rt/lib/asan/asan_malloc_linux.cpp:68:3
      nghttp2#1 0x55884fdce408 in default_malloc /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_mem.c:30:10
      nghttp2#2 0x55884fdce1db in nghttp2_mem_malloc /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_mem.c:57:10
      nghttp2#3 0x55884fd85165 in nghttp2_session_open_stream /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:1339:14
      nghttp2#4 0x55884fd8ce45 in nghttp2_session_on_request_headers_received /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:4268:12
      nghttp2#5 0x55884fd9ec75 in session_process_headers_frame /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:4421:12
      nghttp2#6 0x55884fd965ff in nghttp2_session_mem_recv2 /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:6095:14
      nghttp2#7 0x55884fd95344 in nghttp2_session_mem_recv /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:5870:19
      nghttp2#8 0x55884fd7b273 in http2::adapter::NgHttp2Session::ProcessBytes(std::__Cr::basic_string_view<char, std::__Cr::char_traits<char>>) /home/hky/yass-develop/third_party/quiche/src/quiche/http2/adapter/nghttp2_session.cc:35:10
      nghttp2#9 0x55884fd5e233 in http2::adapter::NgHttp2Adapter::ProcessBytes(std::__Cr::basic_string_view<char, std::__Cr::char_traits<char>>) /home/hky/yass-develop/third_party/quiche/src/quiche/http2/adapter/nghttp2_adapter.cc:84:45
      nghttp2#10 0x55884faea0c2 in net::server::ServerConnection::GetNextUpstreamBuf(std::__Cr::error_code&, unsigned long*) /home/hky/yass-develop/src/server/server_connection.cpp:1017:30
      nghttp2#11 0x55884fad5e18 in net::server::ServerConnection::WriteUpstreamInPipe() /home/hky/yass-develop/src/server/server_connection.cpp:903:34
      nghttp2#12 0x55884fad51c6 in net::server::ServerConnection::Start() /home/hky/yass-develop/src/server/server_connection.cpp:231:5
      nghttp2#13 0x55884fb3e76b in net::server::ServerConnection::start()::$_0::operator()(std::__Cr::error_code) const /home/hky/yass-develop/src/server/server_connection.cpp:160:5
      nghttp2#14 0x55884fb3e539 in decltype(std::declval<net::server::ServerConnection::start()::$_0&>()(std::declval<std::__Cr::error_code>())) std::__Cr::__invoke<net::server::ServerConnection::start()::$_0&, std::__Cr::error_code>(net::server::ServerConnection::start()::$_0&, std::__Cr::error_code&&) /home/hky/yass-develop/third_party/libc++/trunk/include/__type_traits/invoke.h:150:25
      nghttp2#15 0x55884fb3e4ec in std::__Cr::invoke_result<net::server::ServerConnection::start()::$_0&, std::__Cr::error_code>::type std::__Cr::invoke<net::server::ServerConnection::start()::$_0&, std::__Cr::error_code>(net::server::ServerConnection::start()::$_0&, std::__Cr::error_code&&) /home/hky/yass-develop/third_party/libc++/trunk/include/__functional/invoke.h:28:10
      nghttp2#16 0x55884fb3e4bc in void absl::internal_any_invocable::InvokeR<void, net::server::ServerConnection::start()::$_0&, std::__Cr::error_code, void>(net::server::ServerConnection::start()::$_0&, std::__Cr::error_code&&) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:132:3
      nghttp2#17 0x55884fb3e449 in void absl::internal_any_invocable::LocalInvoker<false, void, net::server::ServerConnection::start()::$_0&, std::__Cr::error_code>(absl::internal_any_invocable::TypeErasedState*, absl::internal_any_invocable::ForwardedParameter<std::__Cr::error_code>::type) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:310:10
      nghttp2#18 0x55884fafdedd in absl::internal_any_invocable::Impl<void (std::__Cr::error_code)>::operator()(std::__Cr::error_code) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:868:1
      nghttp2#19 0x55884fb046a4 in net::SSLDownlink::handshake(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::'lambda'(int)::operator()(int) const /home/hky/yass-develop/src/net/connection.hpp:96:9
      nghttp2#20 0x55884fb04423 in decltype(std::declval<net::SSLDownlink::handshake(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::'lambda'(int)&>()(std::declval<int>())) std::__Cr::__invoke<net::SSLDownlink::handshake(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::'lambda'(int)&, int>(net::SSLDownlink::handshake(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::'lambda'(int)&, int&&) /home/hky/yass-develop/third_party/libc++/trunk/include/__type_traits/invoke.h:150:25
      nghttp2#21 0x55884fb043ac in std::__Cr::invoke_result<net::SSLDownlink::handshake(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::'lambda'(int)&, int>::type std::__Cr::invoke<net::SSLDownlink::handshake(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::'lambda'(int)&, int>(net::SSLDownlink::handshake(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::'lambda'(int)&, int&&) /home/hky/yass-develop/third_party/libc++/trunk/include/__functional/invoke.h:28:10
      nghttp2#22 0x55884fb0437c in void absl::internal_any_invocable::InvokeR<void, net::SSLDownlink::handshake(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::'lambda'(int)&, int, void>(net::SSLDownlink::handshake(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::'lambda'(int)&, int&&) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:132:3
      nghttp2#23 0x55884fb0428f in void absl::internal_any_invocable::LocalInvoker<false, void, net::SSLDownlink::handshake(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::'lambda'(int)&, int>(absl::internal_any_invocable::TypeErasedState*, absl::internal_any_invocable::ForwardedParameter<int>::type) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:310:10
      nghttp2#24 0x55884fbfc781 in absl::internal_any_invocable::Impl<void (int)>::operator()(int) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:868:1
      nghttp2#25 0x55884fc1a47c in net::SSLServerSocket::DoHandshakeCallback(int) /home/hky/yass-develop/src/net/ssl_server_socket.cpp:360:39
      nghttp2#26 0x55884fc1a283 in net::SSLServerSocket::OnHandshakeIOComplete(int, int) /home/hky/yass-develop/src/net/ssl_server_socket.cpp:284:5
      nghttp2#27 0x55884fc1a20d in net::SSLServerSocket::OnWriteReady() /home/hky/yass-develop/src/net/ssl_server_socket.cpp:259:5
      nghttp2#28 0x55884fc22df4 in net::SSLServerSocket::DoHandshakeLoop(int, int)::$_0::operator()(std::__Cr::error_code) const /home/hky/yass-develop/src/net/ssl_server_socket.cpp:393:9
      nghttp2#29 0x55884fc22bb5 in asio::detail::binder1<net::SSLServerSocket::DoHandshakeLoop(int, int)::$_0, std::__Cr::error_code>::operator()() /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/bind_handler.hpp:114:5

  SUMMARY: AddressSanitizer: heap-use-after-free /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_stream.c:115:42 in nghttp2_stream_shutdown
Chilledheart added a commit to Chilledheart/nghttp2 that referenced this issue May 5, 2024
  [41582:0505/102343.418221:ERROR:server_connection.cpp(364)] OnEndStream 1
  =================================================================
  ==41582==ERROR: AddressSanitizer: heap-use-after-free on address 0x511000678a19 at pc 0x55884fdaf49e bp 0x7ffedeaa9550 sp 0x7ffedeaa9548
  READ of size 1 at 0x511000678a19 thread T0
      #0 0x55884fdaf49d in nghttp2_stream_shutdown /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_stream.c:115:42
      nghttp2#1 0x55884fd9492f in nghttp2_session_on_data_received /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:5490:5
      nghttp2#2 0x55884fda1c06 in session_process_data_frame /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:5503:8
      nghttp2#3 0x55884fd9cf97 in nghttp2_session_mem_recv2 /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:7198:12
      nghttp2#4 0x55884fd95344 in nghttp2_session_mem_recv /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:5870:19
      nghttp2#5 0x55884fd7b273 in http2::adapter::NgHttp2Session::ProcessBytes(std::__Cr::basic_string_view<char, std::__Cr::char_traits<char>>) /home/hky/yass-develop/third_party/quiche/src/quiche/http2/adapter/nghttp2_session.cc:35:10
      nghttp2#6 0x55884fd5e233 in http2::adapter::NgHttp2Adapter::ProcessBytes(std::__Cr::basic_string_view<char, std::__Cr::char_traits<char>>) /home/hky/yass-develop/third_party/quiche/src/quiche/http2/adapter/nghttp2_adapter.cc:84:45
      nghttp2#7 0x55884faea0c2 in net::server::ServerConnection::GetNextUpstreamBuf(std::__Cr::error_code&, unsigned long*) /home/hky/yass-develop/src/server/server_connection.cpp:1017:30
      nghttp2#8 0x55884fad5e18 in net::server::ServerConnection::WriteUpstreamInPipe() /home/hky/yass-develop/src/server/server_connection.cpp:903:34
      nghttp2#9 0x55884fb517a6 in net::server::ServerConnection::ReadStream(bool)::$_1::operator()(std::__Cr::error_code) const /home/hky/yass-develop/src/server/server_connection.cpp:684:5
      nghttp2#10 0x55884fb51419 in decltype(std::declval<net::server::ServerConnection::ReadStream(bool)::$_1&>()(std::declval<std::__Cr::error_code>())) std::__Cr::__invoke<net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code>(net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code&&) /home/hky/yass-develop/third_party/libc++/trunk/include/__type_traits/invoke.h:150:25
      nghttp2#11 0x55884fb513cc in std::__Cr::invoke_result<net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code>::type std::__Cr::invoke<net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code>(net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code&&) /home/hky/yass-develop/third_party/libc++/trunk/include/__functional/invoke.h:28:10
      nghttp2#12 0x55884fb5139c in void absl::internal_any_invocable::InvokeR<void, net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code, void>(net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code&&) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:132:3
      nghttp2#13 0x55884fb51329 in void absl::internal_any_invocable::LocalInvoker<false, void, net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code>(absl::internal_any_invocable::TypeErasedState*, absl::internal_any_invocable::ForwardedParameter<std::__Cr::error_code>::type) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:310:10
      nghttp2#14 0x55884fafdedd in absl::internal_any_invocable::Impl<void (std::__Cr::error_code)>::operator()(std::__Cr::error_code) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:868:1
      nghttp2#15 0x55884fc19830 in net::SSLServerSocket::OnWaitRead(std::__Cr::error_code) /home/hky/yass-develop/src/net/ssl_server_socket.cpp:222:5
      nghttp2#16 0x55884fc1fc71 in net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0::operator()(std::__Cr::error_code) const /home/hky/yass-develop/src/net/ssl_server_socket.cpp:198:100
      nghttp2#17 0x55884fc1fbd5 in asio::detail::binder1<net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0, std::__Cr::error_code>::operator()() /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/bind_handler.hpp:114:5
      nghttp2#18 0x55884fc2058b in void asio::detail::executor_function::complete<asio::detail::binder1<net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0, std::__Cr::error_code>, std::__Cr::allocator<void>>(asio::detail::executor_function::impl_base*, bool) /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/executor_function.hpp:112:7
      nghttp2#19 0x55884faf691d in asio::detail::executor_function::operator()() /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/executor_function.hpp:60:7
      nghttp2#20 0x55884faf65f8 in void asio::io_context::basic_executor_type<std::__Cr::allocator<void>, 4ul>::execute<asio::detail::executor_function>(asio::detail::executor_function&&) const /home/hky/yass-develop/third_party/asio/asio/include/asio/impl/io_context.hpp:282:7
      nghttp2#21 0x55884fafb0f9 in void asio::execution::detail::any_executor_base::execute_ex<asio::io_context::basic_executor_type<std::__Cr::allocator<void>, 4ul>>(asio::execution::detail::any_executor_base const&, asio::detail::executor_function&&) /home/hky/yass-develop/third_party/asio/asio/include/asio/execution/any_executor.hpp:899:8
      nghttp2#22 0x55884fc1ffc7 in void asio::execution::detail::any_executor_base::execute<asio::detail::binder1<net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0, std::__Cr::error_code>>(asio::detail::binder1<net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0, std::__Cr::error_code>&&) const /home/hky/yass-develop/third_party/asio/asio/include/asio/execution/any_executor.hpp:680:9
      nghttp2#23 0x55884fc1fc00 in void asio::detail::handler_work_base<asio::any_io_executor, void, asio::io_context, asio::executor, void>::dispatch<asio::detail::binder1<net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0, std::__Cr::error_code>, net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0>(asio::detail::binder1<net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0, std::__Cr::error_code>&, net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0&) /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/handler_work.hpp:398:15
      nghttp2#24 0x55884fc1fb37 in void asio::detail::handler_work<net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0, asio::any_io_executor, void>::complete<asio::detail::binder1<net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0, std::__Cr::error_code>>(asio::detail::binder1<net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0, std::__Cr::error_code>&, net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0&) /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/handler_work.hpp:473:19
      nghttp2#25 0x55884fc1f6dd in asio::detail::reactive_wait_op<net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0, asio::any_io_executor>::do_complete(void*, asio::detail::scheduler_operation*, std::__Cr::error_code const&, unsigned long) /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/reactive_wait_op.hpp:86:9
      nghttp2#26 0x55884fe1451a in asio::detail::scheduler_operation::complete(void*, std::__Cr::error_code const&, unsigned long) /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/scheduler_operation.hpp:39:5
      nghttp2#27 0x55884fe13ce1 in asio::detail::epoll_reactor::descriptor_state::do_complete(void*, asio::detail::scheduler_operation*, std::__Cr::error_code const&, unsigned long) /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.ipp:814:11
      nghttp2#28 0x55884fe1451a in asio::detail::scheduler_operation::complete(void*, std::__Cr::error_code const&, unsigned long) /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/scheduler_operation.hpp:39:5
      nghttp2#29 0x55884fe1aca6 in asio::detail::scheduler::do_run_one(asio::detail::conditionally_enabled_mutex::scoped_lock&, asio::detail::scheduler_thread_info&, std::__Cr::error_code const&) /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/impl/scheduler.ipp:492:12
      nghttp2#30 0x55884fe0bd77 in asio::detail::scheduler::run(std::__Cr::error_code&) /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/impl/scheduler.ipp:209:10
      nghttp2#31 0x55884fe0bab2 in asio::io_context::run() /home/hky/yass-develop/third_party/asio/asio/include/asio/impl/io_context.ipp:63:24
      nghttp2#32 0x55884fb5fd6a in main /home/hky/yass-develop/src/server/server.cpp:245:14
      nghttp2#33 0x7f1d5316b34f  (/usr/lib64/libc.so.6+0x2434f)
      nghttp2#34 0x7f1d5316b408 in __libc_start_main (/usr/lib64/libc.so.6+0x24408)
      nghttp2#35 0x55884fa04824 in _start (/home/hky/yass-develop/build-asan/yass_server+0x369824) (BuildId: 55768b09d7640b33)

  0x511000678a19 is located 217 bytes inside of 224-byte region [0x511000678940,0x511000678a20)
  freed by thread T0 here:
      #0 0x55884fa96106 in cfree /b/s/w/ir/cache/builder/src/third_party/llvm/compiler-rt/lib/asan/asan_malloc_linux.cpp:52:3
      nghttp2#1 0x55884fdce428 in default_free /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_mem.c:36:3
      nghttp2#2 0x55884fdce26b in nghttp2_mem_free /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_mem.c:61:3
      nghttp2#3 0x55884fd87db4 in nghttp2_session_destroy_stream /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:1583:3
      nghttp2#4 0x55884fd87b12 in nghttp2_session_close_stream /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:1551:10
      nghttp2#5 0x55884fd92f6d in session_close_stream_on_goaway /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:2822:10
      nghttp2#6 0x55884fd8be09 in session_after_frame_sent1 /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:3082:12
      nghttp2#7 0x55884fd8a351 in nghttp2_session_mem_send_internal /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:3441:16
      nghttp2#8 0x55884fd8c33c in nghttp2_session_send /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:3584:15
      nghttp2#9 0x55884fd5fa0f in http2::adapter::NgHttp2Adapter::Send() /home/hky/yass-develop/third_party/quiche/src/quiche/http2/adapter/nghttp2_adapter.cc:168:22
      nghttp2#10 0x55884fad30b2 in net::server::ServerConnection::SendIfNotProcessing() /home/hky/yass-develop/src/server/server_connection.cpp:253:15
      nghttp2#11 0x55884fade668 in net::server::ServerConnection::OnEndStream(int) /home/hky/yass-develop/src/server/server_connection.cpp:370:5
      nghttp2#12 0x55884fd73cfd in http2::adapter::callbacks::OnFrameReceived(nghttp2_session*, nghttp2_frame const*, void*) /home/hky/yass-develop/third_party/quiche/src/quiche/http2/adapter/nghttp2_callbacks.cc:76:38
      nghttp2#13 0x55884fd8e2cd in session_call_on_frame_received /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:3651:10
      nghttp2#14 0x55884fd9489f in nghttp2_session_on_data_received /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:5473:8
      nghttp2#15 0x55884fda1c06 in session_process_data_frame /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:5503:8
      nghttp2#16 0x55884fd9cf97 in nghttp2_session_mem_recv2 /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:7198:12
      nghttp2#17 0x55884fd95344 in nghttp2_session_mem_recv /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:5870:19
      nghttp2#18 0x55884fd7b273 in http2::adapter::NgHttp2Session::ProcessBytes(std::__Cr::basic_string_view<char, std::__Cr::char_traits<char>>) /home/hky/yass-develop/third_party/quiche/src/quiche/http2/adapter/nghttp2_session.cc:35:10
      nghttp2#19 0x55884fd5e233 in http2::adapter::NgHttp2Adapter::ProcessBytes(std::__Cr::basic_string_view<char, std::__Cr::char_traits<char>>) /home/hky/yass-develop/third_party/quiche/src/quiche/http2/adapter/nghttp2_adapter.cc:84:45
      nghttp2#20 0x55884faea0c2 in net::server::ServerConnection::GetNextUpstreamBuf(std::__Cr::error_code&, unsigned long*) /home/hky/yass-develop/src/server/server_connection.cpp:1017:30
      nghttp2#21 0x55884fad5e18 in net::server::ServerConnection::WriteUpstreamInPipe() /home/hky/yass-develop/src/server/server_connection.cpp:903:34
      nghttp2#22 0x55884fb517a6 in net::server::ServerConnection::ReadStream(bool)::$_1::operator()(std::__Cr::error_code) const /home/hky/yass-develop/src/server/server_connection.cpp:684:5
      nghttp2#23 0x55884fb51419 in decltype(std::declval<net::server::ServerConnection::ReadStream(bool)::$_1&>()(std::declval<std::__Cr::error_code>())) std::__Cr::__invoke<net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code>(net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code&&) /home/hky/yass-develop/third_party/libc++/trunk/include/__type_traits/invoke.h:150:25
      nghttp2#24 0x55884fb513cc in std::__Cr::invoke_result<net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code>::type std::__Cr::invoke<net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code>(net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code&&) /home/hky/yass-develop/third_party/libc++/trunk/include/__functional/invoke.h:28:10
      nghttp2#25 0x55884fb5139c in void absl::internal_any_invocable::InvokeR<void, net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code, void>(net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code&&) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:132:3
      nghttp2#26 0x55884fb51329 in void absl::internal_any_invocable::LocalInvoker<false, void, net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code>(absl::internal_any_invocable::TypeErasedState*, absl::internal_any_invocable::ForwardedParameter<std::__Cr::error_code>::type) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:310:10
      nghttp2#27 0x55884fafdedd in absl::internal_any_invocable::Impl<void (std::__Cr::error_code)>::operator()(std::__Cr::error_code) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:868:1
      nghttp2#28 0x55884fc19830 in net::SSLServerSocket::OnWaitRead(std::__Cr::error_code) /home/hky/yass-develop/src/net/ssl_server_socket.cpp:222:5
      nghttp2#29 0x55884fc1fc71 in net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0::operator()(std::__Cr::error_code) const /home/hky/yass-develop/src/net/ssl_server_socket.cpp:198:100

  previously allocated by thread T0 here:
      #0 0x55884fa9621f in malloc /b/s/w/ir/cache/builder/src/third_party/llvm/compiler-rt/lib/asan/asan_malloc_linux.cpp:68:3
      nghttp2#1 0x55884fdce408 in default_malloc /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_mem.c:30:10
      nghttp2#2 0x55884fdce1db in nghttp2_mem_malloc /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_mem.c:57:10
      nghttp2#3 0x55884fd85165 in nghttp2_session_open_stream /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:1339:14
      nghttp2#4 0x55884fd8ce45 in nghttp2_session_on_request_headers_received /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:4268:12
      nghttp2#5 0x55884fd9ec75 in session_process_headers_frame /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:4421:12
      nghttp2#6 0x55884fd965ff in nghttp2_session_mem_recv2 /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:6095:14
      nghttp2#7 0x55884fd95344 in nghttp2_session_mem_recv /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:5870:19
      nghttp2#8 0x55884fd7b273 in http2::adapter::NgHttp2Session::ProcessBytes(std::__Cr::basic_string_view<char, std::__Cr::char_traits<char>>) /home/hky/yass-develop/third_party/quiche/src/quiche/http2/adapter/nghttp2_session.cc:35:10
      nghttp2#9 0x55884fd5e233 in http2::adapter::NgHttp2Adapter::ProcessBytes(std::__Cr::basic_string_view<char, std::__Cr::char_traits<char>>) /home/hky/yass-develop/third_party/quiche/src/quiche/http2/adapter/nghttp2_adapter.cc:84:45
      nghttp2#10 0x55884faea0c2 in net::server::ServerConnection::GetNextUpstreamBuf(std::__Cr::error_code&, unsigned long*) /home/hky/yass-develop/src/server/server_connection.cpp:1017:30
      nghttp2#11 0x55884fad5e18 in net::server::ServerConnection::WriteUpstreamInPipe() /home/hky/yass-develop/src/server/server_connection.cpp:903:34
      nghttp2#12 0x55884fad51c6 in net::server::ServerConnection::Start() /home/hky/yass-develop/src/server/server_connection.cpp:231:5
      nghttp2#13 0x55884fb3e76b in net::server::ServerConnection::start()::$_0::operator()(std::__Cr::error_code) const /home/hky/yass-develop/src/server/server_connection.cpp:160:5
      nghttp2#14 0x55884fb3e539 in decltype(std::declval<net::server::ServerConnection::start()::$_0&>()(std::declval<std::__Cr::error_code>())) std::__Cr::__invoke<net::server::ServerConnection::start()::$_0&, std::__Cr::error_code>(net::server::ServerConnection::start()::$_0&, std::__Cr::error_code&&) /home/hky/yass-develop/third_party/libc++/trunk/include/__type_traits/invoke.h:150:25
      nghttp2#15 0x55884fb3e4ec in std::__Cr::invoke_result<net::server::ServerConnection::start()::$_0&, std::__Cr::error_code>::type std::__Cr::invoke<net::server::ServerConnection::start()::$_0&, std::__Cr::error_code>(net::server::ServerConnection::start()::$_0&, std::__Cr::error_code&&) /home/hky/yass-develop/third_party/libc++/trunk/include/__functional/invoke.h:28:10
      nghttp2#16 0x55884fb3e4bc in void absl::internal_any_invocable::InvokeR<void, net::server::ServerConnection::start()::$_0&, std::__Cr::error_code, void>(net::server::ServerConnection::start()::$_0&, std::__Cr::error_code&&) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:132:3
      nghttp2#17 0x55884fb3e449 in void absl::internal_any_invocable::LocalInvoker<false, void, net::server::ServerConnection::start()::$_0&, std::__Cr::error_code>(absl::internal_any_invocable::TypeErasedState*, absl::internal_any_invocable::ForwardedParameter<std::__Cr::error_code>::type) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:310:10
      nghttp2#18 0x55884fafdedd in absl::internal_any_invocable::Impl<void (std::__Cr::error_code)>::operator()(std::__Cr::error_code) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:868:1
      nghttp2#19 0x55884fb046a4 in net::SSLDownlink::handshake(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::'lambda'(int)::operator()(int) const /home/hky/yass-develop/src/net/connection.hpp:96:9
      nghttp2#20 0x55884fb04423 in decltype(std::declval<net::SSLDownlink::handshake(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::'lambda'(int)&>()(std::declval<int>())) std::__Cr::__invoke<net::SSLDownlink::handshake(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::'lambda'(int)&, int>(net::SSLDownlink::handshake(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::'lambda'(int)&, int&&) /home/hky/yass-develop/third_party/libc++/trunk/include/__type_traits/invoke.h:150:25
      nghttp2#21 0x55884fb043ac in std::__Cr::invoke_result<net::SSLDownlink::handshake(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::'lambda'(int)&, int>::type std::__Cr::invoke<net::SSLDownlink::handshake(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::'lambda'(int)&, int>(net::SSLDownlink::handshake(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::'lambda'(int)&, int&&) /home/hky/yass-develop/third_party/libc++/trunk/include/__functional/invoke.h:28:10
      nghttp2#22 0x55884fb0437c in void absl::internal_any_invocable::InvokeR<void, net::SSLDownlink::handshake(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::'lambda'(int)&, int, void>(net::SSLDownlink::handshake(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::'lambda'(int)&, int&&) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:132:3
      nghttp2#23 0x55884fb0428f in void absl::internal_any_invocable::LocalInvoker<false, void, net::SSLDownlink::handshake(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::'lambda'(int)&, int>(absl::internal_any_invocable::TypeErasedState*, absl::internal_any_invocable::ForwardedParameter<int>::type) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:310:10
      nghttp2#24 0x55884fbfc781 in absl::internal_any_invocable::Impl<void (int)>::operator()(int) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:868:1
      nghttp2#25 0x55884fc1a47c in net::SSLServerSocket::DoHandshakeCallback(int) /home/hky/yass-develop/src/net/ssl_server_socket.cpp:360:39
      nghttp2#26 0x55884fc1a283 in net::SSLServerSocket::OnHandshakeIOComplete(int, int) /home/hky/yass-develop/src/net/ssl_server_socket.cpp:284:5
      nghttp2#27 0x55884fc1a20d in net::SSLServerSocket::OnWriteReady() /home/hky/yass-develop/src/net/ssl_server_socket.cpp:259:5
      nghttp2#28 0x55884fc22df4 in net::SSLServerSocket::DoHandshakeLoop(int, int)::$_0::operator()(std::__Cr::error_code) const /home/hky/yass-develop/src/net/ssl_server_socket.cpp:393:9
      nghttp2#29 0x55884fc22bb5 in asio::detail::binder1<net::SSLServerSocket::DoHandshakeLoop(int, int)::$_0, std::__Cr::error_code>::operator()() /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/bind_handler.hpp:114:5

  SUMMARY: AddressSanitizer: heap-use-after-free /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_stream.c:115:42 in nghttp2_stream_shutdown
Chilledheart added a commit to Chilledheart/nghttp2 that referenced this issue May 14, 2024
  [41582:0505/102343.418221:ERROR:server_connection.cpp(364)] OnEndStream 1
  =================================================================
  ==41582==ERROR: AddressSanitizer: heap-use-after-free on address 0x511000678a19 at pc 0x55884fdaf49e bp 0x7ffedeaa9550 sp 0x7ffedeaa9548
  READ of size 1 at 0x511000678a19 thread T0
      #0 0x55884fdaf49d in nghttp2_stream_shutdown /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_stream.c:115:42
      nghttp2#1 0x55884fd9492f in nghttp2_session_on_data_received /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:5490:5
      nghttp2#2 0x55884fda1c06 in session_process_data_frame /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:5503:8
      nghttp2#3 0x55884fd9cf97 in nghttp2_session_mem_recv2 /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:7198:12
      nghttp2#4 0x55884fd95344 in nghttp2_session_mem_recv /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:5870:19
      nghttp2#5 0x55884fd7b273 in http2::adapter::NgHttp2Session::ProcessBytes(std::__Cr::basic_string_view<char, std::__Cr::char_traits<char>>) /home/hky/yass-develop/third_party/quiche/src/quiche/http2/adapter/nghttp2_session.cc:35:10
      nghttp2#6 0x55884fd5e233 in http2::adapter::NgHttp2Adapter::ProcessBytes(std::__Cr::basic_string_view<char, std::__Cr::char_traits<char>>) /home/hky/yass-develop/third_party/quiche/src/quiche/http2/adapter/nghttp2_adapter.cc:84:45
      nghttp2#7 0x55884faea0c2 in net::server::ServerConnection::GetNextUpstreamBuf(std::__Cr::error_code&, unsigned long*) /home/hky/yass-develop/src/server/server_connection.cpp:1017:30
      nghttp2#8 0x55884fad5e18 in net::server::ServerConnection::WriteUpstreamInPipe() /home/hky/yass-develop/src/server/server_connection.cpp:903:34
      nghttp2#9 0x55884fb517a6 in net::server::ServerConnection::ReadStream(bool)::$_1::operator()(std::__Cr::error_code) const /home/hky/yass-develop/src/server/server_connection.cpp:684:5
      nghttp2#10 0x55884fb51419 in decltype(std::declval<net::server::ServerConnection::ReadStream(bool)::$_1&>()(std::declval<std::__Cr::error_code>())) std::__Cr::__invoke<net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code>(net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code&&) /home/hky/yass-develop/third_party/libc++/trunk/include/__type_traits/invoke.h:150:25
      nghttp2#11 0x55884fb513cc in std::__Cr::invoke_result<net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code>::type std::__Cr::invoke<net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code>(net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code&&) /home/hky/yass-develop/third_party/libc++/trunk/include/__functional/invoke.h:28:10
      nghttp2#12 0x55884fb5139c in void absl::internal_any_invocable::InvokeR<void, net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code, void>(net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code&&) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:132:3
      nghttp2#13 0x55884fb51329 in void absl::internal_any_invocable::LocalInvoker<false, void, net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code>(absl::internal_any_invocable::TypeErasedState*, absl::internal_any_invocable::ForwardedParameter<std::__Cr::error_code>::type) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:310:10
      nghttp2#14 0x55884fafdedd in absl::internal_any_invocable::Impl<void (std::__Cr::error_code)>::operator()(std::__Cr::error_code) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:868:1
      nghttp2#15 0x55884fc19830 in net::SSLServerSocket::OnWaitRead(std::__Cr::error_code) /home/hky/yass-develop/src/net/ssl_server_socket.cpp:222:5
      nghttp2#16 0x55884fc1fc71 in net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0::operator()(std::__Cr::error_code) const /home/hky/yass-develop/src/net/ssl_server_socket.cpp:198:100
      nghttp2#17 0x55884fc1fbd5 in asio::detail::binder1<net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0, std::__Cr::error_code>::operator()() /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/bind_handler.hpp:114:5
      nghttp2#18 0x55884fc2058b in void asio::detail::executor_function::complete<asio::detail::binder1<net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0, std::__Cr::error_code>, std::__Cr::allocator<void>>(asio::detail::executor_function::impl_base*, bool) /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/executor_function.hpp:112:7
      nghttp2#19 0x55884faf691d in asio::detail::executor_function::operator()() /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/executor_function.hpp:60:7
      nghttp2#20 0x55884faf65f8 in void asio::io_context::basic_executor_type<std::__Cr::allocator<void>, 4ul>::execute<asio::detail::executor_function>(asio::detail::executor_function&&) const /home/hky/yass-develop/third_party/asio/asio/include/asio/impl/io_context.hpp:282:7
      nghttp2#21 0x55884fafb0f9 in void asio::execution::detail::any_executor_base::execute_ex<asio::io_context::basic_executor_type<std::__Cr::allocator<void>, 4ul>>(asio::execution::detail::any_executor_base const&, asio::detail::executor_function&&) /home/hky/yass-develop/third_party/asio/asio/include/asio/execution/any_executor.hpp:899:8
      nghttp2#22 0x55884fc1ffc7 in void asio::execution::detail::any_executor_base::execute<asio::detail::binder1<net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0, std::__Cr::error_code>>(asio::detail::binder1<net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0, std::__Cr::error_code>&&) const /home/hky/yass-develop/third_party/asio/asio/include/asio/execution/any_executor.hpp:680:9
      nghttp2#23 0x55884fc1fc00 in void asio::detail::handler_work_base<asio::any_io_executor, void, asio::io_context, asio::executor, void>::dispatch<asio::detail::binder1<net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0, std::__Cr::error_code>, net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0>(asio::detail::binder1<net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0, std::__Cr::error_code>&, net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0&) /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/handler_work.hpp:398:15
      nghttp2#24 0x55884fc1fb37 in void asio::detail::handler_work<net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0, asio::any_io_executor, void>::complete<asio::detail::binder1<net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0, std::__Cr::error_code>>(asio::detail::binder1<net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0, std::__Cr::error_code>&, net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0&) /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/handler_work.hpp:473:19
      nghttp2#25 0x55884fc1f6dd in asio::detail::reactive_wait_op<net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0, asio::any_io_executor>::do_complete(void*, asio::detail::scheduler_operation*, std::__Cr::error_code const&, unsigned long) /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/reactive_wait_op.hpp:86:9
      nghttp2#26 0x55884fe1451a in asio::detail::scheduler_operation::complete(void*, std::__Cr::error_code const&, unsigned long) /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/scheduler_operation.hpp:39:5
      nghttp2#27 0x55884fe13ce1 in asio::detail::epoll_reactor::descriptor_state::do_complete(void*, asio::detail::scheduler_operation*, std::__Cr::error_code const&, unsigned long) /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.ipp:814:11
      nghttp2#28 0x55884fe1451a in asio::detail::scheduler_operation::complete(void*, std::__Cr::error_code const&, unsigned long) /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/scheduler_operation.hpp:39:5
      nghttp2#29 0x55884fe1aca6 in asio::detail::scheduler::do_run_one(asio::detail::conditionally_enabled_mutex::scoped_lock&, asio::detail::scheduler_thread_info&, std::__Cr::error_code const&) /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/impl/scheduler.ipp:492:12
      nghttp2#30 0x55884fe0bd77 in asio::detail::scheduler::run(std::__Cr::error_code&) /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/impl/scheduler.ipp:209:10
      nghttp2#31 0x55884fe0bab2 in asio::io_context::run() /home/hky/yass-develop/third_party/asio/asio/include/asio/impl/io_context.ipp:63:24
      nghttp2#32 0x55884fb5fd6a in main /home/hky/yass-develop/src/server/server.cpp:245:14
      nghttp2#33 0x7f1d5316b34f  (/usr/lib64/libc.so.6+0x2434f)
      nghttp2#34 0x7f1d5316b408 in __libc_start_main (/usr/lib64/libc.so.6+0x24408)
      nghttp2#35 0x55884fa04824 in _start (/home/hky/yass-develop/build-asan/yass_server+0x369824) (BuildId: 55768b09d7640b33)

  0x511000678a19 is located 217 bytes inside of 224-byte region [0x511000678940,0x511000678a20)
  freed by thread T0 here:
      #0 0x55884fa96106 in cfree /b/s/w/ir/cache/builder/src/third_party/llvm/compiler-rt/lib/asan/asan_malloc_linux.cpp:52:3
      nghttp2#1 0x55884fdce428 in default_free /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_mem.c:36:3
      nghttp2#2 0x55884fdce26b in nghttp2_mem_free /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_mem.c:61:3
      nghttp2#3 0x55884fd87db4 in nghttp2_session_destroy_stream /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:1583:3
      nghttp2#4 0x55884fd87b12 in nghttp2_session_close_stream /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:1551:10
      nghttp2#5 0x55884fd92f6d in session_close_stream_on_goaway /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:2822:10
      nghttp2#6 0x55884fd8be09 in session_after_frame_sent1 /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:3082:12
      nghttp2#7 0x55884fd8a351 in nghttp2_session_mem_send_internal /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:3441:16
      nghttp2#8 0x55884fd8c33c in nghttp2_session_send /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:3584:15
      nghttp2#9 0x55884fd5fa0f in http2::adapter::NgHttp2Adapter::Send() /home/hky/yass-develop/third_party/quiche/src/quiche/http2/adapter/nghttp2_adapter.cc:168:22
      nghttp2#10 0x55884fad30b2 in net::server::ServerConnection::SendIfNotProcessing() /home/hky/yass-develop/src/server/server_connection.cpp:253:15
      nghttp2#11 0x55884fade668 in net::server::ServerConnection::OnEndStream(int) /home/hky/yass-develop/src/server/server_connection.cpp:370:5
      nghttp2#12 0x55884fd73cfd in http2::adapter::callbacks::OnFrameReceived(nghttp2_session*, nghttp2_frame const*, void*) /home/hky/yass-develop/third_party/quiche/src/quiche/http2/adapter/nghttp2_callbacks.cc:76:38
      nghttp2#13 0x55884fd8e2cd in session_call_on_frame_received /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:3651:10
      nghttp2#14 0x55884fd9489f in nghttp2_session_on_data_received /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:5473:8
      nghttp2#15 0x55884fda1c06 in session_process_data_frame /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:5503:8
      nghttp2#16 0x55884fd9cf97 in nghttp2_session_mem_recv2 /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:7198:12
      nghttp2#17 0x55884fd95344 in nghttp2_session_mem_recv /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:5870:19
      nghttp2#18 0x55884fd7b273 in http2::adapter::NgHttp2Session::ProcessBytes(std::__Cr::basic_string_view<char, std::__Cr::char_traits<char>>) /home/hky/yass-develop/third_party/quiche/src/quiche/http2/adapter/nghttp2_session.cc:35:10
      nghttp2#19 0x55884fd5e233 in http2::adapter::NgHttp2Adapter::ProcessBytes(std::__Cr::basic_string_view<char, std::__Cr::char_traits<char>>) /home/hky/yass-develop/third_party/quiche/src/quiche/http2/adapter/nghttp2_adapter.cc:84:45
      nghttp2#20 0x55884faea0c2 in net::server::ServerConnection::GetNextUpstreamBuf(std::__Cr::error_code&, unsigned long*) /home/hky/yass-develop/src/server/server_connection.cpp:1017:30
      nghttp2#21 0x55884fad5e18 in net::server::ServerConnection::WriteUpstreamInPipe() /home/hky/yass-develop/src/server/server_connection.cpp:903:34
      nghttp2#22 0x55884fb517a6 in net::server::ServerConnection::ReadStream(bool)::$_1::operator()(std::__Cr::error_code) const /home/hky/yass-develop/src/server/server_connection.cpp:684:5
      nghttp2#23 0x55884fb51419 in decltype(std::declval<net::server::ServerConnection::ReadStream(bool)::$_1&>()(std::declval<std::__Cr::error_code>())) std::__Cr::__invoke<net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code>(net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code&&) /home/hky/yass-develop/third_party/libc++/trunk/include/__type_traits/invoke.h:150:25
      nghttp2#24 0x55884fb513cc in std::__Cr::invoke_result<net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code>::type std::__Cr::invoke<net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code>(net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code&&) /home/hky/yass-develop/third_party/libc++/trunk/include/__functional/invoke.h:28:10
      nghttp2#25 0x55884fb5139c in void absl::internal_any_invocable::InvokeR<void, net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code, void>(net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code&&) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:132:3
      nghttp2#26 0x55884fb51329 in void absl::internal_any_invocable::LocalInvoker<false, void, net::server::ServerConnection::ReadStream(bool)::$_1&, std::__Cr::error_code>(absl::internal_any_invocable::TypeErasedState*, absl::internal_any_invocable::ForwardedParameter<std::__Cr::error_code>::type) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:310:10
      nghttp2#27 0x55884fafdedd in absl::internal_any_invocable::Impl<void (std::__Cr::error_code)>::operator()(std::__Cr::error_code) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:868:1
      nghttp2#28 0x55884fc19830 in net::SSLServerSocket::OnWaitRead(std::__Cr::error_code) /home/hky/yass-develop/src/net/ssl_server_socket.cpp:222:5
      nghttp2#29 0x55884fc1fc71 in net::SSLServerSocket::WaitRead(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::$_0::operator()(std::__Cr::error_code) const /home/hky/yass-develop/src/net/ssl_server_socket.cpp:198:100

  previously allocated by thread T0 here:
      #0 0x55884fa9621f in malloc /b/s/w/ir/cache/builder/src/third_party/llvm/compiler-rt/lib/asan/asan_malloc_linux.cpp:68:3
      nghttp2#1 0x55884fdce408 in default_malloc /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_mem.c:30:10
      nghttp2#2 0x55884fdce1db in nghttp2_mem_malloc /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_mem.c:57:10
      nghttp2#3 0x55884fd85165 in nghttp2_session_open_stream /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:1339:14
      nghttp2#4 0x55884fd8ce45 in nghttp2_session_on_request_headers_received /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:4268:12
      nghttp2#5 0x55884fd9ec75 in session_process_headers_frame /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:4421:12
      nghttp2#6 0x55884fd965ff in nghttp2_session_mem_recv2 /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:6095:14
      nghttp2#7 0x55884fd95344 in nghttp2_session_mem_recv /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_session.c:5870:19
      nghttp2#8 0x55884fd7b273 in http2::adapter::NgHttp2Session::ProcessBytes(std::__Cr::basic_string_view<char, std::__Cr::char_traits<char>>) /home/hky/yass-develop/third_party/quiche/src/quiche/http2/adapter/nghttp2_session.cc:35:10
      nghttp2#9 0x55884fd5e233 in http2::adapter::NgHttp2Adapter::ProcessBytes(std::__Cr::basic_string_view<char, std::__Cr::char_traits<char>>) /home/hky/yass-develop/third_party/quiche/src/quiche/http2/adapter/nghttp2_adapter.cc:84:45
      nghttp2#10 0x55884faea0c2 in net::server::ServerConnection::GetNextUpstreamBuf(std::__Cr::error_code&, unsigned long*) /home/hky/yass-develop/src/server/server_connection.cpp:1017:30
      nghttp2#11 0x55884fad5e18 in net::server::ServerConnection::WriteUpstreamInPipe() /home/hky/yass-develop/src/server/server_connection.cpp:903:34
      nghttp2#12 0x55884fad51c6 in net::server::ServerConnection::Start() /home/hky/yass-develop/src/server/server_connection.cpp:231:5
      nghttp2#13 0x55884fb3e76b in net::server::ServerConnection::start()::$_0::operator()(std::__Cr::error_code) const /home/hky/yass-develop/src/server/server_connection.cpp:160:5
      nghttp2#14 0x55884fb3e539 in decltype(std::declval<net::server::ServerConnection::start()::$_0&>()(std::declval<std::__Cr::error_code>())) std::__Cr::__invoke<net::server::ServerConnection::start()::$_0&, std::__Cr::error_code>(net::server::ServerConnection::start()::$_0&, std::__Cr::error_code&&) /home/hky/yass-develop/third_party/libc++/trunk/include/__type_traits/invoke.h:150:25
      nghttp2#15 0x55884fb3e4ec in std::__Cr::invoke_result<net::server::ServerConnection::start()::$_0&, std::__Cr::error_code>::type std::__Cr::invoke<net::server::ServerConnection::start()::$_0&, std::__Cr::error_code>(net::server::ServerConnection::start()::$_0&, std::__Cr::error_code&&) /home/hky/yass-develop/third_party/libc++/trunk/include/__functional/invoke.h:28:10
      nghttp2#16 0x55884fb3e4bc in void absl::internal_any_invocable::InvokeR<void, net::server::ServerConnection::start()::$_0&, std::__Cr::error_code, void>(net::server::ServerConnection::start()::$_0&, std::__Cr::error_code&&) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:132:3
      nghttp2#17 0x55884fb3e449 in void absl::internal_any_invocable::LocalInvoker<false, void, net::server::ServerConnection::start()::$_0&, std::__Cr::error_code>(absl::internal_any_invocable::TypeErasedState*, absl::internal_any_invocable::ForwardedParameter<std::__Cr::error_code>::type) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:310:10
      nghttp2#18 0x55884fafdedd in absl::internal_any_invocable::Impl<void (std::__Cr::error_code)>::operator()(std::__Cr::error_code) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:868:1
      nghttp2#19 0x55884fb046a4 in net::SSLDownlink::handshake(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::'lambda'(int)::operator()(int) const /home/hky/yass-develop/src/net/connection.hpp:96:9
      nghttp2#20 0x55884fb04423 in decltype(std::declval<net::SSLDownlink::handshake(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::'lambda'(int)&>()(std::declval<int>())) std::__Cr::__invoke<net::SSLDownlink::handshake(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::'lambda'(int)&, int>(net::SSLDownlink::handshake(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::'lambda'(int)&, int&&) /home/hky/yass-develop/third_party/libc++/trunk/include/__type_traits/invoke.h:150:25
      nghttp2#21 0x55884fb043ac in std::__Cr::invoke_result<net::SSLDownlink::handshake(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::'lambda'(int)&, int>::type std::__Cr::invoke<net::SSLDownlink::handshake(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::'lambda'(int)&, int>(net::SSLDownlink::handshake(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::'lambda'(int)&, int&&) /home/hky/yass-develop/third_party/libc++/trunk/include/__functional/invoke.h:28:10
      nghttp2#22 0x55884fb0437c in void absl::internal_any_invocable::InvokeR<void, net::SSLDownlink::handshake(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::'lambda'(int)&, int, void>(net::SSLDownlink::handshake(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::'lambda'(int)&, int&&) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:132:3
      nghttp2#23 0x55884fb0428f in void absl::internal_any_invocable::LocalInvoker<false, void, net::SSLDownlink::handshake(absl::AnyInvocable<void (std::__Cr::error_code)>&&)::'lambda'(int)&, int>(absl::internal_any_invocable::TypeErasedState*, absl::internal_any_invocable::ForwardedParameter<int>::type) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:310:10
      nghttp2#24 0x55884fbfc781 in absl::internal_any_invocable::Impl<void (int)>::operator()(int) /home/hky/yass-develop/third_party/abseil-cpp/absl/functional/internal/any_invocable.h:868:1
      nghttp2#25 0x55884fc1a47c in net::SSLServerSocket::DoHandshakeCallback(int) /home/hky/yass-develop/src/net/ssl_server_socket.cpp:360:39
      nghttp2#26 0x55884fc1a283 in net::SSLServerSocket::OnHandshakeIOComplete(int, int) /home/hky/yass-develop/src/net/ssl_server_socket.cpp:284:5
      nghttp2#27 0x55884fc1a20d in net::SSLServerSocket::OnWriteReady() /home/hky/yass-develop/src/net/ssl_server_socket.cpp:259:5
      nghttp2#28 0x55884fc22df4 in net::SSLServerSocket::DoHandshakeLoop(int, int)::$_0::operator()(std::__Cr::error_code) const /home/hky/yass-develop/src/net/ssl_server_socket.cpp:393:9
      nghttp2#29 0x55884fc22bb5 in asio::detail::binder1<net::SSLServerSocket::DoHandshakeLoop(int, int)::$_0, std::__Cr::error_code>::operator()() /home/hky/yass-develop/third_party/asio/asio/include/asio/detail/bind_handler.hpp:114:5

  SUMMARY: AddressSanitizer: heap-use-after-free /home/hky/yass-develop/third_party/nghttp2/lib/nghttp2_stream.c:115:42 in nghttp2_stream_shutdown
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