ossrs / srs

SRS is a simple, high-efficiency, real-time video server supporting RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH, and GB28181.

Home Page:https://ossrs.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

hi3531 runs srs on embedded system and reports srs: src/app/srs_app_utility.cpp:304: void srs_update_proc_stat(): Assertion `USER_HZ == 100' failed.

yukuilong opened this issue · comments

System: Hisilicon hi3531 Linux embedded 32-bit system
Encoder: arm-hisiv200-linux-g++
Server: Using SRS version 0.9.213,
The configuration is as follows:

listen              1935;
max_connections     1000;
http_stream {
    enabled         on;
    listen          8080;
    dir             ./objs/nginx/html;
}
vhost __defaultVhost__ {
        enabled      on;
        gop_cache    off;
    hls {
        enabled         on;         
        hls_path        ./objs/nginx/html;
        hls_fragment    5;
        hls_window      20;
    }
}
,
srs.log partial print
1970-01-01 00:48:22.080][trace][932][0] http callback: on   f, limit: 1000      
1970-01-01 00:48:22.080][trace][932][0] http api: on                            
1970-01-01 00:48:22.080][trace][932][0] http server: on                         
1970-01-01 00:48:22.080][trace][932][0] http parser: on                         
1970-01-01 00:48:22.080][trace][932][0] dvr: on                                 
1970-01-01 00:48:22.080][trace][932][0] transcode: on                           
1970-01-01 00:48:22.080][trace][932][0] ingest: on                              
1970-01-01 00:48:22.080][trace][932][0] system stat: on                         
1970-01-01 00:48:22.080][warn][932][0][2] compile nginx: off                    
1970-01-01 00:48:22.080][trace][932][0] compile ffmpeg: on                      
1970-01-01 00:48:22.081][trace][932][0] start deamon mode...                    
1970-01-01 00:48:22.082][trace][933][0] father process exit. ret=0              
1970-01-01 00:48:22.082][trace][934][0] son(deamon) process running.            
1970-01-01 00:48:22.083][trace][934][0] write pid=934 to ./objs/srs.pid success!
1970-01-01 00:48:22.083][trace][932][0] grandpa process exit.                   
1970-01-01 00:48:22.083][trace][934][100] server main cid=100                   
1970-01-01 00:48:22.084][trace][934][101] listen cycle start, port=1935, type=0,
1970-01-01 00:48:22.094][trace][934][100] listen thread cid=101, current_cid=100
1970-01-01 00:48:22.094][trace][934][102] listen cycle start, port=8080, type=2,
1970-01-01 00:48:22.105][trace][934][100] listen thread cid=102, current_cid=100
1970-01-01 00:48:22.105][trace][934][100] signal installed                      
1970-01-01 00:48:22.125][trace][934][100] ingest thread cid=104, current_cid=100
1970-01-01 00:48:22.226][trace][934][100] USER_HZ=1000


Problem and reproduction steps:
Start ./objs/srs -c ./objs/http.hls.conf
Print the following information:
[1970-01-01 00:59:37.276][trace][944][0] config parse complete
[1970-01-01 00:59:37.277][trace][944][0] retrieve local ipv4 ip=192.168.1.54, index=0
[1970-01-01 00:59:37.277][warn][944][0][2] stats network use index=0, ip=192.168.1.54
[1970-01-01 00:59:37.277][warn][944][0][2] stats disk not configed, disk iops disabled.
[1970-01-01 00:59:37.277][trace][944][0] write log to file ./objs/srs.log
[1970-01-01 00:59:37.277][trace][944][0] you can: tailf ./objs/srs.log
[1970-01-01 00:59:37.277][trace][944][0] @see: https://github.com/winlinvip/simple-rtmp-server/wiki/SrsLog
# srs: src/app/srs_app_utility.cpp:304: void srs_update_proc_stat(): Assertion `USER_HZ == 100' failed.

Error: Assertion `USER_HZ == 100' failed in src/app/srs_app_utility.cpp:304

After looking at the source code, it seems that USER_HZ must be equal to 100. I'm not sure why it's not.

TRANS_BY_GPT3

First, we should use version 1.0 for release.
Secondly, this is a bug, and I will fix it in version 1.0.

TRANS_BY_GPT3

There are links in the code, and usually USERHZ is 100.

TRANS_BY_GPT3