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

where do I hold discussions / send questions on nghttp2? #2

Closed
bagder opened this issue Sep 1, 2013 · 1 comment
Closed

where do I hold discussions / send questions on nghttp2? #2

bagder opened this issue Sep 1, 2013 · 1 comment

Comments

@bagder
Copy link
Contributor

bagder commented Sep 1, 2013

Hi Tatsuhiro, I'm slowing starting to research your work here and figure out the API etc and I was wondering if there's a mailing list or something that's suitable if I have questions or feedback or whatever on the design etc ?

@tatsuhiro-t
Copy link
Member

We use this github issues for the public discussions as well at the moment. I think it works well if the subject is well written, just like this thread. Also labels may help.

tatsuhiro-t pushed a commit that referenced this issue Jul 25, 2015
pulling changes from master
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