Server crash due to conversion of string/char or exceeding data type size on HTTP Version.
How to Reproduce the error:
Clone repository and install as suggested from readme.md file and run webserver.
Then run following telnet commands:
telnet localhost 8080
GET / HTTP/a
This will throw exception:
libc++abi.dylib: terminating with uncaught exception of type std::invalid_argument: stof: no conversion
Or the telnet commands:
telnet localhost 8080
GET / HTTP/2139129213923912391239123913293213129123912391239123912391239123923191239129123
This will throw exception:
libc++abi.dylib: terminating with uncaught exception of type std::out_of_range: stof: out of range
OS: Mac OS X Catalina Version 10.15.6 (19G2021)
IDE: Juci++
Forked from latest commit : 260755ec
Backtrace:
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
* frame #0: 0x00007fff6e7d533a libsystem_kernel.dylib`__pthread_kill + 10
frame #1: 0x00007fff6e895e60 libsystem_pthread.dylib`pthread_kill + 430
frame #2: 0x00007fff6e75c808 libsystem_c.dylib`abort + 120
frame #3: 0x00007fff6b9c3458 libc++abi.dylib`abort_message + 231
frame #4: 0x00007fff6b9b48a7 libc++abi.dylib`demangling_terminate_handler() + 238
frame #5: 0x00007fff6d4efa5f libobjc.A.dylib`_objc_terminate() + 104
frame #6: 0x00007fff6b9c2887 libc++abi.dylib`std::__terminate(void (*)()) + 8
frame #7: 0x00007fff6b9c51a2 libc++abi.dylib`__cxxabiv1::failed_throw(__cxxabiv1::__cxa_exception*) + 27
frame #8: 0x00007fff6b9c5169 libc++abi.dylib`__cxa_throw + 113
frame #9: 0x00007fff6b99c43b libc++.1.dylib`std::__1::stof(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long*) + 320
frame #10: 0x0000000102fe9192 web_server`SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::write(this=0x00007ffeecc640f8, ec=0x00007ffeecc64120)>&)::'lambda'(SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response*)::operator()(SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response*) const::'lambda'(boost::system::error_code const&)::operator()(boost::system::error_code const&) const at server_http.hpp:765:16
frame #11: 0x0000000102fe8e62 web_server`decltype(__f=0x00007ffeecc640f8, __args=0x00007ffeecc64120)(std::__1::forward<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::write(std::__1::shared_ptr<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Session> const&, std::__1::function<void (std::__1::shared_ptr<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response>, std::__1::shared_ptr<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Request>)>&)::'lambda'(SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response*)::operator()(SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response*) const::'lambda'(boost::system::error_code const&)&>(fp0)...)) std::__1::__invoke<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::write(std::__1::shared_ptr<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Session> const&, std::__1::function<void (std::__1::shared_ptr<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response>, std::__1::shared_ptr<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Request>)>&)::'lambda'(SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response*)::operator()(SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response*) const::'lambda'(boost::system::error_code const&)&, boost::system::error_code const&>(boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>&&, SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::write(std::__1::shared_ptr<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Session> const&, std::__1::function<void (std::__1::shared_ptr<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response>, std::__1::shared_ptr<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Request>)>&)::'lambda'(SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response*)::operator()(SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response*) const::'lambda'(boost::system::error_code const&)&...) at type_traits:4425:1
frame #12: 0x0000000102fe8e02 web_server`void std::__1::__invoke_void_return_wrapper<void>::__call<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::write(__args=0x00007ffeecc640f8, __args=0x00007ffeecc64120)>&)::'lambda'(SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response*)::operator()(SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response*) const::'lambda'(boost::system::error_code const&)&, boost::system::error_code const&>(boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>&&...) at __functional_base:348:9
frame #13: 0x0000000102fe8dc2 web_server`std::__1::__function::__alloc_func<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::write(std::__1::shared_ptr<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Session> const&, std::__1::function<void (std::__1::shared_ptr<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response>, std::__1::shared_ptr<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Request>)>&)::'lambda'(SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response*)::operator()(SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response*) const::'lambda'(boost::system::error_code const&), std::__1::allocator<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::write(std::__1::shared_ptr<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Session> const&, std::__1::function<void (std::__1::shared_ptr<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response>, std::__1::shared_ptr<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Request>)>&)::'lambda'(SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response*)::operator()(SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response*) const::'lambda'(boost::system::error_code const&)>, void (boost::system::error_code const&)>::operator(this=0x00007ffeecc640f8, __arg=0x00007ffeecc64120)(boost::system::error_code const&) at functional:1533:16
frame #14: 0x0000000102fe78e3 web_server`std::__1::__function::__func<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::write(std::__1::shared_ptr<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Session> const&, std::__1::function<void (std::__1::shared_ptr<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response>, std::__1::shared_ptr<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Request>)>&)::'lambda'(SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response*)::operator()(SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response*) const::'lambda'(boost::system::error_code const&), std::__1::allocator<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::write(std::__1::shared_ptr<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Session> const&, std::__1::function<void (std::__1::shared_ptr<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response>, std::__1::shared_ptr<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Request>)>&)::'lambda'(SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response*)::operator()(SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response*) const::'lambda'(boost::system::error_code const&)>, void (boost::system::error_code const&)>::operator(this=0x00007ffeecc640f0, __arg=0x00007ffeecc64120)(boost::system::error_code const&) at functional:1707:12
frame #15: 0x0000000102fe717d web_server`std::__1::__function::__value_func<void (boost::system::error_code const&)>::operator(this=0x00007ffeecc640f0, __args=0x00007ffeecc64120)(boost::system::error_code const&) const at functional:1860:16
frame #16: 0x0000000102fe7100 web_server`std::__1::function<void (boost::system::error_code const&)>::operator(this=0x00007ffeecc640f0, __arg=0x00007ffeecc64120)(boost::system::error_code const&) const at functional:2419:12
frame #17: 0x0000000102fe47d4 web_server`SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response::send_on_delete(this=0x00007ffeecc640e0, ec=0x00007ffeecc64120, (null)=74)> const&)::'lambda'(boost::system::error_code const&, unsigned long)::operator()(boost::system::error_code const&, unsigned long) const at server_http.hpp:118:13
frame #18: 0x0000000102fe4529 web_server`boost::asio::detail::write_dynbuf_v1_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::basic_streambuf_ref<std::__1::allocator<char> >, boost::asio::detail::transfer_all_t, SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response::send_on_delete(std::__1::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)>::operator(this=0x00007ffeecc640c0, ec=0x00007ffeecc64120, bytes_transferred=74, start=0)(boost::system::error_code const&, unsigned long, int) at write.hpp:590:9
frame #19: 0x0000000102fe4bde web_server`boost::asio::detail::write_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::write_dynbuf_v1_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::basic_streambuf_ref<std::__1::allocator<char> >, boost::asio::detail::transfer_all_t, SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response::send_on_delete(std::__1::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >::operator(this=0x00007ffeecc64090, ec=0x00007ffeecc64120, bytes_transferred=74, start=0)(boost::system::error_code const&, unsigned long, int) at write.hpp:338:9
frame #20: 0x0000000102fe6406 web_server`boost::asio::detail::binder2<boost::asio::detail::write_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::write_dynbuf_v1_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::basic_streambuf_ref<std::__1::allocator<char> >, boost::asio::detail::transfer_all_t, SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response::send_on_delete(std::__1::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long>::operator(this=0x00007ffeecc64090)() at bind_handler.hpp:164:5
frame #21: 0x0000000102fe63c5 web_server`void boost::asio::asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::write_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::write_dynbuf_v1_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::basic_streambuf_ref<std::__1::allocator<char> >, boost::asio::detail::transfer_all_t, SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response::send_on_delete(std::__1::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long> >(function=0x00007ffeecc64090) at handler_invoke_hook.hpp:69:3
frame #22: 0x0000000102fe63a2 web_server`void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::asio::detail::write_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::write_dynbuf_v1_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::basic_streambuf_ref<std::__1::allocator<char> >, boost::asio::detail::transfer_all_t, SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response::send_on_delete(std::__1::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long>, SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response::send_on_delete(std::__1::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)>(function=0x00007ffeecc64090, context=0x00007ffeecc640e0)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long>&) at handler_invoke_helpers.hpp:37:3
frame #23: 0x0000000102fe6366 web_server`void boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::write_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::write_dynbuf_v1_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::basic_streambuf_ref<std::__1::allocator<char> >, boost::asio::detail::transfer_all_t, SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response::send_on_delete(std::__1::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long>, boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::basic_streambuf_ref<std::__1::allocator<char> >, boost::asio::detail::transfer_all_t, SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response::send_on_delete(std::__1::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)>(function=0x00007ffeecc64090, this_handler=0x00007ffeecc640c0)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long>, boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::basic_streambuf_ref<std::__1::allocator<char> >, boost::asio::detail::transfer_all_t>*) at write.hpp:638:5
frame #24: 0x0000000102fe6330 web_server`void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::asio::detail::write_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::write_dynbuf_v1_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::basic_streambuf_ref<std::__1::allocator<char> >, boost::asio::detail::transfer_all_t, SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response::send_on_delete(std::__1::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long>, boost::asio::detail::write_dynbuf_v1_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::basic_streambuf_ref<std::__1::allocator<char> >, boost::asio::detail::transfer_all_t, SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response::send_on_delete(std::__1::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >(function=0x00007ffeecc64090, context=0x00007ffeecc640c0)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long>&) at handler_invoke_helpers.hpp:37:3
frame #25: 0x0000000102fe62f6 web_server`void boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::write_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::write_dynbuf_v1_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::basic_streambuf_ref<std::__1::allocator<char> >, boost::asio::detail::transfer_all_t, SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response::send_on_delete(std::__1::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long>, boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::write_dynbuf_v1_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::basic_streambuf_ref<std::__1::allocator<char> >, boost::asio::detail::transfer_all_t, SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response::send_on_delete(std::__1::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >(function=0x00007ffeecc64090, this_handler=0x00007ffeecc64090)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long>, boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t>*) at write.hpp:393:5
frame #26: 0x0000000102fe62c0 web_server`void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::asio::detail::write_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::write_dynbuf_v1_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::basic_streambuf_ref<std::__1::allocator<char> >, boost::asio::detail::transfer_all_t, SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response::send_on_delete(std::__1::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long>, boost::asio::detail::write_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::write_dynbuf_v1_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::basic_streambuf_ref<std::__1::allocator<char> >, boost::asio::detail::transfer_all_t, SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response::send_on_delete(std::__1::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> > >(function=0x00007ffeecc64090, context=0x00007ffeecc64090)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long>&) at handler_invoke_helpers.hpp:37:3
frame #27: 0x0000000102fe626d web_server`void boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::write_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::write_dynbuf_v1_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::basic_streambuf_ref<std::__1::allocator<char> >, boost::asio::detail::transfer_all_t, SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response::send_on_delete(std::__1::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long>, boost::asio::detail::write_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::write_dynbuf_v1_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::basic_streambuf_ref<std::__1::allocator<char> >, boost::asio::detail::transfer_all_t, SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response::send_on_delete(std::__1::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long>(function=0x00007ffeecc64090, this_handler=0x00007ffeecc64090)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long>, boost::asio::detail::write_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::write_dynbuf_v1_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::basic_streambuf_ref<std::__1::allocator<char> >, boost::asio::detail::transfer_all_t, SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response::send_on_delete(std::__1::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code>*) at bind_handler.hpp:207:3
frame #28: 0x0000000102fe60d0 web_server`void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::asio::detail::write_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::write_dynbuf_v1_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::basic_streambuf_ref<std::__1::allocator<char> >, boost::asio::detail::transfer_all_t, SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response::send_on_delete(std::__1::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long>, boost::asio::detail::binder2<boost::asio::detail::write_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::write_dynbuf_v1_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::basic_streambuf_ref<std::__1::allocator<char> >, boost::asio::detail::transfer_all_t, SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response::send_on_delete(std::__1::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long> >(function=0x00007ffeecc64090, context=0x00007ffeecc64090)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long>&) at handler_invoke_helpers.hpp:37:3
frame #29: 0x0000000102fe6059 web_server`void boost::asio::detail::io_object_executor<boost::asio::executor>::dispatch<boost::asio::detail::binder2<boost::asio::detail::write_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::write_dynbuf_v1_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::basic_streambuf_ref<std::__1::allocator<char> >, boost::asio::detail::transfer_all_t, SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response::send_on_delete(this=0x00007ffeecc64040, f=0x00007ffeecc64090, a=0x00007ffeecc63ff0)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long>, std::__1::allocator<void> >(boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>&&, boost::asio::detail::binder2<boost::asio::detail::write_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::write_dynbuf_v1_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::basic_streambuf_ref<std::__1::allocator<char> >, boost::asio::detail::transfer_all_t, SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response::send_on_delete(std::__1::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long> const&) const at io_object_executor.hpp:119:9
frame #30: 0x0000000102fe5be4 web_server`void boost::asio::detail::handler_work<boost::asio::detail::write_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::write_dynbuf_v1_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::basic_streambuf_ref<std::__1::allocator<char> >, boost::asio::detail::transfer_all_t, SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response::send_on_delete(std::__1::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::asio::detail::io_object_executor<boost::asio::executor>, boost::asio::detail::io_object_executor<boost::asio::executor> >::complete<boost::asio::detail::binder2<boost::asio::detail::write_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::write_dynbuf_v1_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::basic_streambuf_ref<std::__1::allocator<char> >, boost::asio::detail::transfer_all_t, SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response::send_on_delete(this=0x00007ffeecc64030, function=0x00007ffeecc64090, handler=0x00007ffeecc64090)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long> >(boost::asio::detail::binder2<boost::asio::detail::write_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::write_dynbuf_v1_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::basic_streambuf_ref<std::__1::allocator<char> >, boost::asio::detail::transfer_all_t, SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response::send_on_delete(std::__1::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long>&, boost::asio::detail::write_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::write_dynbuf_v1_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::basic_streambuf_ref<std::__1::allocator<char> >, boost::asio::detail::transfer_all_t, SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response::send_on_delete(std::__1::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >&) at handler_work.hpp:72:15
frame #31: 0x0000000102fe589d web_server`boost::asio::detail::reactive_socket_send_op<boost::asio::const_buffers_1, boost::asio::detail::write_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::write_dynbuf_v1_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::basic_streambuf_ref<std::__1::allocator<char> >, boost::asio::detail::transfer_all_t, SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response::send_on_delete(std::__1::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::asio::detail::io_object_executor<boost::asio::executor> >::do_complete(owner=0x00007fd3d2d047b0, base=0x00007fd3d2c05db0, (null)=0x00007ffeecc64328, (null)=0) at reactive_socket_send_op.hpp:122:9
frame #32: 0x0000000102fac465 web_server`boost::asio::detail::scheduler_operation::complete(this=0x00007fd3d2c05db0, owner=0x00007fd3d2d047b0, ec=0x00007ffeecc64328, bytes_transferred=0) at scheduler_operation.hpp:40:5
frame #33: 0x0000000102fab837 web_server`boost::asio::detail::scheduler::do_run_one(this=0x00007fd3d2d047b0, lock=0x00007ffeecc64270, this_thread=0x00007ffeecc642a8, ec=0x00007ffeecc64328) at scheduler.ipp:447:12
frame #34: 0x0000000102fab45e web_server`boost::asio::detail::scheduler::run(this=0x00007fd3d2d047b0, ec=0x00007ffeecc64328) at scheduler.ipp:200:10
frame #35: 0x000000010300d17e web_server`boost::asio::io_context::run(this=0x00007fd3d2d04668) at io_context.ipp:63:24
frame #36: 0x0000000102f9df22 web_server`SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::start(this=0x00007ffeecc646a0, callback=0x00007ffeecc64670)> const&) at server_http.hpp:463:23
frame #37: 0x0000000102f9d4e5 web_server`main at main.cpp:16:10
Edited by Eric Younger