Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

API: The VmSize of SRS is huge and incorrect, if enabled asan. #4041

Open
winlinvip opened this issue Apr 24, 2024 · 2 comments
Open

API: The VmSize of SRS is huge and incorrect, if enabled asan. #4041

winlinvip opened this issue Apr 24, 2024 · 2 comments
Assignees
Labels
API HTTP-API, HTTP-Callback, etc. Bug It might be a bug. EnglishNative This issue is conveyed exclusively in English.

Comments

@winlinvip
Copy link
Member

Describe the bug
When started SRS, the VmSize is huge and incorrect. You can get the VmSize by top or ps.

Version
SRS 5 or 6.

To Reproduce
Steps to reproduce the behavior:

  1. Run SRS by ./objs/srs -c conf/console.conf
  2. Run command top -p $(pidof srs)
  3. Or run command by ps -u -p $(pidof srs)
  4. The VmSize is huge, about 20TB.

Expected behavior
Should show correct VmSize.

Screenshots

ps -u -p $(pidof srs)

USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root     3151451  2.6 11.6 21474955020 237412 pts/0 Sl+ 10:07   0:07 ./objs/srs -c conf/console.conf
top -p $(pidof srs)

top - 10:13:14 up 144 days, 23:11,  2 users,  load average: 0.41, 0.57, 0.72
Tasks:   1 total,   0 running,   1 sleeping,   0 stopped,   0 zombie
%Cpu(s):  3.3 us,  6.7 sy,  0.0 ni, 90.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   1987.4 total,     96.3 free,   1385.2 used,    505.9 buff/cache
MiB Swap:   1025.0 total,    642.2 free,    382.8 used.    426.5 avail Mem 

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                                                                                        
3151451 root      20   0   20.0t 238052  19936 S   0.0  11.7   0:07.93 srs

Additional context
Maybe caused by custom stack for coroutine.

@winlinvip winlinvip added Bug It might be a bug. API HTTP-API, HTTP-Callback, etc. labels Apr 24, 2024
@winlinvip winlinvip self-assigned this Apr 24, 2024
@winlinvip winlinvip added the EnglishNative This issue is conveyed exclusively in English. label Apr 24, 2024
@winlinvip
Copy link
Member Author

winlinvip commented Apr 24, 2024

Get the status of SRS:

top -p $(pidof srs)
top - 10:13:14 up 144 days, 23:11,  2 users,  load average: 0.41, 0.57, 0.72
Tasks:   1 total,   0 running,   1 sleeping,   0 stopped,   0 zombie
%Cpu(s):  3.3 us,  6.7 sy,  0.0 ni, 90.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   1987.4 total,     96.3 free,   1385.2 used,    505.9 buff/cache
MiB Swap:   1025.0 total,    642.2 free,    382.8 used.    426.5 avail Mem 

PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                                                                                        
3151451 root      20   0   20.0t 238052  19936 S   0.0  11.7   0:07.93 srs
cat /proc/$(pidof srs)/status
Name:	srs
Umask:	0022
State:	S (sleeping)
Tgid:	3151451
Ngid:	0
Pid:	3151451
PPid:	3113227
TracerPid:	0
Uid:	0	0	0	0
Gid:	0	0	0	0
FDSize:	256
Groups:	0 
NStgid:	3151451
NSpid:	3151451
NSpgid:	3151451
NSsid:	3113227
VmPeak:	21474956980 kB
VmSize:	21474956980 kB
VmLck:	       0 kB
VmPin:	       0 kB
VmHWM:	  256512 kB
VmRSS:	  256512 kB
RssAnon:	  236576 kB
RssFile:	   19936 kB
RssShmem:	       0 kB
VmData:	15032667748 kB
VmStk:	     132 kB
VmExe:	   15352 kB
VmLib:	    9024 kB
VmPTE:	    2372 kB
VmSwap:	       0 kB
HugetlbPages:	       0 kB
CoreDumping:	0
THP_enabled:	1
Threads:	2
SigQ:	0/7729
SigPnd:	0000000000000000
ShdPnd:	0000000000000000
SigBlk:	0000000000000000
SigIgn:	0000000000001000
SigCgt:	00000001800046e7
CapInh:	0000000000000000
CapPrm:	0000003fffffffff
CapEff:	0000003fffffffff
CapBnd:	0000003fffffffff
CapAmb:	0000000000000000
NoNewPrivs:	0
Seccomp:	0
Speculation_Store_Bypass:	vulnerable
Cpus_allowed:	3
Cpus_allowed_list:	0-1
Mems_allowed:	00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001
Mems_allowed_list:	0
voluntary_ctxt_switches:	427
nonvoluntary_ctxt_switches:	31
cat /proc/$(pidof srs)/maps
7fff7000-8fff7000 rwxp 00000000 00:00 0 
8fff7000-2008fff7000 ---p 00000000 00:00 0 
2008fff7000-10007fff8000 rwxp 00000000 00:00 0 
564b3cbcc000-564b3ddb2000 r-xp 00000000 fc:01 1457467                    /root/git/srs/trunk/objs/srs
564b3ddb2000-564b3de12000 r-xp 011e5000 fc:01 1457467                    /root/git/srs/trunk/objs/srs
564b3de12000-564b3dea9000 rwxp 01245000 fc:01 1457467                    /root/git/srs/trunk/objs/srs
564b3dea9000-564b3e8c1000 rwxp 00000000 00:00 0 
600000000000-602000000000 ---p 00000000 00:00 0 
602000000000-602000280000 rwxp 00000000 00:00 0 
602000280000-602e00000000 ---p 00000000 00:00 0 
602e00000000-602e00010000 rwxp 00000000 00:00 0 
602e00010000-603000000000 ---p 00000000 00:00 0 
603000000000-6030006d0000 rwxp 00000000 00:00 0 
6030006d0000-603e00000000 ---p 00000000 00:00 0 
603e00000000-603e00010000 rwxp 00000000 00:00 0 
603e00010000-604000000000 ---p 00000000 00:00 0 
604000000000-604000de0000 rwxp 00000000 00:00 0 
604000de0000-604e00000000 ---p 00000000 00:00 0 
604e00000000-604e00010000 rwxp 00000000 00:00 0 
604e00010000-605000000000 ---p 00000000 00:00 0 
605000000000-6050007e0000 rwxp 00000000 00:00 0 
6050007e0000-605e00000000 ---p 00000000 00:00 0 
605e00000000-605e00010000 rwxp 00000000 00:00 0 
605e00010000-606000000000 ---p 00000000 00:00 0 
606000000000-6060009d0000 rwxp 00000000 00:00 0 
6060009d0000-606e00000000 ---p 00000000 00:00 0 
606e00000000-606e00010000 rwxp 00000000 00:00 0 
606e00010000-607000000000 ---p 00000000 00:00 0 
607000000000-607000360000 rwxp 00000000 00:00 0 
607000360000-607e00000000 ---p 00000000 00:00 0 
607e00000000-607e00010000 rwxp 00000000 00:00 0 
607e00010000-608000000000 ---p 00000000 00:00 0 
608000000000-608000440000 rwxp 00000000 00:00 0 
608000440000-608e00000000 ---p 00000000 00:00 0 
608e00000000-608e00010000 rwxp 00000000 00:00 0 
608e00010000-609000000000 ---p 00000000 00:00 0 
609000000000-609000010000 rwxp 00000000 00:00 0 
609000010000-609e00000000 ---p 00000000 00:00 0 
609e00000000-609e00010000 rwxp 00000000 00:00 0 
609e00010000-60b000000000 ---p 00000000 00:00 0 
60b000000000-60b000290000 rwxp 00000000 00:00 0 
60b000290000-60be00000000 ---p 00000000 00:00 0 
60be00000000-60be00010000 rwxp 00000000 00:00 0 
60be00010000-60c000000000 ---p 00000000 00:00 0 
60c000000000-60c000650000 rwxp 00000000 00:00 0 
60c000650000-60ce00000000 ---p 00000000 00:00 0 
60ce00000000-60ce00010000 rwxp 00000000 00:00 0 
60ce00010000-60d000000000 ---p 00000000 00:00 0 
60d000000000-60d0001f0000 rwxp 00000000 00:00 0 
60d0001f0000-60de00000000 ---p 00000000 00:00 0 
60de00000000-60de00010000 rwxp 00000000 00:00 0 
60de00010000-60e000000000 ---p 00000000 00:00 0 
60e000000000-60e000320000 rwxp 00000000 00:00 0 
60e000320000-60ee00000000 ---p 00000000 00:00 0 
60ee00000000-60ee00010000 rwxp 00000000 00:00 0 
60ee00010000-60f000000000 ---p 00000000 00:00 0 
60f000000000-60f0001a0000 rwxp 00000000 00:00 0 
60f0001a0000-60fe00000000 ---p 00000000 00:00 0 
60fe00000000-60fe00010000 rwxp 00000000 00:00 0 
60fe00010000-610000000000 ---p 00000000 00:00 0 
610000000000-610001500000 rwxp 00000000 00:00 0 
610001500000-610e00000000 ---p 00000000 00:00 0 
610e00000000-610e00010000 rwxp 00000000 00:00 0 
610e00010000-611000000000 ---p 00000000 00:00 0 
611000000000-611001590000 rwxp 00000000 00:00 0 
611001590000-611e00000000 ---p 00000000 00:00 0 
611e00000000-611e00010000 rwxp 00000000 00:00 0 
611e00010000-612000000000 ---p 00000000 00:00 0 
612000000000-6120000b0000 rwxp 00000000 00:00 0 
6120000b0000-612e00000000 ---p 00000000 00:00 0 
612e00000000-612e00010000 rwxp 00000000 00:00 0 
612e00010000-613000000000 ---p 00000000 00:00 0 
613000000000-613000060000 rwxp 00000000 00:00 0 
613000060000-613e00000000 ---p 00000000 00:00 0 
613e00000000-613e00010000 rwxp 00000000 00:00 0 
613e00010000-614000000000 ---p 00000000 00:00 0 
614000000000-614000060000 rwxp 00000000 00:00 0 
614000060000-614e00000000 ---p 00000000 00:00 0 
614e00000000-614e00010000 rwxp 00000000 00:00 0 
614e00010000-615000000000 ---p 00000000 00:00 0 
615000000000-6150001d0000 rwxp 00000000 00:00 0 
6150001d0000-615e00000000 ---p 00000000 00:00 0 
615e00000000-615e00010000 rwxp 00000000 00:00 0 
615e00010000-616000000000 ---p 00000000 00:00 0 
616000000000-6160000b0000 rwxp 00000000 00:00 0 
6160000b0000-616e00000000 ---p 00000000 00:00 0 
616e00000000-616e00010000 rwxp 00000000 00:00 0 
616e00010000-617000000000 ---p 00000000 00:00 0 
617000000000-617000100000 rwxp 00000000 00:00 0 
617000100000-617e00000000 ---p 00000000 00:00 0 
617e00000000-617e00010000 rwxp 00000000 00:00 0 
617e00010000-618000000000 ---p 00000000 00:00 0 
618000000000-6180000a0000 rwxp 00000000 00:00 0 
6180000a0000-618e00000000 ---p 00000000 00:00 0 
618e00000000-618e00010000 rwxp 00000000 00:00 0 
618e00010000-619000000000 ---p 00000000 00:00 0 
619000000000-619000410000 rwxp 00000000 00:00 0 
619000410000-619e00000000 ---p 00000000 00:00 0 
619e00000000-619e00010000 rwxp 00000000 00:00 0 
619e00010000-61a000000000 ---p 00000000 00:00 0 
61a000000000-61a0001c0000 rwxp 00000000 00:00 0 
61a0001c0000-61ae00000000 ---p 00000000 00:00 0 
61ae00000000-61ae00010000 rwxp 00000000 00:00 0 
61ae00010000-61b000000000 ---p 00000000 00:00 0 
61b000000000-61b002330000 rwxp 00000000 00:00 0 
61b002330000-61be00000000 ---p 00000000 00:00 0 
61be00000000-61be00010000 rwxp 00000000 00:00 0 
61be00010000-61c000000000 ---p 00000000 00:00 0 
61c000000000-61c000200000 rwxp 00000000 00:00 0 
61c000200000-61ce00000000 ---p 00000000 00:00 0 
61ce00000000-61ce00010000 rwxp 00000000 00:00 0 
61ce00010000-61d000000000 ---p 00000000 00:00 0 
61d000000000-61d0003e0000 rwxp 00000000 00:00 0 
61d0003e0000-61de00000000 ---p 00000000 00:00 0 
61de00000000-61de00010000 rwxp 00000000 00:00 0 
61de00010000-61e000000000 ---p 00000000 00:00 0 
61e000000000-61e000300000 rwxp 00000000 00:00 0 
61e000300000-61ee00000000 ---p 00000000 00:00 0 
61ee00000000-61ee00010000 rwxp 00000000 00:00 0 
61ee00010000-61f000000000 ---p 00000000 00:00 0 
61f000000000-61f000220000 rwxp 00000000 00:00 0 
61f000220000-61fe00000000 ---p 00000000 00:00 0 
61fe00000000-61fe00010000 rwxp 00000000 00:00 0 
61fe00010000-620000000000 ---p 00000000 00:00 0 
620000000000-6200000f0000 rwxp 00000000 00:00 0 
6200000f0000-620e00000000 ---p 00000000 00:00 0 
620e00000000-620e00010000 rwxp 00000000 00:00 0 
620e00010000-621000000000 ---p 00000000 00:00 0 
621000000000-621000190000 rwxp 00000000 00:00 0 
621000190000-621e00000000 ---p 00000000 00:00 0 
621e00000000-621e00010000 rwxp 00000000 00:00 0 
621e00010000-622000000000 ---p 00000000 00:00 0 
622000000000-6220000a0000 rwxp 00000000 00:00 0 
6220000a0000-622e00000000 ---p 00000000 00:00 0 
622e00000000-622e00010000 rwxp 00000000 00:00 0 
622e00010000-623000000000 ---p 00000000 00:00 0 
623000000000-6230084e0000 rwxp 00000000 00:00 0 
6230084e0000-623e00000000 ---p 00000000 00:00 0 
623e00000000-623e00010000 rwxp 00000000 00:00 0 
623e00010000-624000000000 ---p 00000000 00:00 0 
624000000000-6240009b0000 rwxp 00000000 00:00 0 
6240009b0000-624e00000000 ---p 00000000 00:00 0 
624e00000000-624e00010000 rwxp 00000000 00:00 0 
624e00010000-625000000000 ---p 00000000 00:00 0 
625000000000-6250000b0000 rwxp 00000000 00:00 0 
6250000b0000-625e00000000 ---p 00000000 00:00 0 
625e00000000-625e00010000 rwxp 00000000 00:00 0 
625e00010000-626000000000 ---p 00000000 00:00 0 
626000000000-626000040000 rwxp 00000000 00:00 0 
626000040000-626e00000000 ---p 00000000 00:00 0 
626e00000000-626e00010000 rwxp 00000000 00:00 0 
626e00010000-627000000000 ---p 00000000 00:00 0 
627000000000-627000030000 rwxp 00000000 00:00 0 
627000030000-627e00000000 ---p 00000000 00:00 0 
627e00000000-627e00010000 rwxp 00000000 00:00 0 
627e00010000-628000000000 ---p 00000000 00:00 0 
628000000000-628000020000 rwxp 00000000 00:00 0 
628000020000-628e00000000 ---p 00000000 00:00 0 
628e00000000-628e00010000 rwxp 00000000 00:00 0 
628e00010000-629000000000 ---p 00000000 00:00 0 
629000000000-629000060000 rwxp 00000000 00:00 0 
629000060000-629e00000000 ---p 00000000 00:00 0 
629e00000000-629e00010000 rwxp 00000000 00:00 0 
629e00010000-62a000000000 ---p 00000000 00:00 0 
62a000000000-62a000070000 rwxp 00000000 00:00 0 
62a000070000-62ae00000000 ---p 00000000 00:00 0 
62ae00000000-62ae00010000 rwxp 00000000 00:00 0 
62ae00010000-62b000000000 ---p 00000000 00:00 0 
62b000000000-62b000020000 rwxp 00000000 00:00 0 
62b000020000-62be00000000 ---p 00000000 00:00 0 
62be00000000-62be00010000 rwxp 00000000 00:00 0 
62be00010000-62c000000000 ---p 00000000 00:00 0 
62c000000000-62c000010000 rwxp 00000000 00:00 0 
62c000010000-62ce00000000 ---p 00000000 00:00 0 
62ce00000000-62ce00010000 rwxp 00000000 00:00 0 
62ce00010000-62d000000000 ---p 00000000 00:00 0 
62d000000000-62d000030000 rwxp 00000000 00:00 0 
62d000030000-62de00000000 ---p 00000000 00:00 0 
62de00000000-62de00010000 rwxp 00000000 00:00 0 
62de00010000-62f000000000 ---p 00000000 00:00 0 
62f000000000-62f000040000 rwxp 00000000 00:00 0 
62f000040000-62fe00000000 ---p 00000000 00:00 0 
62fe00000000-62fe00010000 rwxp 00000000 00:00 0 
62fe00010000-631000000000 ---p 00000000 00:00 0 
631000000000-631000090000 rwxp 00000000 00:00 0 
631000090000-631e00000000 ---p 00000000 00:00 0 
631e00000000-631e00010000 rwxp 00000000 00:00 0 
631e00010000-632000000000 ---p 00000000 00:00 0 
632000000000-632000030000 rwxp 00000000 00:00 0 
632000030000-632e00000000 ---p 00000000 00:00 0 
632e00000000-632e00010000 rwxp 00000000 00:00 0 
632e00010000-640000000000 ---p 00000000 00:00 0 
640000000000-640000003000 rwxp 00000000 00:00 0 
7f5a4c477000-7f5a4d9b3000 rwxp 00000000 00:00 0 
7f5a4d9b3000-7f5a4d9b4000 ---p 00000000 00:00 0 
7f5a4d9b4000-7f5a4e500000 rwxp 00000000 00:00 0 
7f5a4e504000-7f5a4e700000 rwxp 00000000 00:00 0 
7f5a4e708000-7f5a4ea00000 rwxp 00000000 00:00 0 
7f5a4ea13000-7f5a50c38000 rwxp 00000000 00:00 0 
7f5a50c38000-7f5a51418000 ---p 00000000 00:00 0 
7f5a51418000-7f5a51776000 rwxp 00000000 00:00 0 
7f5a51776000-7f5a5195e000 r-xp 00000000 fc:01 1195246                    /usr/lib/x86_64-linux-gnu/libc-2.31.so
7f5a5195e000-7f5a51962000 r-xp 001e7000 fc:01 1195246                    /usr/lib/x86_64-linux-gnu/libc-2.31.so
7f5a51962000-7f5a51964000 rwxp 001eb000 fc:01 1195246                    /usr/lib/x86_64-linux-gnu/libc-2.31.so
7f5a51964000-7f5a5196a000 rwxp 00000000 00:00 0 
7f5a5196a000-7f5a51983000 r-xp 00000000 fc:01 1182614                    /usr/lib/x86_64-linux-gnu/libgcc_s.so.1
7f5a51983000-7f5a51984000 r-xp 00018000 fc:01 1182614                    /usr/lib/x86_64-linux-gnu/libgcc_s.so.1
7f5a51984000-7f5a51985000 rwxp 00019000 fc:01 1182614                    /usr/lib/x86_64-linux-gnu/libgcc_s.so.1
7f5a51985000-7f5a51ad2000 r-xp 00000000 fc:01 1195856                    /usr/lib/x86_64-linux-gnu/libm-2.31.so
7f5a51ad2000-7f5a51ad3000 r-xp 0014c000 fc:01 1195856                    /usr/lib/x86_64-linux-gnu/libm-2.31.so
7f5a51ad3000-7f5a51ad4000 rwxp 0014d000 fc:01 1195856                    /usr/lib/x86_64-linux-gnu/libm-2.31.so
7f5a51ad4000-7f5a51ca3000 r-xp 00000000 fc:01 1182754                    /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28
7f5a51ca3000-7f5a51ca4000 ---p 001cf000 fc:01 1182754                    /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28
7f5a51ca4000-7f5a51caf000 r-xp 001cf000 fc:01 1182754                    /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28
7f5a51caf000-7f5a51cb2000 rwxp 001da000 fc:01 1182754                    /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28
7f5a51cb2000-7f5a51cb5000 rwxp 00000000 00:00 0 
7f5a51cb5000-7f5a51cbd000 r-xp 00000000 fc:01 1195869                    /usr/lib/x86_64-linux-gnu/librt-2.31.so
7f5a51cbd000-7f5a51cbe000 r-xp 00007000 fc:01 1195869                    /usr/lib/x86_64-linux-gnu/librt-2.31.so
7f5a51cbe000-7f5a51cbf000 rwxp 00008000 fc:01 1195869                    /usr/lib/x86_64-linux-gnu/librt-2.31.so
7f5a51cbf000-7f5a51cdc000 r-xp 00000000 fc:01 1195867                    /usr/lib/x86_64-linux-gnu/libpthread-2.31.so
7f5a51cdc000-7f5a51cdd000 r-xp 0001c000 fc:01 1195867                    /usr/lib/x86_64-linux-gnu/libpthread-2.31.so
7f5a51cdd000-7f5a51cde000 rwxp 0001d000 fc:01 1195867                    /usr/lib/x86_64-linux-gnu/libpthread-2.31.so
7f5a51cde000-7f5a51ce2000 rwxp 00000000 00:00 0 
7f5a51ce2000-7f5a51ce6000 r-xp 00000000 fc:01 1195854                    /usr/lib/x86_64-linux-gnu/libdl-2.31.so
7f5a51ce6000-7f5a51ce7000 r-xp 00003000 fc:01 1195854                    /usr/lib/x86_64-linux-gnu/libdl-2.31.so
7f5a51ce7000-7f5a51ce8000 rwxp 00004000 fc:01 1195854                    /usr/lib/x86_64-linux-gnu/libdl-2.31.so
7f5a51ce8000-7f5a51ceb000 rwxp 00000000 00:00 0 
7f5a51ceb000-7f5a51cf5000 rwxp 00000000 00:00 0 
7f5a51cf5000-7f5a51d21000 r-xp 00000000 fc:01 1195242                    /usr/lib/x86_64-linux-gnu/ld-2.31.so
7f5a51d21000-7f5a51d22000 rwxp 00000000 00:00 0 
7f5a51d22000-7f5a51d23000 r-xp 0002c000 fc:01 1195242                    /usr/lib/x86_64-linux-gnu/ld-2.31.so
7f5a51d23000-7f5a51d24000 rwxp 0002d000 fc:01 1195242                    /usr/lib/x86_64-linux-gnu/ld-2.31.so
7f5a51d24000-7f5a51d25000 rwxp 00000000 00:00 0 
7ffd2f5a1000-7ffd2f5c2000 rwxp 00000000 00:00 0                          [stack]
7ffd2f5e7000-7ffd2f5ea000 r--p 00000000 00:00 0                          [vvar]
7ffd2f5ea000-7ffd2f5eb000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 --xp 00000000 00:00 0                  [vsyscall]

The backtrace with gdb:

gdb --args ./objs/srs -c conf/console.conf
(gdb) bt
#0  run_in_thread_pool () at ./src/main/srs_main_server.cpp:462
#1  0x00005555560d7372 in run_directly_or_daemon () at ./src/main/srs_main_server.cpp:414
#2  0x00005555560d4c1e in do_main (argc=3, argv=0x7fffffffe528, envp=0x7fffffffe548) at ./src/main/srs_main_server.cpp:242
#3  0x00005555560d4f2f in main (argc=3, argv=0x7fffffffe528, envp=0x7fffffffe548) at ./src/main/srs_main_server.cpp:253

(gdb) bt
#0  SrsServerAdapter::run (this=0x602000001010, wg=0x7ffff43b2b50) at ./src/app/srs_app_server.cpp:1377
#1  0x0000555555f8e0e8 in SrsHybridServer::run (this=0x607000000f00) at ./src/app/srs_app_hybrid.cpp:222
#2  0x00005555560d7ea3 in run_hybrid_server () at ./src/main/srs_main_server.cpp:518
#3  0x0000555555f980ee in SrsThreadPool::start (arg=0x60c000000400) at ./src/app/srs_app_threads.cpp:793
#4  0x00007ffff7f9d609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#5  0x00007ffff7b6b133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

(gdb) bt
#0  SrsServer::cycle (this=0x570fcd6e7c210700) at ./src/app/srs_app_server.cpp:863
#1  0x0000555555d54eee in SrsFastCoroutine::cycle (this=0x60e0000072e0) at ./src/app/srs_app_st.cpp:285
#2  0x0000555555d55030 in SrsFastCoroutine::pfn (arg=0x60e0000072e0) at ./src/app/srs_app_st.cpp:300
#3  0x00005555560d8fb2 in _st_thread_main () at sched.c:380
#4  0x00005555560d98d8 in st_thread_create (start=0x555555d5500c <SrsFastCoroutine::pfn(void*)>, arg=0x60e000737200, joinable=1698246705, stk_size=828911667) at sched.c:666
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

(gdb) bt
#0  st_read (fd=0x7ffff34cc840, buf=0x7ffff34cc740, nbyte=140737275283360, timeout=15799937222417039645) at io.c:350
#1  0x0000555555c5f435 in SrsStSocket::read (this=0x607000004fc0, buf=0x7ffff470b800, size=131072, nread=0x7ffff34cc760) at ./src/protocol/srs_protocol_st.cpp:547
#2  0x0000555555cb2cfb in SrsTcpConnection::read (this=0x604000003f50, buf=0x7ffff470b800, size=131072, nread=0x7ffff34cc760) at ./src/app/srs_app_conn.cpp:568
#3  0x0000555555c0545c in SrsFastStream::grow (this=0x606000005480, reader=0x604000003f50, required_size=1) at ./src/protocol/srs_protocol_stream.cpp:161
#4  0x0000555555baaf0c in SrsProtocol::read_basic_header (this=0x611000010300, fmt=@0x7ffff34cc860: 0 '\000', cid=@0x7ffff34cc870: 0) at ./src/protocol/srs_protocol_rtmp_stack.cpp:891
#5  0x0000555555baa7b6 in SrsProtocol::recv_interlaced_message (this=0x611000010300, pmsg=0x7ffff34cc9a0) at ./src/protocol/srs_protocol_rtmp_stack.cpp:797
#6  0x0000555555ba64ea in SrsProtocol::recv_message (this=0x611000010300, pmsg=0x7ffff34cca70) at ./src/protocol/srs_protocol_rtmp_stack.cpp:339
#7  0x0000555555be0857 in SrsProtocol::expect_message<SrsConnectAppPacket> (this=0x611000010300, pmsg=0x7ffff34ccbf0, ppacket=0x7ffff34ccc10) at ./src/protocol/srs_protocol_rtmp_stack.hpp:307
#8  0x0000555555bdaf94 in SrsRtmpServer::expect_message<SrsConnectAppPacket> (this=0x603000008680, pmsg=0x7ffff34ccbf0, ppacket=0x7ffff34ccc10) at ./src/protocol/srs_protocol_rtmp_stack.hpp:773
#9  0x0000555555bbb5de in SrsRtmpServer::connect_app (this=0x603000008680, req=0x615000013900) at ./src/protocol/srs_protocol_rtmp_stack.cpp:2247
#10 0x0000555555ccbabf in SrsRtmpConn::do_cycle (this=0x61200005d340) at ./src/app/srs_app_rtmp_conn.cpp:217
#11 0x0000555555ce25a6 in SrsRtmpConn::cycle (this=0x61200005d340) at ./src/app/srs_app_rtmp_conn.cpp:1609
#12 0x0000555555d54eee in SrsFastCoroutine::cycle (this=0x60e0000080e0) at ./src/app/srs_app_st.cpp:285
#13 0x0000555555d55030 in SrsFastCoroutine::pfn (arg=0x60e0000080e0) at ./src/app/srs_app_st.cpp:300
#14 0x00005555560d8fb2 in _st_thread_main () at sched.c:380
#15 0x00005555560d98d8 in st_thread_create (start=0x604000003fd0, arg=0x7ffff4c25ee0, joinable=1460653422, stk_size=2082539264) at sched.c:666
#16 0x0000555555c59d47 in srs_context_set_cid_of (trd=0x7ffff4c26648, v=...) at ./src/protocol/srs_protocol_log.cpp:91
#17 0x0000555555a579e1 in _SrsContextId::~_SrsContextId (this=0x7ffff4c26298, __in_chrg=<optimized out>) at ./src/core/srs_core.cpp:24
#18 0x0000555555c59eeb in impl_SrsContextRestore::~impl_SrsContextRestore (this=0x7ffff4c26290, __in_chrg=<optimized out>) at ./src/protocol/srs_protocol_log.cpp:101
#19 0x0000555555ca9532 in SrsServer::do_on_tcp_client (this=0x61100000ff40, listener=0x6040000020d0, stfd=@0x7ffff4c263b0: 0xffffe984c94) at ./src/app/srs_app_server.cpp:1149
#20 0x00007ffff4791f20 in ?? ()
#21 0x00007ffff4c26648 in ?? ()
#22 0x00007ffff4c263c0 in ?? ()
#23 0x0000000100000001 in ?? ()
#24 0x570fcd6e7c210700 in ?? ()
#25 0x00007ffff4c263d0 in ?? ()
#26 0x00005555560db1a5 in st_netfd_poll (fd=0x0, how=0, timeout=0) at io.c:249

@winlinvip winlinvip changed the title API: The VmSize of SRS is huge and incorrect. API: The VmSize of SRS is huge and incorrect, if enabled asan. Apr 24, 2024
@winlinvip
Copy link
Member Author

winlinvip commented Apr 24, 2024

Note that I have tried the following actions:

  • Despite setting a breakpoint in main, the VmSize remains 20TB.
  • Disabling multiple threading by --single-thread=on does not change the VmSize.
  • Disable asan by --sanitizer=off, the VmSize returns to normal value, like 32160KB.

So it is caused by libasan, you can disable asan by --sanitizer=off to bypass this issue.

After disabled asan:

ps -u -p $(pidof srs)
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root     3157553  0.4  1.3  40824 27312 pts/0    S+   10:49   0:01 /root/git/srs/trunk/objs/srs -c conf/console.conf
top -p $(pidof srs)
top - 10:54:14 up 144 days, 23:52,  3 users,  load average: 1.40, 0.80, 0.66
Tasks:   1 total,   0 running,   1 sleeping,   0 stopped,   0 zombie
%Cpu(s): 10.0 us,  3.3 sy,  0.0 ni, 86.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   1987.4 total,    234.4 free,   1236.1 used,    516.9 buff/cache
MiB Swap:   1025.0 total,    621.2 free,    403.8 used.    573.2 avail Mem 

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                                                                                        
3157553 root      20   0   40824  27312  13364 S   0.0   1.3   0:01.26 srs
cat /proc/$(pidof srs)/status
Name:	srs
Umask:	0022
State:	S (sleeping)
Tgid:	3157553
Ngid:	0
Pid:	3157553
PPid:	3157549
TracerPid:	3157549
Uid:	0	0	0	0
Gid:	0	0	0	0
FDSize:	64
Groups:	0 
NStgid:	3157553
NSpid:	3157553
NSpgid:	3157553
NSsid:	3113227
VmPeak:	   40848 kB
VmSize:	   40824 kB
VmLck:	       0 kB
VmPin:	       0 kB
VmHWM:	   27312 kB
VmRSS:	   27312 kB
RssAnon:	   13948 kB
RssFile:	   13364 kB
RssShmem:	       0 kB
VmData:	   23184 kB
VmStk:	     132 kB
VmExe:	    9464 kB
VmLib:	    8028 kB
VmPTE:	     100 kB
VmSwap:	       0 kB
HugetlbPages:	       0 kB
CoreDumping:	0
THP_enabled:	1
Threads:	1
SigQ:	0/7729
SigPnd:	0000000000000000
ShdPnd:	0000000000000000
SigBlk:	0000000000000000
SigIgn:	0000000000001000
SigCgt:	0000000180004227
CapInh:	0000000000000000
CapPrm:	0000003fffffffff
CapEff:	0000003fffffffff
CapBnd:	0000003fffffffff
CapAmb:	0000000000000000
NoNewPrivs:	0
Seccomp:	0
Speculation_Store_Bypass:	vulnerable
Cpus_allowed:	3
Cpus_allowed_list:	0-1
Mems_allowed:	00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001
Mems_allowed_list:	0
voluntary_ctxt_switches:	33266
nonvoluntary_ctxt_switches:	78
cat /proc/$(pidof srs)/maps
555555554000-55555608b000 r-xp 00000000 fc:01 1457467                    /root/git/srs/trunk/objs/srs
55555608b000-5555560ea000 r-xp 00b36000 fc:01 1457467                    /root/git/srs/trunk/objs/srs
5555560ea000-5555560f5000 rwxp 00b95000 fc:01 1457467                    /root/git/srs/trunk/objs/srs
5555560f5000-5555563c2000 rwxp 00000000 00:00 0                          [heap]
7ffff66a4000-7ffff7a58000 rwxp 00000000 00:00 0 
7ffff7a58000-7ffff7c40000 r-xp 00000000 fc:01 1195246                    /usr/lib/x86_64-linux-gnu/libc-2.31.so
7ffff7c40000-7ffff7c44000 r-xp 001e7000 fc:01 1195246                    /usr/lib/x86_64-linux-gnu/libc-2.31.so
7ffff7c44000-7ffff7c46000 rwxp 001eb000 fc:01 1195246                    /usr/lib/x86_64-linux-gnu/libc-2.31.so
7ffff7c46000-7ffff7c4a000 rwxp 00000000 00:00 0 
7ffff7c4a000-7ffff7c63000 r-xp 00000000 fc:01 1182614                    /usr/lib/x86_64-linux-gnu/libgcc_s.so.1
7ffff7c63000-7ffff7c64000 r-xp 00018000 fc:01 1182614                    /usr/lib/x86_64-linux-gnu/libgcc_s.so.1
7ffff7c64000-7ffff7c65000 rwxp 00019000 fc:01 1182614                    /usr/lib/x86_64-linux-gnu/libgcc_s.so.1
7ffff7c65000-7ffff7db2000 r-xp 00000000 fc:01 1195856                    /usr/lib/x86_64-linux-gnu/libm-2.31.so
7ffff7db2000-7ffff7db3000 r-xp 0014c000 fc:01 1195856                    /usr/lib/x86_64-linux-gnu/libm-2.31.so
7ffff7db3000-7ffff7db4000 rwxp 0014d000 fc:01 1195856                    /usr/lib/x86_64-linux-gnu/libm-2.31.so
7ffff7db4000-7ffff7f83000 r-xp 00000000 fc:01 1182754                    /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28
7ffff7f83000-7ffff7f84000 ---p 001cf000 fc:01 1182754                    /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28
7ffff7f84000-7ffff7f8f000 r-xp 001cf000 fc:01 1182754                    /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28
7ffff7f8f000-7ffff7f92000 rwxp 001da000 fc:01 1182754                    /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28
7ffff7f92000-7ffff7f95000 rwxp 00000000 00:00 0 
7ffff7f95000-7ffff7fb2000 r-xp 00000000 fc:01 1195867                    /usr/lib/x86_64-linux-gnu/libpthread-2.31.so
7ffff7fb2000-7ffff7fb3000 r-xp 0001c000 fc:01 1195867                    /usr/lib/x86_64-linux-gnu/libpthread-2.31.so
7ffff7fb3000-7ffff7fb4000 rwxp 0001d000 fc:01 1195867                    /usr/lib/x86_64-linux-gnu/libpthread-2.31.so
7ffff7fb4000-7ffff7fb8000 rwxp 00000000 00:00 0 
7ffff7fb8000-7ffff7fbc000 r-xp 00000000 fc:01 1195854                    /usr/lib/x86_64-linux-gnu/libdl-2.31.so
7ffff7fbc000-7ffff7fbd000 r-xp 00003000 fc:01 1195854                    /usr/lib/x86_64-linux-gnu/libdl-2.31.so
7ffff7fbd000-7ffff7fbe000 rwxp 00004000 fc:01 1195854                    /usr/lib/x86_64-linux-gnu/libdl-2.31.so
7ffff7fbe000-7ffff7fc0000 rwxp 00000000 00:00 0 
7ffff7fcb000-7ffff7fce000 r--p 00000000 00:00 0                          [vvar]
7ffff7fce000-7ffff7fcf000 r-xp 00000000 00:00 0                          [vdso]
7ffff7fcf000-7ffff7ffb000 r-xp 00000000 fc:01 1195242                    /usr/lib/x86_64-linux-gnu/ld-2.31.so
7ffff7ffc000-7ffff7ffd000 r-xp 0002c000 fc:01 1195242                    /usr/lib/x86_64-linux-gnu/ld-2.31.so
7ffff7ffd000-7ffff7ffe000 rwxp 0002d000 fc:01 1195242                    /usr/lib/x86_64-linux-gnu/ld-2.31.so
7ffff7ffe000-7ffff7fff000 rwxp 00000000 00:00 0 
7ffffffde000-7ffffffff000 rwxp 00000000 00:00 0                          [stack]
ffffffffff600000-ffffffffff601000 --xp 00000000 00:00 0                  [vsyscall]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
API HTTP-API, HTTP-Callback, etc. Bug It might be a bug. EnglishNative This issue is conveyed exclusively in English.
Projects
None yet
Development

No branches or pull requests

1 participant