Skip to content

Conversation

@ivoanjo
Copy link
Member

@ivoanjo ivoanjo commented Feb 25, 2025

What does this PR do?

This PR will hopefully fix almost all of the the
flakiness
we've seen from the test-memory-leaks GitHub workflow.

The previous "asan" builds we were using were built from ruby-head, which means that any instability or early breakage in ruby-head would make test-memory-leaks fail.

To fix this, I've worked with upstream to create these 3.4-asan builds: these are Ruby builds that are built from the latest 3.4 stable Ruby with asan. Thus any breakages we see in them, should also exist in regular 3.4 builds.

Motivation:

With this change, the test-memory-leaks workflow becomes a lot more valuable, since it's now never expected to fail.

Thus, any failures we see in it are worth investigating.

Change log entry

None.

Additional Notes:

For context, asan (or ASan) is the "AddressSanitizer" tool, see https://github.com/google/sanitizers/wiki/AddressSanitizer for more details.

How to test the change?

Validate that the updated workflow is running on ruby-3.4.2 and that it still has the diagnostic output from asan.

**What does this PR do?**

This PR will hopefully fix almost [all of the the
flakiness](https://github.com/DataDog/dd-trace-rb/pulls?q=is%3Apr+asan)
we've seen from the test-memory-leaks GitHub workflow.

The previous "asan" builds we were using were built from ruby-head,
which means that any instability or early breakage in ruby-head would
make test-memory-leaks fail.

To fix this, I've worked with upstream to create these 3.4-asan builds:
these are Ruby builds that are built **from the latest 3.4 stable Ruby**
with asan. Thus any breakages we see in them, should also exist in
regular 3.4 builds.

**Motivation:**

With this change, the test-memory-leaks workflow becomes a lot more
valuable, since it's now never expected to fail.

Thus, any failures we see in it are worth investigating.

**Additional Notes:**

For context, asan (or ASan) is the "AddressSanitizer" tool, see
https://github.com/google/sanitizers/wiki/AddressSanitizer for more
details.

**How to test the change?**

Validate that the updated workflow is running on ruby-3.4.2 and that
it still has the diagnostic output from asan.
@ivoanjo ivoanjo requested a review from a team as a code owner February 25, 2025 09:32
@github-actions github-actions bot added the dev/github Github repository maintenance and automation label Feb 25, 2025
@ivoanjo ivoanjo added dev/testing Involves testing processes (e.g. RSpec) dev/ci Involves CircleCI, GitHub Actions, or GitLab profiling Involves Datadog profiling dev/internal Other internal work that does not need to be included in the changelog and removed dev/github Github repository maintenance and automation labels Feb 25, 2025
@datadog-datadog-prod-us1
Copy link
Contributor

Datadog Report

Branch report: ivoanjo/prof-11151-stable-asan
Commit report: a652d62
Test service: dd-trace-rb

✅ 0 Failed, 20610 Passed, 1379 Skipped, 3m 17.28s Total Time

@codecov-commenter
Copy link

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 97.71%. Comparing base (4c0614d) to head (a652d62).

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #4434      +/-   ##
==========================================
- Coverage   97.73%   97.71%   -0.02%     
==========================================
  Files        1368     1368              
  Lines       83438    83438              
  Branches     4220     4220              
==========================================
- Hits        81549    81534      -15     
- Misses       1889     1904      +15     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@pr-commenter
Copy link

pr-commenter bot commented Feb 25, 2025

Benchmarks

Benchmark execution time: 2025-02-25 09:59:03

Comparing candidate commit a652d62 in PR branch ivoanjo/prof-11151-stable-asan with baseline commit 4c0614d in branch master.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 31 metrics, 2 unstable metrics.

@ivoanjo ivoanjo merged commit a4eb031 into master Feb 25, 2025
500 checks passed
@ivoanjo ivoanjo deleted the ivoanjo/prof-11151-stable-asan branch February 25, 2025 10:28
@github-actions github-actions bot added this to the 2.12.0 milestone Feb 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dev/ci Involves CircleCI, GitHub Actions, or GitLab dev/internal Other internal work that does not need to be included in the changelog dev/testing Involves testing processes (e.g. RSpec) profiling Involves Datadog profiling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants