map insert执行崩溃

来源:互联网 发布:httppost json 编辑:程序博客网 时间:2024/05/17 05:00
print call frame now:frame 0 -- ./datactlserver(_Z13SignalHandleri+0x50) [0x4102e0]frame 1 -- /lib64/libc.so.6() [0x376e832a20]frame 2 -- /usr/lib64/libstdc++.so.6(_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_+0x5f) [0x3774069fbf]frame 3 -- ./datactlserver(_ZNSt8_Rb_treeIjSt4pairIKjP13RecvStateInfoESt10_Select1stIS4_ESt4lessIjESaIS4_EE10_M_insert_EPKSt18_Rb_tree_node_baseSD_RKS4_+0xb1) [0x427b97]frame 4 -- ./datactlserver(_ZNSt8_Rb_treeIjSt4pairIKjP13RecvStateInfoESt10_Select1stIS4_ESt4lessIjESaIS4_EE16_M_insert_uniqueERKS4_+0x1e6) [0x426f0c]frame 5 -- ./datactlserver(_ZNSt3mapIjP13RecvStateInfoSt4lessIjESaISt4pairIKjS1_EEE6insertERKS6_+0x23) [0x426521]frame 6 -- ./datactlserver(_ZN11CThreadPool17PushSockStateInfoEi13RecvStateInfo+0x113) [0x425e8f]frame 7 -- ./datactlserver(_ZN13CListenThread6ListenEv+0x490) [0x42aeb8]frame 8 -- ./datactlserver(_ZN13CListenThread3RunEv+0x4b) [0x42a8f3]/home/dong.zhang/work/2.22/datactl/src/server/src/threadpoll.cpp:1109        m_pSockStateQueue->insert(pair<INT32, RecvStateInfo*>(sock, pSockStateInfo));  425e4b:48 8d 55 c8          lea    -0x38(%rbp),%rdx  425e4f:48 8d 4d b4          lea    -0x4c(%rbp),%rcx  425e53:48 8d 45 f0          lea    -0x10(%rbp),%rax  425e57:48 89 ce             mov    %rcx,%rsi  425e5a:48 89 c7             mov    %rax,%rdi  425e5d:e8 42 06 00 00       callq  4264a4 <_ZNSt4pairIiP13RecvStateInfoEC1ERKiRKS1_>  425e62:48 8d 55 f0          lea    -0x10(%rbp),%rdx  425e66:48 8d 45 e0          lea    -0x20(%rbp),%rax  425e6a:48 89 d6             mov    %rdx,%rsi  425e6d:48 89 c7             mov    %rax,%rdi  425e70:e8 5d 06 00 00       callq  4264d2 <_ZNSt4pairIKjP13RecvStateInfoEC1IiS2_EERKS_IT_T0_E>  425e75:48 8b 45 b8          mov    -0x48(%rbp),%rax  425e79:48 8b 80 24 02 00 00 mov    0x224(%rax),%rax  425e80:48 8d 55 e0          lea    -0x20(%rbp),%rdx  425e84:48 89 d6             mov    %rdx,%rsi  425e87:48 89 c7             mov    %rax,%rdi  425e8a:e8 6f 06 00 00       callq  4264fe <_ZNSt3mapIjP13RecvStateInfoSt4lessIjESaISt4pairIKjS1_EEE6insertERKS6_>  425e8f:48 89 c1             mov    %rax,%rcx  425e92:89 d0                mov    %edx,%eax  425e94:48 89 4d a0          mov    %rcx,-0x60(%rbp)  425e98:88 45 a8             mov    %al,-0x58(%rbp)  425e9b:48 8b 45 a0          mov    -0x60(%rbp),%rax  425e9f:48 89 45 d0          mov    %rax,-0x30(%rbp)  425ea3:0f b6 45 a8          movzbl -0x58(%rbp),%eax  425ea7:88 45 d8             mov    %al,-0x28(%rbp)


增加保护机制,插入数据前检查MAP容器最大值和当前值,若小于等于则插入,若大于插入失败

原创粉丝点击