Skip to content

平台上传,报段错误,程序崩溃 #56

@goodcat111

Description

@goodcat111

描述你遇到了什么问题(Please description your issue here)
SRS版本:5.0.26
仓库里面srs-gb28181下载编译的

  1. SRS的日志如下(Log):
    常规运行无有效提示
  2. 用GDB运行有如下log
    [2022-06-20 12:53:51.804][Trace][105707][1yxl51e1] gb28181: respone method=INVITE, uri=34021000002000000001@3402100000, version=SIP/2.0
    [2022-06-20 12:53:51.804][Trace][105707][1yxl51e1] gb28181: INVITE response 61058200002160000005 client status=400
    [2022-06-20 12:53:51.823][Trace][105707][1yxl51e1] gb28181: request client id=61058200002160000007, peer(192.168.9.244, 5060)
    [2022-06-20 12:53:51.823][Trace][105707][1yxl51e1] gb28181: respone method=INVITE, uri=34021000002000000001@3402100000, version=SIP/2.0
    [2022-06-20 12:53:51.823][Trace][105707][1yxl51e1] gb28181: INVITE response 61058200002160000007 client status=400
    [2022-06-20 12:53:51.823][Trace][105707][1yxl51e1] gb28181: request client id=61058200001310000004, peer(192.168.9.244, 5060)
    [2022-06-20 12:53:51.823][Trace][105707][1yxl51e1] gb28181: respone method=INVITE, uri=34021000002000000001@3402100000, version=SIP/2.0
    [2022-06-20 12:53:51.823][Trace][105707][1yxl51e1] gb28181: INVITE response 61058200001310000004 client status=400
    [2022-06-20 12:53:51.823][Trace][105707][1yxl51e1] gb28181: request client id=61058200001310000003, peer(192.168.9.244, 5060)
    [2022-06-20 12:53:51.823][Trace][105707][1yxl51e1] gb28181: respone method=INVITE, uri=34021000002000000001@3402100000, version=SIP/2.0
    [2022-06-20 12:53:51.824][Trace][105707][1yxl51e1] gb28181: INVITE response 61058200001310000003 client status=400
    [2022-06-20 12:53:51.824][Trace][105707][1yxl51e1] gb28181: request client id=61058200002160000001, peer(192.168.9.244, 5060)
    [2022-06-20 12:53:51.824][Trace][105707][1yxl51e1] gb28181: respone method=INVITE, uri=34021000002000000001@3402100000, version=SIP/2.0
    [2022-06-20 12:53:51.824][Trace][105707][1yxl51e1] gb28181: INVITE response 61058200002160000001 client status=400
    [2022-06-20 12:53:51.837][Trace][105707][1yxl51e1] gb28181: request client id=61058200002160000003, peer(192.168.9.244, 5060)
    [2022-06-20 12:53:51.837][Trace][105707][1yxl51e1] gb28181: respone method=INVITE, uri=34021000002000000001@3402100000, version=SIP/2.0
    [2022-06-20 12:53:51.837][Trace][105707][1yxl51e1] gb28181: INVITE response 61058200002160000003 client status=400
    [2022-06-20 12:53:51.954][Trace][105707][1yxl51e1] gb28181: request client id=34021000002000000002 peer(192.168.9.251, 5060)
    [2022-06-20 12:53:51.954][Trace][105707][1yxl51e1] gb28181: request method=REGISTER, uri=sip:34021000002000000001@192.168.9.68:5060, version=SIP/2.0 expires=10
    [2022-06-20 12:53:51.996][Trace][105707][n87b7233] 44B video sh, codec(7, profile=Main, level=3, 720x576, 0kbps, 0.0fps, 0.0s)
    [2022-06-20 12:53:52.257][Trace][105707][135461e0] gb28181: 34021000002000000002 clients device=61058200002160000008 send invite code=0
    [2022-06-20 12:53:52.257][Trace][105707][135461e0] gb28181: sip session=34021000002000000002 register expire
    [2022-06-20 12:53:52.257][Trace][105707][135461e0] gb28181: client id=34021000002000000002 sip session is remove
    [2022-06-20 12:53:52.257][Trace][105707][135461e0] gb28181: sip client finished.
    [2022-06-20 12:53:52.790][Trace][105707][1yxl51e1] gb28181: request client id=61058200002160000006, peer(192.168.9.244, 5060)
    [2022-06-20 12:53:52.790][Trace][105707][1yxl51e1] gb28181: respone method=INVITE, uri=34021000002000000001@3402100000, version=SIP/2.0
    [2022-06-20 12:53:52.790][Trace][105707][1yxl51e1] gb28181: INVITE response 61058200002160000006 client status=400

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7ed03ca in std::__cxx11::basic_string<char, std::char_traits, std::allocator >::compare(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) const () from /lib/x86_64-linux-gnu/libstdc++.so.6

  1. SRS的配置如下(Config):

push gb28181 stream to SRS.

listen 1935;
max_connections 1000;
srs_log_tank console;
#srs_log_level trace;
#srs_log_tank file;
#srs_log_file ./objs/srs.log;
daemon off;
srs_log_tank console;

http_api {
enabled on;
listen 1985;
}

http_server {
enabled on;
listen 8080;
}

stats {
network 0;
}

stream_caster {
enabled on;
caster gb28181;

output              rtmp://127.0.0.1:1935/live/[stream];

listen              9000;

tcp_enable            off;
rtp_port_min        58200;
rtp_port_max        58300;
wait_keyframe       on;

rtp_idle_timeout    30;

audio_enable        off;

host        192.168.9.68;

auto_create_channel   off;

sip {

    enabled on;

    listen              5060;

    serial              34021000002000000001;

    # SIP server domain(SIP服务器域)
    realm               3402100000;

    ack_timeout         30;

    keepalive_timeout   120;

    auto_play           on;
    invite_port_fixed     on;

    query_catalog_interval  60;
}

}

rtc_server {
enabled on;
listen 8000;
candidate 192.168.9.68; #这个换成 $CANDIDATE;也一样崩溃
}

vhost defaultVhost {
rtc {
enabled on;
rtmp_to_rtc on;
#bframe discard;
}

http_remux {
    enabled     on;
    mount       [vhost]/[app]/[stream].flv;
}

}

重现(Replay)

重现Bug的步骤(How to replay bug?)
单个海康摄像机,国标注册上来正常
用了一个我们开发的平台,国标级联到SRS,初期能读取列表,控制台显示有流。点开流黑屏。
过大概1分钟左右,平台的设备还没有都上来之前,就突然报 段错误

期望行为(Expect)
如何配置或修改能解决问题?

描述你期望发生的事情(Please describe your expectation)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions