Description
I get this assert a lot. Any thoughts?
This is the assert
auto ret = store_.emplace(
packet_id,
control_packet_type::pubcomp,
msg,
std::move(life_keeper)
);
(void)ret;
BOOST_ASSERT(ret.second);
Here's a stack trace.
1 __GI_raise raise.c 51 0x7ffff4660e97
2 __GI_abort abort.c 79 0x7ffff4662801
3 __assert_fail_base assert.c 92 0x7ffff465239a
4 __GI___assert_fail assert.c 101 0x7ffff4652412
5 mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::send_pubrel(unsigned short, std::optional, std::vector<std::variant<mqtt::v5::property::payload_format_indicator, mqtt::v5::property::message_expiry_interval, mqtt::v5::property::content_type, mqtt::v5::property::response_topic, mqtt::v5::property::correlation_data, mqtt::v5::property::subscription_identifier, mqtt::v5::property::session_expiry_interval, mqtt::v5::property::assigned_client_identifier, mqtt::v5::property::server_keep_alive, mqtt::v5::property::authentication_method, mqtt::v5::property::authentication_data, mqtt::v5::property::request_problem_information, mqtt::v5::property::will_delay_interval, mqtt::v5::property::request_response_information, mqtt::v5::property::response_information, mqtt::v5::property::server_reference, mqtt::v5::property::reason_string, mqtt::v5::property::receive_maximum, mqtt::v5::property::topic_alias_maximum, mqtt::v5::property::topic_alias, mqtt::v5::property::maximum_qos, mqtt::v5::property::retain_available, mqtt::v5::property::user_property, mqtt::v5::property::maximum_packet_size, mqtt::v5::property::wildcard_subscription_available, mqtt::v5::property::subscription_identifier_available, mqtt::v5::property::shared_subscription_available>>, std::any)::{lambda(auto:1, auto:2 const&)#1}::operator()<mqtt::v5::basic_pubrel_message<2ul>, std::function<void (mqtt::v5::basic_pubrel_message)>>(mqtt::v5::basic_pubrel_message<2ul>, std::function<void (mqtt::v5::basic_pubrel_message)> const&) const endpoint.hpp 14246 0x555555743683
6 mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::send_pubrel endpoint.hpp 14263 0x555555743ee2
7 mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::process_pubrec_impl(std::function<void (boost::system::error_code const&)>, mqtt::buffer, mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::pubrec_phase, mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::pubrec_info&&, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>)::{lambda()#4}::operator()() const::{lambda()#1}::operator()() const endpoint.hpp 12785 0x55555587cff2
8 mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::auto_pub_response<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::process_pubrec_impl(std::function<void (boost::system::error_code const&)>, mqtt::buffer, mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::pubrec_phase, mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::pubrec_info&&, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>)::{lambda()#4}::operator()() const::{lambda()#1}, mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::process_pubrec_impl(std::function<void (boost::system::error_code const&)>, mqtt::buffer, mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::pubrec_phase, mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::pubrec_info&&, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>)::{lambda()#4}::operator()() const::{lambda()#2}>(mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::process_pubrec_impl(std::function<void (boost::system::error_code const&)>, mqtt::buffer, mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::pubrec_phase, mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::pubrec_info&&, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>)::{lambda()#4}::operator()() const::{lambda()#1} const&, mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::process_pubrec_impl(std::function<void (boost::system::error_code const&)>, mqtt::buffer, mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::pubrec_phase, mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::pubrec_info&&, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>)::{lambda()#4}::operator()() const::{lambda()#2} const&) endpoint.hpp 14046 0x5555558c4ec6
9 mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::process_pubrec_impl(std::function<void (boost::system::error_code const&)>, mqtt::buffer, mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::pubrec_phase, mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::pubrec_info&&, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>)::{lambda()#4}::operator()() const endpoint.hpp 12782 0x55555587cd36
10 mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::process_pubrec_impl(std::function<void (boost::system::error_code const&)>, mqtt::buffer, mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::pubrec_phase, mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::pubrec_info&&, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>) endpoint.hpp 12822 0x55555587e571
11 mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::process_pubrec_impl(std::function<void (boost::system::error_code const&)>, mqtt::buffer, mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::pubrec_phase, mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::pubrec_info&&, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>)::{lambda(unsigned short, mqtt::buffer, std::function<void (boost::system::error_code const&)>, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>)#1}::operator()(unsigned short, mqtt::buffer, std::function<void (boost::system::error_code const&)>, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>) endpoint.hpp 12711 0x55555587bf3e
12 std::_Function_handler<void (unsigned short, mqtt::buffer, std::function<void (boost::system::error_code const&)>, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>), mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::process_pubrec_impl(std::function<void (boost::system::error_code const&)>, mqtt::buffer, mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::pubrec_phase, mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::pubrec_info&&, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>)::{lambda(unsigned short, mqtt::buffer, std::function<void (boost::system::error_code const&)>, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>)#1}>::_M_invoke(std::_Any_data const&, unsigned short&&, mqtt::buffer&&, std::function<void (boost::system::error_code const&)>&&, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>&&) std_function.h 297 0x5555558e9516
13 std::function<void (unsigned short, mqtt::buffer, std::function<void (boost::system::error_code const&)>, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>)>::operator()(unsigned short, mqtt::buffer, std::function<void (boost::system::error_code const&)>, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>) const std_function.h 687 0x5555558e4925
14 mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::process_packet_id(std::function<void (boost::system::error_code const&)>, mqtt::buffer, std::function<void (unsigned short, mqtt::buffer, std::function<void (boost::system::error_code const&)>, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>)>, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>)::{lambda(unsigned long, mqtt::buffer, std::function<void (boost::system::error_code const&)>, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>)#1}::operator()(unsigned long, mqtt::buffer, std::function<void (boost::system::error_code const&)>, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>) endpoint.hpp 10573 0x5555558bd8d3
15 std::_Function_handler<void (unsigned long, mqtt::buffer, std::function<void (boost::system::error_code const&)>, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>), mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::process_packet_id(std::function<void (boost::system::error_code const&)>, mqtt::buffer, std::function<void (unsigned short, mqtt::buffer, std::function<void (boost::system::error_code const&)>, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>)>, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>)::{lambda(unsigned long, mqtt::buffer, std::function<void (boost::system::error_code const&)>, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>)#1}>::_M_invoke(std::_Any_data const&, unsigned long&&, mqtt::buffer&&, std::function<void (boost::system::error_code const&)>&&, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>&&) std_function.h 297 0x555555921896
16 std::function<void (unsigned long, mqtt::buffer, std::function<void (boost::system::error_code const&)>, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>)>::operator()(unsigned long, mqtt::buffer, std::function<void (boost::system::error_code const&)>, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>) const std_function.h 687 0x555555919c92
17 mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::process_fixed_length<2ul>(std::function<void (boost::system::error_code const&)>, mqtt::buffer, std::function<void (unsigned long, mqtt::buffer, std::function<void (boost::system::error_code const&)>, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>)>, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>)::{lambda()#2}::operator()() endpoint.hpp 10427 0x5555558de53a
18 std::_Function_handler<void (), mqtt::endpoint<std::mutex, std::lock_guard, 2ul>::process_fixed_length<2ul>(std::function<void (boost::system::error_code const&)>, mqtt::buffer, std::function<void (unsigned long, mqtt::buffer, std::function<void (boost::system::error_code const&)>, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>)>, std::shared_ptr<mqtt::endpoint<std::mutex, std::lock_guard, 2ul>>)::{lambda()#2}>::_M_invoke(std::_Any_data const&) std_function.h 297 0x5555559485ca
19 std::function<void ()>::operator()() const std_function.h 687 0x55555575cbd3
20 boost::asio::asio_handler_invoke<std::function<void ()>>(std::function<void ()>&, ...) handler_invoke_hook.hpp 69 0x5555559d9128
...