Buildbot: tests using asserts and address sanitizer #47
Labels
No Label
Service
Buildbot
Service
Chat
Service
Gitea
Service
Translate
Type
Bug
Type
Config
Type
Deployment
Type
Feature
Type
Setup
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: infrastructure/blender-projects-platform#47
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
These can catch various bugs.
Adding such builds in addition to the current ones requires a lot of extra capacity. However there can also be differences where something works in such builds but not release builds, but perhaps that is rare enough?
The simplest strategy would be to enable this for all non-package builds, and disable it for all package builds. But something better than that may be needed.
In all my time with blender, i'm only aware of a single bug where something worked in asan but not in a non asan build (it was a rare case where we case where we cached a pointer+memblocksize somewhere when we shouldn't have, that got freed, re-allocated and our cache had the wrong size for the new memblock, since asan doesn't re-use addresses that slipped by) think native solution of having it off for Packaged builds, on for all others will suffice just fine.
Depending on the sanatizers we want to enable, it may cause some trouble for Windows based devs since MSVC currently only implements the address sanatizer portion of what we colloquially call asan, leaksanatizer, ubsan etc are currently not implemented. So there may be some "it was passing here locally" incidents, but given how explicit the error messages coming out of asan are, devs can likely just fix the issue from the build logs.
Asserts are now enabled in non-package builds.
There is also a sanitizer build configuration now, next to release and debug. This is only for macOS and Linux. However this is currently failing tests. Build times would also have to be looked at, to see if we can afford the extra overhead.