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

ci: prevent segfaults in ci_visibility Python 3.8 tests #12291

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

brettlangdon
Copy link
Member

This change prevents a segfault coming from zope.interface when running the ci_visibility test suite under Python 3.8

This issue was found during the PR #12243. It is unclear why that PR surfaces the issue, but the extracted segfault traceback is showing zope.interface._compat._c_optimizations_available as the trigger for the segfault.

The fix to work around this issue is to set the PURE_PYTHON=1 environment variable which will tell zope.interface to not use this c extension at all.

Example segfault from CI

Checklist

  • PR author has checked that all the criteria below are met
  • The PR description includes an overview of the change
  • The PR description articulates the motivation for the change
  • The change includes tests OR the PR description describes a testing strategy
  • The PR description notes risks associated with the change, if any
  • Newly-added code is easy to change
  • The change follows the library release note guidelines
  • The change includes or references documentation updates if necessary
  • Backport labels are set (if applicable)

Reviewer Checklist

  • Reviewer has checked that all the criteria below are met
  • Title is accurate
  • All changes are related to the pull request's stated goal
  • Avoids breaking API changes
  • Testing strategy adequately addresses listed risks
  • Newly-added code is easy to change
  • Release note makes sense to a user of the library
  • If necessary, author has acknowledged and discussed the performance implications of this PR as reported in the benchmarks PR comment
  • Backport labels are set in a manner that is consistent with the release branch maintenance policy

@brettlangdon brettlangdon added the changelog/no-changelog A changelog entry is not required for this PR. label Feb 12, 2025
@brettlangdon brettlangdon requested a review from a team as a code owner February 12, 2025 01:50
Copy link
Contributor

CODEOWNERS have been resolved as:

riotfile.py                                                             @DataDog/apm-python

@datadog-dd-trace-py-rkomorn
Copy link

Datadog Report

Branch report: brettlangdon/ci.viz.segfaults
Commit report: 2902682
Test service: dd-trace-py

✅ 0 Failed, 130 Passed, 1184 Skipped, 4m 25.98s Total duration (26m 28.86s time saved)

@codecov-commenter
Copy link

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 12.67%. Comparing base (eebffbf) to head (2902682).

Additional details and impacted files
@@           Coverage Diff           @@
##             main   #12291   +/-   ##
=======================================
  Coverage   12.67%   12.67%           
=======================================
  Files        1376     1376           
  Lines      135399   135399           
=======================================
  Hits        17162    17162           
  Misses     118237   118237           

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changelog/no-changelog A changelog entry is not required for this PR.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants