GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — gh-111758: Run UBSan in GitHub Actions by encukou · Pull Request #135578 · python/cpython

Conversation

@encukou

@encukou encukou commented Jun 16, 2025 •
edited by bedevere-app Bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

This adds a --with-undefined-behavior-sanitizer CI run, modeled after the TSan one.

The runtime should be less than 13 minutes, well below Windows runs.

  • Issue: CI should run Undefined Behavior Sanitizer (UBSAN), as already done for ASAN #111758

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
encukou added 2 commits June 16, 2025 15:54
@encukou
Add UBSan to GHA build
27d31f3
@encukou
Don't recover
b38afc9
@encukou
encukou requested review from AA-Turner, ezio-melotti and hugovk as code owners June 16, 2025 16:23
@bedevere-app bedevere-app Bot added the awaiting core review label Jun 16, 2025
@bedevere-app bedevere-app Bot mentioned this pull request Jun 16, 2025
CI should run Undefined Behavior Sanitizer (UBSAN), as already done for ASAN #111758
Closed
@encukou encukou added the skip news label Jun 16, 2025
thesamesam
thesamesam reviewed Jun 16, 2025
View reviewed changes
Comment thread .github/workflows/reusable-ubsan.yml Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread .github/workflows/reusable-ubsan.yml Resolved

Uh oh!

There was an error while loading. Please reload this page.

encukou added 3 commits June 17, 2025 08:46
@encukou
UBSan, not TSan
5bc492b
@encukou
Use UBSAN_OPTIONS
53d49aa
@encukou
Activate UBSan log after configuration
34b644c
hugovk
hugovk reviewed Jun 17, 2025
View reviewed changes

@hugovk hugovk left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's a lot of duplicate boilerplate in reusable-tsan.yml and reusable-ubsan.yml, we can combine them into a single reusable workflow, and reduce future maintenance.

Something like this: hugovk@39f6c91

Note this is from this morning, and doesn't include your three recent commits.

I'm also happy to do this in a followup if you prefer.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread .github/workflows/reusable-ubsan.yml Resolved

Uh oh!

There was an error while loading. Please reload this page.

@encukou @hugovk
Update .github/workflows/reusable-ubsan.yml
5767846
Co-authored-by: Hugo van Kemenade <[email protected]>
@encukou

encukou commented Jun 17, 2025

Copy link
Copy Markdown
Member Author

I'm also happy to do this in a followup if you prefer.

Yes, I think it's better as a follow-up. Maybe in a week or so, to let the job settle down? It's easier to edit an independent copy :)
Thank you for starting on it though!

hugovk reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

hugovk
hugovk reviewed Jun 17, 2025
View reviewed changes
Comment thread .github/workflows/reusable-ubsan.yml
uses: actions/cache@v4
with:
path: config.cache
key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ inputs.config_hash }}

@hugovk hugovk Jun 17, 2025

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the configure failure:

https://github.com/python/cpython/actions/runs/15706865183/job/44254688889?pr=135578

is because this key is identical to the one in reusable-tsan.yml, so let's add ubsan or something in here:

Suggested change
key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ inputs.config_hash }}
key: ${{ github.job }}-ubsan-${{ env.IMAGE_OS_VERSION }}-${{ inputs.config_hash }}

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@encukou encukou Jun 17, 2025 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ubsan is part of github.job. It's using a cache from before I added the latest commits.
I removed that cache and will restart the job. (GitHub will allow that after all the other ones finish).

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

hugovk reacted with thumbs up emoji
All reactions
  • 👍 1 reaction
@encukou
Merge branch 'main' into gha-ubsan
f086fcb
@encukou
encukou merged commit 7a20c72 into python:main Jun 19, 2025
@bedevere-app bedevere-app Bot removed the awaiting core review label Jun 19, 2025
lkollar pushed a commit to lkollar/cpython that referenced this pull request Jun 19, 2025
@encukou @hugovk @lkollar
pythongh-111758: Run UBSan in GitHub Actions (pythonGH-135578)
a8d54c9
Co-authored-by: Hugo van Kemenade <[email protected]>
Pranjal095 pushed a commit to Pranjal095/cpython that referenced this pull request Jul 12, 2025
@encukou @hugovk @Pranjal095
pythongh-111758: Run UBSan in GitHub Actions (pythonGH-135578)
e288c17
Co-authored-by: Hugo van Kemenade <[email protected]>
@webknjaz webknjaz mentioned this pull request Jul 19, 2025
GH-111758: Merge TSan and UBSan reusable GHA workflows #136820
Merged
taegyunkim pushed a commit to taegyunkim/cpython that referenced this pull request Aug 4, 2025
@encukou @hugovk @taegyunkim
pythongh-111758: Run UBSan in GitHub Actions (pythonGH-135578)
78a9778
Co-authored-by: Hugo van Kemenade <[email protected]>
Agent-Hellboy pushed a commit to Agent-Hellboy/cpython that referenced this pull request Aug 19, 2025
@encukou @hugovk @Agent-Hellboy
pythongh-111758: Run UBSan in GitHub Actions (pythonGH-135578)
b4cff88
Co-authored-by: Hugo van Kemenade <[email protected]>
@thesamesam thesamesam mentioned this pull request Apr 6, 2026
gh-148286: Fail on new UB in CI #148168
Merged
@encukou
encukou deleted the gha-ubsan branch April 9, 2026 08:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@hugovk hugovk hugovk left review comments
@ezio-melotti ezio-melotti Awaiting requested review from ezio-melotti ezio-melotti is a code owner
@AA-Turner AA-Turner Awaiting requested review from AA-Turner AA-Turner is a code owner
+1 more reviewer
@thesamesam thesamesam thesamesam left review comments
Reviewers whose approvals may not affect merge requirements

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

skip news

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

3 participants

@encukou @hugovk @thesamesam
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.