Skip to content

build(deps): update coretrace-stack-analyzer to v0.23.1 - #194

Merged
SizzleUnrlsd merged 2 commits into
mainfrom
build/169-update-stack-analyzer
Oct 16, 2026
Merged

SizzleUnrlsd merged 2 commits into
mainfrom
build/169-update-stack-analyzer

Conversation

@SizzleUnrlsd

@SizzleUnrlsd SizzleUnrlsd commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

What and why

Updates coretrace-stack-analyzer from v0.22.0 to v0.23.1. v0.22.0 takes 30 minutes to analyze CoreTrace's own code in an unoptimized build, and v0.23.1 takes 5. The gain comes from CoreTrace/coretrace-stack-analyzer#187, which computes the ownership summaries with fewer solves and rounds; the measurements are in CoreTrace/coretrace-stack-analyzer#227.

v0.23.1 is v0.23.0 plus one fix. v0.23.0 does not build with AppleClang 15, the compiler of the macos-14 runner: the first push of this pull request failed there (CoreTrace/coretrace-stack-analyzer#228). v0.23.1 is cut from the analyzer's release/v0.23 branch. Its main also updates coretrace-compiler to v0.10.0, and CoreTrace refuses to configure with it while the concurrency analyzer stays on 866fa76 (cmake/concurrencyAnalyzer.cmake:45).

The bridge (src/Process/Tools/StackAnalyzerToolImplementation.cpp) needs no change: the report format is unchanged, and rule identifiers pass through as they are.

Closes #169

How it was tested

ctrace --compile-commands <CoreTrace's 22 translation units> --invoke ctrace_stack_analyzer, with a fresh cache and one run at a time:

Build v0.22.0 v0.23.x
Linux x86_64, no build type (the README's commands) 29 min 39 s 5 min 18 s
Linux x86_64, Release 3 min 16 s 1 min 33 s
macOS arm64, Release, -Werror removed from the database — 1 min 13 s

These runs used the analyzer at 0668fb8 (v0.23.0); v0.23.1 only changes how one lambda captures a variable. On macOS, -Werror has to be removed from the database: otherwise both versions stop on src/App/Config.cpp, on a deprecation warning that only the analyzer's libc++ emits (CoreTrace/coretrace-stack-analyzer#214, not fixed by this update).

With v0.23.1, on macOS arm64 (AppleClang 17, LLVM 20), Release:

  • ctest --test-dir build --output-on-failure: 77/77;
  • F7 harness: passes;
  • ./scripts/format-check.sh (clang-format 20) and scripts/release/check-pinned-dependencies.sh pass.

With v0.23.0, ctest (77/77) and the F7 harness also pass on Linux. AppleClang 15 is checked by CI's macos-14 job.

On CoreTrace's own code, the diagnostics go from 70 infos and 3 warnings to 67 infos and 7 warnings:

There is no new test: the defect was the running time, and the test policy keeps tests independent of timing. The existing tests cover the bridge.

Checklist

  • The title is an English Conventional Commit, such as fix(cli): handle missing input.
  • Tests cover the change (see the test policy). No new test: see above.
  • ctest --test-dir build --output-on-failure passes.
  • ./scripts/format-check.sh passes.
  • The README, docs/ or the help text follow the change, if users see it.

v0.22.0 took 30 minutes to analyze CoreTrace's own 22 translation units in an unoptimized build (3 minutes in Release); v0.23.0 takes 5 (1.5 in Release). The gain is coretrace-stack-analyzer#187, which computes the ownership summaries with fewer solves and rounds. It also drops v0.22.0's false positives on string_view parameters passed by value. The bridge needs no change.

Closes #169
v0.23.0 does not build with AppleClang 15, the compiler of the macos-14 runner: a lambda captures a structured binding (coretrace-stack-analyzer#228). v0.23.1 is v0.23.0 with that capture fixed, cut from the analyzer's release/v0.23 branch so that coretrace-compiler stays on the commit the concurrency analyzer uses.

Refs #169
@SizzleUnrlsd SizzleUnrlsd changed the title build(deps): update coretrace-stack-analyzer to v0.23.0 build(deps): update coretrace-stack-analyzer to v0.23.1 Oct 15, 2026
@SizzleUnrlsd
SizzleUnrlsd merged commit 3be8f31 into main Oct 16, 2026
8 checks passed
@SizzleUnrlsd
SizzleUnrlsd deleted the build/169-update-stack-analyzer branch October 16, 2026 12:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore Build, CI, refactoring and other maintenance

Projects

None yet

Development

Successfully merging this pull request may close these issues.

build(deps): update coretrace-stack-analyzer past v0.22.0, which does not finish on CoreTrace's own code

1 participant