![]() |
Boost : |
From: Murali Kishore (bmuralikishore_at_[hidden])
Date: 2025-02-25 09:13:46
Hi all,
Now i have moved most of the containers into shared memory, i am Observing
crash at random places while calling find_or_construct api, trace as below,
what might be reasons for this behaviour and how to get more debug info in
these type of errors.
#0 operator() (this=<optimized out>, b=..., i=...) at
/staging/cu/x86/include/boost/interprocess/indexes/iset_index.hpp:94
#1 operator()<boost::interprocess::ipcdetail::intrusive_compare_key<char>
> (this=<optimized out>, key2=..., nonkey1=...) at
/staging/cu/x86/include/boost/intrusive/detail/tree_value_compare.hpp:157
#2 operator()<boost::interprocess::ipcdetail::intrusive_compare_key<char>,
boost::interprocess::offset_ptr<boost::intrusive::compact_rbtree_node<boost::interprocess::offset_ptr<void>
>, long int, long unsigned int, 0ul> > (this=<optimized out>, t2=...,
t1=...) at
/staging/cu/x86/include/boost/intrusive/detail/key_nodeptr_comp.hpp:106
#3
insert_unique_check<boost::interprocess::ipcdetail::intrusive_compare_key<char>,
boost::intrusive::detail::key_nodeptr_comp<boost::interprocess::iset_index<boost::interprocess::ipcdetail::index_config<char,
boost::interprocess::rbtree_best_fit<boost::interprocess::mutex_family> >
>::intrusive_key_value_less,
boost::intrusive::bhtraits<boost::interprocess::ipcdetail::intrusive_value_type_impl<boost::intrusive::generic_hook<(boost::intrusive::algo_types)5,
boost::intrusive::rbtree_node_traits<boost::interprocess::offset_ptr<void>,
true>, boost::intrusive::dft_tag, (boost::intrusive::link_mode_type)1,
(boost::intrusive::base_hook_type)3>, char, unsigned long>,
boost::intrusive::rbtree_node_traits<boost::interprocess::offset_ptr<void>,
true>, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>,
boost::move_detail::identity<boost::interprocess::ipcdetail::intrusive_value_type_impl<boost::intrusive::generic_hook<(boost::intrusive::algo_types)5,
boost::intrusive::rbtree_node_traits<boost::interprocess::offset_ptr<void>,
true>, boost::intrusive::dft_tag, (boost::intrusive::link_mode_type)1,
(boost::intrusive::base_hook_type)3>, char, unsigned long> > > >
(pdepth=0x0, commit_data=..., comp=..., key=..., header=...) at
/staging/cu/x86/include/boost/intrusive/bstree_algorithms.hpp:1014
#4
boost::intrusive::bstbase2<boost::intrusive::bhtraits<boost::interprocess::ipcdetail::intrusive_value_type_impl<boost::intrusive::generic_hook<(boost::intrusive::algo_types)5,
boost::intrusive::rbtree_node_traits<boost::interprocess::offset_ptr<void,
long, unsigned long, 0ul>, true>, boost::intrusive::dft_tag,
(boost::intrusive::link_mode_type)1, (boost::intrusive::base_hook_type)3>,
char, unsigned long>,
boost::intrusive::rbtree_node_traits<boost::interprocess::offset_ptr<void,
long, unsigned long, 0ul>, true>, (boost::intrusive::link_mode_type)1,
boost::intrusive::dft_tag, 3u>, void, void,
(boost::intrusive::algo_types)5,
void>::insert_unique_check<boost::interprocess::ipcdetail::intrusive_compare_key<char>,
boost::interprocess::iset_index<boost::interprocess::ipcdetail::index_config<char,
boost::interprocess::rbtree_best_fit<boost::interprocess::mutex_family,
boost::interprocess::offset_ptr<void, long, unsigned long, 0ul>, 0ul> >
>::intrusive_key_value_less> (this=this_at_entry=0x7f035d1dc0a0, key=...,
comp=..., commit_data=...) at
/staging/cu/x86/include/boost/intrusive/bstree.hpp:499
#5 0x0000000001d8c7a1 in
insert_check<boost::interprocess::ipcdetail::intrusive_compare_key<char>,
boost::interprocess::iset_index<boost::interprocess::ipcdetail::index_config<char,
boost::interprocess::rbtree_best_fit<boost::interprocess::mutex_family> >
>::intrusive_key_value_less> (commit_data=..., key=...,
this=0x7f035d1dc098, comp=...) at
/staging/cu/x86/include/boost/intrusive/set.hpp:232
#6 insert_check (commit_data=..., key=..., this=0x7f035d1dc098) at
/staging/cu/x86/include/boost/interprocess/indexes/iset_index.hpp:138
#7 priv_generic_named_construct<char> (type=1 '\001', is_intrusive=...,
index=..., table=..., dothrow=true, try2find=true, num=1,
name=0x7f03504a1cd0 "is_xn_setup_failed_alarm_raised", this=<optimized
out>, this=<optimized out>) at
/staging/cu/x86/include/boost/interprocess/segment_manager.hpp:1096
#8 priv_generic_construct (table=..., dothrow=true, try2find=true, num=1,
name=0x7f03504a1cd0 "is_xn_setup_failed_alarm_raised", this=0x7f035d1dc010)
at /staging/cu/x86/include/boost/interprocess/segment_manager.hpp:760
#9 generic_construct<bool> (table=..., dothrow=true, try2find=true, num=1,
name=0x7f03504a1cd0 "is_xn_setup_failed_alarm_raised", this=0x7f035d1dc010)
at /staging/cu/x86/include/boost/interprocess/segment_manager.hpp:704
#10
boost::interprocess::ipcdetail::named_proxy<boost::interprocess::segment_manager<char,
boost::interprocess::rbtree_best_fit<boost::interprocess::mutex_family,
boost::interprocess::offset_ptr<void, long, unsigned long, 0ul>, 0ul>,
boost::interprocess::iset_index>, bool, false>::operator()<bool>(bool&&)
const (this=<optimized out>) at
/staging/cu/x86/include/boost/interprocess/detail/named_proxy.hpp:132
#11 0x0000000001fbb6c8 in gnb::gnb_mgr_neighbour::gnb_mgr_neighbour
(this=0x7f033815fc50, segment_manager=0x7f035d1dc010, id=<optimized out>)
at /../src/gnb_mgr_db_neighbour.cpp:76
#12 0x0000000002062888 in
gnb::gnb_mgr_anr_nrt::add_anr_gnb_mgr_neighbour_target
(this=0x7f033815a4c0, neighbour_gnb_id=108, neighbour_xnc_ip_address=...,
type=0, neighbour_tac=101, amf_id=3, neighbour_plmn_id=...) at
/../src/gnb_mgr_anr_nrt.cpp:1415
#13 0x0000000002325356 in
gnb::gnb_mgr_amf::amf_fsm::process_downlink_ran_configuration_transfer
(this=this_at_entry=0x7f035d1e0618, gnb_mgr_amf=gnb_mgr_amf_at_entry=0x7f0338109070,
msg=msg_at_entry=0x7f0338161bd0) at /../src/gnb_mgr_db_amf.cpp:2851
#14 0x000000000235518b in
gnb::gnb_mgr_amf::amf_fsm::process_amf_state_ng_setup_complete
(this=<optimized out>,
event=gnb::gnb_mgr_amf::EVENT_DOWNLINK_RAN_CONFIGURATION_TRANSFER,
gnb_mgr_amf=0x7f0338109070, msg=0x7f0338161bd0, this=<optimized out>,
this=<optimized out>, this=<optimized out>, this=<optimized out>,
this=<optimized out>, this=<optimized out>, this=<optimized out>,
this=<optimized out>, this=<optimized out>, this=<optimized out>,
this=<optimized out>, this=<optimized out>, this=<optimized out>,
this=<optimized out>, this=<optimized out>, this=<optimized out>,
this=<optimized out>, this=<optimized out>, this=<optimized out>,
this=<optimized out>, this=<optimized out>, this=<optimized out>,
this=<optimized out>, this=<optimized out>, this=<optimized out>,
this=<optimized out>, this=<optimized out>) at
/../src/gnb_mgr_db_amf.cpp:3122
#15 0x0000000002362a01 in gnb::gnb_mgr_amf::amf_fsm::process_amf_fsm
(this=<optimized out>,
event=gnb::gnb_mgr_amf::EVENT_DOWNLINK_RAN_CONFIGURATION_TRANSFER,
gnb_mgr_amf=0x7f0338109070, msg=0x7f0338161bd0, this=<optimized out>,
this=<optimized out>, this=<optimized out>, this=<optimized out>,
this=<optimized out>, this=<optimized out>, this=<optimized out>,
this=<optimized out>, this=<optimized out>, this=<optimized out>,
this=<optimized out>, this=<optimized out>, this=<optimized out>,
this=<optimized out>) at /../src/gnb_mgr_db_amf.cpp:4713
#16 0x0000000002362ee7 in gnb::gnb_mgr_amf::process_amf_current_state
(this=<optimized out>,
event=event_at_entry=gnb::gnb_mgr_amf::EVENT_DOWNLINK_RAN_CONFIGURATION_TRANSFER,
gnb_mgr_amf=<optimized out>, msg=msg_at_entry=0x7f0338161bd0, this=<optimized
out>) at /../src/gnb_mgr_db_amf.cpp:4820
#17 0x00000000021906b0 in
gnb::gnb_mgr_ng_msg_proc::process_downlink_ran_configuration_transfer
(this=<optimized out>,
sctp_common_msg_rx_ind_info=sctp_common_msg_rx_ind_info_at_entry=0x7f033c040430)
at /../src/gnb_mgr_ng_msg.cpp:1456
#18 0x00000000021a20c9 in gnb::gnb_mgr_ng_msg_proc::process_ng_msg
(this=this_at_entry=0x7f03504a4640,
sctp_common_msg_rx_ind_info=sctp_common_msg_rx_ind_info_at_entry=0x7f033c040430)
at /../src/gnb_mgr_ng_msg.cpp:2199
#19 0x00000000024d991c in
gnb::gnb_mgr_msg_hdlr::process_sctp_common_msg_rx_ind (this=<optimized
out>, sctp_common_msg_rx_ind=0x7f033c040430) at
/../src/gnb_mgr_msg_hdlr.cpp:3807
#20 0x0000000001db5ea2 in gnb::common_cntrl_thread::process_message
(this=0xd825da0, message=0x7f033c120d50) at
../src/common_cntrl_thread.cpp:2418
#21 0x0000000001ceaeec in ngp::comm_thread::run (this=0xd825da0) at
/include/ngp_comm_thread.h:220
#22 0x0000000002758e07 in thread_entry_function (param=0xd825da0) at
/thread/build/../src/ngp_sys_thread.cpp:111
#23 ngp::thread_start (param=0xd825da0) at
/thread/build/../src/ngp_sys_thread.cpp:124
#24 0x00007f036ba90ea5 in start_thread () from /lib64/libpthread.so.0
#25 0x00007f036b7b9b0d in clone () from /lib64/libc.so.6
#0 operator() (this=<optimized out>, b=..., i=...) at
/staging/cu/x86/include/boost/interprocess/indexes/iset_index.hpp:94
blen = <optimized out>
#1 operator()<boost::interprocess::ipcdetail::intrusive_compare_key<char>
> (this=<optimized out>, key2=..., nonkey1=...) at
/staging/cu/x86/include/boost/intrusive/detail/tree_value_compare.hpp:157
No locals.
#2 operator()<boost::interprocess::ipcdetail::intrusive_compare_key<char>,
boost::interprocess::offset_ptr<boost::intrusive::compact_rbtree_node<boost::interprocess::offset_ptr<void>
>, long int, long unsigned int, 0ul> > (this=<optimized out>, t2=...,
t1=...) at
/staging/cu/x86/include/boost/intrusive/detail/key_nodeptr_comp.hpp:106
No locals.
#3
insert_unique_check<boost::interprocess::ipcdetail::intrusive_compare_key<char>,
boost::intrusive::detail::key_nodeptr_comp<boost::interprocess::iset_index<boost::interprocess::ipcdetail::index_config<char,
boost::interprocess::rbtree_best_fit<boost::interprocess::mutex_family> >
>::intrusive_key_value_less,
boost::intrusive::bhtraits<boost::interprocess::ipcdetail::intrusive_value_type_impl<boost::intrusive::generic_hook<(boost::intrusive::algo_types)5,
boost::intrusive::rbtree_node_traits<boost::interprocess::offset_ptr<void>,
true>, boost::intrusive::dft_tag, (boost::intrusive::link_mode_type)1,
(boost::intrusive::base_hook_type)3>, char, unsigned long>,
boost::intrusive::rbtree_node_traits<boost::interprocess::offset_ptr<void>,
true>, (boost::intrusive::link_mode_type)1, boost::intrusive::dft_tag, 3u>,
boost::move_detail::identity<boost::interprocess::ipcdetail::intrusive_value_type_impl<boost::intrusive::generic_hook<(boost::intrusive::algo_types)5,
boost::intrusive::rbtree_node_traits<boost::interprocess::offset_ptr<void>,
true>, boost::intrusive::dft_tag, (boost::intrusive::link_mode_type)1,
(boost::intrusive::base_hook_type)3>, char, unsigned long> > > >
(pdepth=0x0, commit_data=..., comp=..., key=..., header=...) at
/staging/cu/x86/include/boost/intrusive/bstree_algorithms.hpp:1014
depth = <optimized out>
y = {
internal = {
m_offset = 769371974,
alignment_helper = {
dummy = "F\257\333-\000\000\000"
}
}
}
left_child = true
not_present = <optimized out>
h = {
internal = {
m_offset = 215197376,
alignment_helper = {
dummy = "\300\246\323\f\000\000\000"
}
}
}
x = {
internal = {
m_offset = 769371958,
alignment_helper = {
dummy = "6\257\333-\000\000\000"
}
}
}
prev = {
internal = {
m_offset = 215199488,
alignment_helper = {
dummy = "\000\257\323\f\000\000\000"
}
}
}
#4
boost::intrusive::bstbase2<boost::intrusive::bhtraits<boost::interprocess::ipcdetail::intrusive_value_type_impl<boost::intrusive::generic_hook<(boost::intrusive::algo_types)5,
boost::intrusive::rbtree_node_traits<boost::interprocess::offset_ptr<void,
long, unsigned long, 0ul>, true>, boost::intrusive::dft_tag,
(boost::intrusive::link_mode_type)1, (boost::intrusive::base_hook_type)3>,
char, unsigned long>,
boost::intrusive::rbtree_node_traits<boost::interprocess::offset_ptr<void,
long, unsigned long, 0ul>, true>, (boost::intrusive::link_mode_type)1,
boost::intrusive::dft_tag, 3u>, void, void,
(boost::intrusive::algo_types)5,
void>::insert_unique_check<boost::interprocess::ipcdetail::intrusive_compare_key<char>,
boost::interprocess::iset_index<boost::interprocess::ipcdetail::index_config<char,
boost::interprocess::rbtree_best_fit<boost::interprocess::mutex_family,
boost::interprocess::offset_ptr<void, long, unsigned long, 0ul>, 0ul> >
>::intrusive_key_value_less> (this=this_at_entry=0x7f035d1dc0a0, key=...,
comp=..., commit_data=...) at
/staging/cu/x86/include/boost/intrusive/bstree.hpp:499
ret = {
first = {
internal = {
m_offset = 769371910,
alignment_helper = {
dummy = "\006\257\333-\000\000\000"
}
}
},
second = true
}
#5 0x0000000001d8c7a1 in
insert_check<boost::interprocess::ipcdetail::intrusive_compare_key<char>,
boost::interprocess::iset_index<boost::interprocess::ipcdetail::index_config<char,
boost::interprocess::rbtree_best_fit<boost::interprocess::mutex_family> >
>::intrusive_key_value_less> (commit_data=..., key=...,
this=0x7f035d1dc098, comp=...) at
/staging/cu/x86/include/boost/intrusive/set.hpp:232
No locals.
#6 insert_check (commit_data=..., key=..., this=0x7f035d1dc098) at
/staging/cu/x86/include/boost/interprocess/indexes/iset_index.hpp:138
No locals.
#7 priv_generic_named_construct<char> (type=1 '\001', is_intrusive=...,
index=..., table=..., dothrow=true, try2find=true, num=1,
name=0x7f03504a1cd0 "is_xn_setup_failed_alarm_raised", this=<optimized
out>, this=<optimized out>) at
/staging/cu/x86/include/boost/interprocess/segment_manager.hpp:1096
key = {
mp_str = 0x7f03504a1cd0 "is_xn_setup_failed_alarm_raised",
m_len = 31
}
insert_ret = {
first = {
static stateful_value_traits = false,
members_ = {
nodeptr_ = {
internal = {
m_offset = 1,
alignment_helper = {
dummy = "\001\000\000\000\000\000\000"
}
}
}
}
},
second = false
}
intrusive_hdr = <optimized out>
block_info = {
m_value_bytes = 1,
m_num_char = 31,
m_value_alignment = 1 '\001',
m_alloc_type_sizeof_char = 33 '!'
}
commit_data = {
link_left = 112,
node = {
internal = {
m_offset = 1,
alignment_helper = {
dummy = "\001\000\000\000\000\000\000"
}
}
}
}
hdr = <optimized out>
ptr = <optimized out>
name_ptr = <optimized out>
it = {
static stateful_value_traits = false,
members_ = {
nodeptr_ = {
internal = {
m_offset = 1,
alignment_helper = {
dummy = "\001\000\000\000\000\000\000"
}
}
}
}
}
buffer_ptr = <optimized out>
v_eraser = {
m_cont = @0x0,
m_index_it = {
static stateful_value_traits = false,
members_ = {
nodeptr_ = {
internal = {
m_offset = 0,
alignment_helper = {
dummy = "\000\000\000\000\000\000\000"
}
}
}
}
},
m_erase = 208
}
#8 priv_generic_construct (table=..., dothrow=true, try2find=true, num=1,
name=0x7f03504a1cd0 "is_xn_setup_failed_alarm_raised", this=0x7f035d1dc010)
at /staging/cu/x86/include/boost/interprocess/segment_manager.hpp:760
No locals.
#9 generic_construct<bool> (table=..., dothrow=true, try2find=true, num=1,
name=0x7f03504a1cd0 "is_xn_setup_failed_alarm_raised", this=0x7f035d1dc010)
at /staging/cu/x86/include/boost/interprocess/segment_manager.hpp:704
No locals.
#10
boost::interprocess::ipcdetail::named_proxy<boost::interprocess::segment_manager<char,
boost::interprocess::rbtree_best_fit<boost::interprocess::mutex_family,
boost::interprocess::offset_ptr<void, long, unsigned long, 0ul>, 0ul>,
boost::interprocess::iset_index>, bool, false>::operator()<bool>(bool&&)
const (this=<optimized out>) at
/staging/cu/x86/include/boost/interprocess/detail/named_proxy.hpp:132
ctor_obj = <unknown type in /bin/gnb_cu_cp_gnb_mgr, CU 0x14204b9,
DIE 0x1522041>
-- Regards, Murali Kishore
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk