-
Notifications
You must be signed in to change notification settings - Fork 283
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
Sanitization and Fuzzing #458
Comments
What sort of thing did you have in mind?
…
On 5 Nov 2024 at 00:39, Hugo Melder ***@***.***> wrote:
It would be great to run address and ub sanitisation during testing in CI.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>
|
Address sanitization greatly helps to reduce memory errors and time spend debugging them. Running the unit tests with CI is a good start as we already have decent code coverage. However, I've just noticed that we leak a lot of memory that we don't cleanup before program exit, which results in ASAN being triggered in nearly every ObjC program compiled with GNUstep. There is an ignore list we can use. Here is a patch to get ASAN working for projects using GNUstep Make: gnustep/tools-make#47. |
I updated that adding en environment variable setting GS_WITH_ASAN=1 to turn it on. |
Thank you very much. I can help you with that. |
I spent about 8 days getting most of the base library tests to pass. That's mostly(say 95%) fixing leaks in the testcases (previously there was no incentive to avoid leaking memory in a short-running test), but also quite a few issues in the base library. The remaining issues are with some of the code I'm least familiar with: |
`I spent all yesterday tracking down and fixing the issues that were causing leaks in NSURLConnection tests. |
Changed GS_WITH_ASAN to be GNUSTEP_WITH_ASAN Testcases for NSURLSession and the NSXMLNode classes still fail. |
It would be great to run address and ub sanitisation during testing in CI.
The text was updated successfully, but these errors were encountered: