SRS带宽不足下内存泄漏

2022-05-29  本文已影响0人  拉普拉斯妖kk
[Warn][24154][x6w4gl27][62] handle udp pkt, count=1/1, err: code=1011 : size=104, data=[00 01 00 54 21 12 a4 42] : stun binding request failed : stun binding response send failed : sendto 
thread [24154][x6w4gl27]: cycle() [src/app/srs_app_listener.cpp:630][errno=62]
thread [24154][982648t3]: on_stun() [src/app/srs_app_rtc_conn.cpp:2113][errno=62]
thread [24154][982648t3]: on_binding_request() [src/app/srs_app_rtc_conn.cpp:2773][errno=62]
thread [24154][982648t3]: sendto() [src/app/srs_app_listener.cpp:347][errno=62]
if (nb_write <= 0) {
    if (nb_write < 0 && errno == ETIME) {
        return err;
        //return srs_error_new(ERROR_SOCKET_TIMEOUT, "sendto timeout %d ms", srsu2msi(timeout));
    }   

    return srs_error_new(ERROR_SOCKET_WRITE, "sendto");
}
// 原始代码分析结果
Using local file objs/srs.
Using local file gperf.srs.gmp.0001.heap.
Total: 9.8 MB
     2.3  23.2%  23.2%      2.3  23.2% SrsResourceManager::SrsResourceManager
     2.0  20.2%  43.5%      2.0  20.2% _st_new_stk_segment
     1.8  18.2%  61.7%      1.8  18.2% SrsCommonMessage::create_payload
     1.7  17.6%  79.4%      1.7  17.6% std::string::_Rep::_S_create
     1.4  14.5%  93.8%      1.4  14.5% SrsCplxError::create
     0.1   1.3%  95.1%      0.1   1.3% SrsFastStream::SrsFastStream
     0.1   0.7%  95.8%      0.1   0.7% av_malloc_array (inline)
     0.1   0.6%  96.4%      0.1   0.6% SrsUdpMuxSocket::SrsUdpMuxSocket
     0.1   0.6%  97.1%      0.1   0.6% SrsUdpMuxListener::SrsUdpMuxListener


// 修改后代码分析结果
Using local file objs/srs.
Using local file gperf.srs.gmp.0001.heap.
Total: 6.8 MB
     2.3  33.7%  33.7%      2.3  33.7% SrsResourceManager::SrsResourceManager
     2.0  29.3%  63.0%      2.0  29.3% _st_new_stk_segment
     1.9  27.8%  90.8%      1.9  27.8% SrsCommonMessage::create_payload
     0.1   1.8%  92.7%      0.1   1.8% SrsFastStream::SrsFastStream
     0.1   1.0%  93.7%      0.1   1.1% av_malloc_array (inline)
     0.1   0.9%  94.6%      0.1   0.9% SrsUdpMuxSocket::SrsUdpMuxSocket
     0.1   0.9%  95.5%      0.1   0.9% SrsUdpMuxListener::SrsUdpMuxListener
// TODO: FIXME: Handle error.
sendonly_skt->sendto(iov->iov_base, iov->iov_len, 0);
if ((err = sendonly_skt->sendto(iov->iov_base, iov->iov_len, 0)) != srs_success) {
    return srs_error_wrap(err, "send to");
}
上一篇 下一篇

猜你喜欢

热点阅读