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

Build and test the project with sanitizers enabled #3754

Open
mathbunnyru opened this issue Jan 16, 2025 · 3 comments
Open

Build and test the project with sanitizers enabled #3754

mathbunnyru opened this issue Jan 16, 2025 · 3 comments

Comments

@mathbunnyru
Copy link
Contributor

We have options to enable sanitizers in libmamba.

It would be nice:

  • to run sanitized builds for gcc/clang under linux/macOS in CI
  • make these sanitizer options global (not just for libmamba, but for the whole project) - there is a C++ code in micromamba and libmambapy as well, so we might have some bugs there as well

Just having these options unfortunately doesn't prevent us from bugs and they are much more difficult to fix over time.

@mathbunnyru
Copy link
Contributor Author

@jjerphan I actually think this change is super beneficial in the long run.
And it will probably require deep level of understanding the project, because bugs might be everywhere in the repo.

So, if someone wants to work on this, it would be great.

@jjerphan
Copy link
Member

Yes, I agree this would be beneficial and I am in favor of it. Feel free to work on it if you want to.

For now, we are focused on addressing issues after the 2.0 release.

@Klaim
Copy link
Member

Klaim commented Jan 16, 2025

Note that this was already the intent for a while but the blocking issue is that sanitizers will either not work or report false-positives because of dependencies not being built with sanitizers or with debug info. Our dependencies come from conda packages which are exclusively "release" kind of builds so that doesnt work. What would work is to have a separate set of builds not using conda packages, with dependencies built from sources with sanitizers enabled, therefore probably vcpkg-based. That can also lead to an invisible divergence between how conda dependencies are built and vcpkgs. So the other solution is to have sanitizer builds of conda packages (or maybe just debug would work? not sure on windows). Both solutions are not really trivial.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants