The server crashes if the HTTP version is a too long number
The server crashes if you're trying to run a GET request with a HTTP version with a too long number, like the example I tried with GET / HTTP/445657989765434578902343544673134457378463249687465435.
This is resulting in the error message:
terminate called after throwing an instance of 'std::out_of_range' what(): stof
OS: Ubuntu 20.04
Backtrace:
* thread #1, name = 'web_server', stop reason = signal SIGABRT
frame #0: 0x00007fd817f3618b libc.so.6`raise + 203
frame #1: 0x00007fd817f15859 libc.so.6`abort + 299
frame #2: 0x00007fd81819b951 libstdc++.so.6`___lldb_unnamed_symbol33$$libstdc++.so.6 + 93
frame #3: 0x00007fd8181a747c libstdc++.so.6`___lldb_unnamed_symbol438$$libstdc++.so.6 + 12
frame #4: 0x00007fd8181a74e7 libstdc++.so.6`std::terminate() + 23
frame #5: 0x00007fd8181a7799 libstdc++.so.6`__cxa_throw + 73
frame #6: 0x00007fd81819e3be libstdc++.so.6`std::__throw_out_of_range(char const*) + 65
frame #7: 0x0000555f66c9acf6 web_server`float __gnu_cxx::__stoa<float, float, char>(__convf=(libc.so.6`strtof), __name="stof", __str="445657989765434578902343544673134457378463249687465435", __idx=0x0000000000000000)(char const*, char**), char const*, char const*, unsigned long*) at string_conversions.h:86:27
frame #8: 0x0000555f66c8b90c web_server`std::__cxx11::stof(__str="445657989765434578902343544673134457378463249687465435", __idx=0x0000000000000000) at basic_string.h:6530:29
frame #9: 0x0000555f66cab240 web_server`SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::write(this=0x0000555f67370a20, ec=0x00007fff99e1d2e0)>&)::'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:25
frame #10: 0x0000555f66cb6680 web_server`std::_Function_handler<void (boost::system::error_code const&), SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::write(std::shared_ptr<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Session> const&, std::function<void (std::shared_ptr<SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response>, std::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&)>::_M_invoke(__functor=0x00007fff99e1d2c0, __args#0=0x00007fff99e1d2e0) at std_function.h:300:37
frame #11: 0x0000555f66cb6807 web_server`std::function<void (boost::system::error_code const&)>::operator(this=0x00007fff99e1d2c0, __args#0=0x00007fff99e1d2e0)(boost::system::error_code const&) const at std_function.h:688:14
frame #12: 0x0000555f66cb110f web_server`SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::Response::send_on_delete(this=0x00007fff99e1d2b0, ec=0x00007fff99e1d2e0, (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:21
frame #13: 0x0000555f66cd0d9b 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::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::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)>::operator(this=0x00007fff99e1d298, ec=0x00007fff99e1d2e0, bytes_transferred=74, start=0)(boost::system::error_code const&, unsigned long, int) at write.hpp:569:9
frame #14: 0x0000555f66cf0dd0 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::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::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >::operator(this=0x00007fff99e1d270, ec=0x00007fff99e1d2e0, bytes_transferred=74, start=0)(boost::system::error_code const&, unsigned long, int) at write.hpp:338:9
frame #15: 0x0000555f66cfc14a 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::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::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long>::operator(this=0x00007fff99e1d270)() at bind_handler.hpp:164:5
frame #16: 0x0000555f66cfc221 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::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::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long> >(function=0x00007fff99e1d270) at handler_invoke_hook.hpp:69:11
frame #17: 0x0000555f66cfc1b2 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::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::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::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)>(function=0x00007fff99e1d270, context=0x00007fff99e1d2b0)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long>&) at handler_invoke_helpers.hpp:37:22
frame #18: 0x0000555f66cfc178 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::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::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::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::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)>(function=0x00007fff99e1d270, this_handler=0x00007fff99e1d298)> 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::allocator<char> >, boost::asio::detail::transfer_all_t>*) at write.hpp:617:46
frame #19: 0x0000555f66cfc098 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::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::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::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::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >(function=0x00007fff99e1d270, context=0x00007fff99e1d298)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long>&) at handler_invoke_helpers.hpp:37:22
frame #20: 0x0000555f66cfbdcc 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::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::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::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::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >(function=0x00007fff99e1d270, this_handler=0x00007fff99e1d270)> 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:46
frame #21: 0x0000555f66cfbc3b 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::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::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::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::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> > >(function=0x00007fff99e1d270, context=0x00007fff99e1d270)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long>&) at handler_invoke_helpers.hpp:37:22
frame #22: 0x0000555f66cfb96e 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::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::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::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::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long>(function=0x00007fff99e1d270, this_handler=0x00007fff99e1d270)> 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::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::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:44
frame #23: 0x0000555f66cfb682 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::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::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::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::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long> >(function=0x00007fff99e1d270, context=0x00007fff99e1d270)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long>&) at handler_invoke_helpers.hpp:37:22
frame #24: 0x0000555f66cfb433 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::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=0x00007fff99e1d260, f=0x00007fff99e1d270, a=0x00007fff99e1d1d7)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >, boost::system::error_code, unsigned long>, std::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::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::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:50
frame #25: 0x0000555f66cfb179 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::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::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::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=0x00007fff99e1d250, function=0x00007fff99e1d270, handler=0x00007fff99e1d270)> 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::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::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::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::function<void (boost::system::error_code const&)> const&)::'lambda'(boost::system::error_code const&, unsigned long)> >&) at handler_work.hpp:72:5
frame #26: 0x0000555f66cfacd2 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::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::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=0x0000555f67370640, base=0x0000555f67373b70, (null)=0x00007fff99e1d4a0, (null)=0) at reactive_socket_send_op.hpp:122:7
frame #27: 0x0000555f66c8dc64 web_server`boost::asio::detail::scheduler_operation::complete(this=0x0000555f67373b70, owner=0x0000555f67370640, ec=0x00007fff99e1d4a0, bytes_transferred=0) at scheduler_operation.hpp:40:10
frame #28: 0x0000555f66c93248 web_server`boost::asio::detail::scheduler::do_run_one(this=0x0000555f67370640, lock=0x00007fff99e1d3f0, this_thread=0x00007fff99e1d420, ec=0x00007fff99e1d4a0) at scheduler.ipp:447:20
frame #29: 0x0000555f66c92b84 web_server`boost::asio::detail::scheduler::run(this=0x0000555f67370640, ec=0x00007fff99e1d4a0) at scheduler.ipp:200:20
frame #30: 0x0000555f66c937a0 web_server`boost::asio::io_context::run(this=0x0000555f67370620) at io_context.ipp:63:27
frame #31: 0x0000555f66ca079d web_server`SimpleWeb::ServerBase<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor> >::start(this=0x00007fff99e1d650, callback=0x00007fff99e1d610)> const&) at server_http.hpp:463:26
frame #32: 0x0000555f66c8adbd web_server`main at main.cpp:16:15
frame #33: 0x00007fd817f170b3 libc.so.6`__libc_start_main + 243
frame #34: 0x0000555f66c8a9ce web_server`_start + 46
Edited by Michael Mellemseter