-
-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
I want to use gperf for memory leak detection, but SRS keeps crashing. #2247
Comments
valgrind can be used, but gperf-gmc cannot be used.
|
I also encountered the same problem. When calling destroy() in SrsServer, the errno printed by st_thread_join called in srs_freep(trd_) is EDEADLK.
|
Reproduced the issue, on Mac:
Then start SRS and enable GMC:
Press
View the system's console log:
Crash code
The reason is that in the coroutine of the Server, the cycle called destroy to destroy itself:
Of course, a coroutine cannot destroy itself, as it would result in trying to join itself, which would fail. There is no problem with 3.0 because previously there was no coroutine started, and the function was directly called in the main coroutine. After the modification, it is working fine.
|
User Manual: GCP GCPPerformance optimization, execute command:
Output:
GMDCheck for memory overflows and wild pointers, command:
If there is an overflow (which is not normal), an error will occur at the overflow location.
|
Currently, GMC has not been set up yet. It is recommended to use valgrind to check for memory leaks first. GMCCheck for memory leaks, command:
Output:
|
Postpone to 5.0, because it's not a block issue, and seems existing bug gperftools/gperftools#265 |
Now we switched to asan, see #3216 |
Description'
Please ensure that the markdown structure is maintained.
SRS version:
4.0.84
and it seems to be the same for the 4.0 series.The SRS log is as follows:
The SRS configuration is as follows:
Replay
How to replay bug?
1.configure --with-gb28181 --with-gperf --with-gmc && make
Steps to reproduce the bug:
kill -10 reopen
to use GMC.Expected behavior:
Under GMC, it should end normally and check the content of GMC memory detection.
Expected outcome:
Please describe your expectation.
TRANS_BY_GPT3
The text was updated successfully, but these errors were encountered: