Skip to content

DAOS-18626 ci: Add UBSan report parser (SARIF + job summary) - #19103

Draft
knard38 wants to merge 1 commit into
masterfrom
ckochhof/dev/master/daos-18626/patch-007
Draft

knard38 wants to merge 1 commit into
masterfrom
ckochhof/dev/master/daos-18626/patch-007

Conversation

@knard38

@knard38 knard38 commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

TODO

Steps for the author:

  • Commit message follows the guidelines.
  • Appropriate Features or Test-tag pragmas were used.
  • Appropriate Functional Test Stages were run.
  • At least two positive code reviews including at least one code owner from each category referenced in the PR.
  • Testing is complete. If necessary, forced-landing label added and a reason added in a comment.

After all prior steps are complete:

  • Gatekeeper requested (daos-gatekeeper added as a reviewer).

Add utils/ci/parse_ubsan_reports.py, which parses
UndefinedBehaviorSanitizer ubsan.<pid> log files (produced with
UBSAN_OPTIONS="log_path=<dir>/ubsan:exitcode=42:print_stacktrace=1")
and emits:

- A SARIF 2.1.0 file for upload to the GitHub Security / Code scanning
  tab, using the shared helpers from sanitizer_report_base.py.
- A Markdown job-summary table (test, error type, location,
  description), deduplicated by (error_type, file, line) since
  halt_on_error=1 means the same bug can otherwise be reported once per
  test binary that triggers it, plus a collapsible per-report details
  section with the raw captured log.

Unlike ASan/TSan, UBSan reports also carry a top-level violation-site
file/line/column (in addition to an optional stack trace when
print_stacktrace=1 is set), handled by this parser's own resolve_paths().

Not yet invoked by any workflow or script. Part of the DAOS-18626 ASan
CI split (see ckochhof/dev/master/daos-18626/patch-001 for the
original, unsplit commit).

Signed-off-by: Cedric Koch-Hofer <cedric.koch-hofer@hpe.com>
@knard38 knard38 self-assigned this Sep 17, 2026
@github-actions

Copy link
Copy Markdown

Ticket title is 'Add ASan/UBSan/TSan sanitizer checks to the GitHub Actions unit-test CI'
Status is 'In Progress'
https://daosio.atlassian.net/browse/DAOS-18626

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants