rust-lang / rust-lang/rust

`*aarch64-msvc*` job logs sometimes become massive

Open
#155,860 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

A-CI A-spurious C-bug O-aarch64-pc-windows-msvc T-bootstrap T-infra
Dominant language
Rust
Stars
119k
Forks
16.2k
PR merge metrics
PR metrics pending

Description

If I download the jobs log for e.g. https://github.com/rust-lang/rust/actions/runs/24973805754/job/73121722739, I notice that the *aarch64-msvc* jobs are massive (approx. 245 MiB give or take). Other jobs are usually 2 orders of magnitude smaller (around a few MiBs).

Key observations:

  • Only happens for *aarch64-msvc*, not *x86_64-msvc*
  • Seems to be a lot of logs when building LLVM
dust -F -r
1.0G └─┬ .                                                    │██████████████████████████████████████████████████████████████████████ │ 100%
247M   ├── 24_auto - aarch64-msvc-1.txt                       │█████████████████                                                      │  23%
244M   ├── 7_auto - aarch64-msvc-2.txt                        │█████████████████                                                      │  23%
243M   ├── 10_auto - dist-aarch64-msvc.txt                    │████████████████                                                       │  23%
 12M   ├── 51_auto - dist-arm-linux-gnueabi.txt               │█                                                                      │   1%
 12M   ├── 80_auto - dist-armv7-linux.txt                     │█                                                                      │   1%
 12M   ├── 78_auto - dist-armhf-linux.txt                     │█                                                                      │   1%
9.0M   ├── 71_auto - dist-i586-gnu-i586-i686-musl.txt         │█                                                                      │   1%
8.6M   ├── 27_auto - test-various.txt                         │█                                                                      │   1%
8.1M   ├── 60_auto - dist-x86_64-linux.txt                    │█                                                                      │   1%
7.8M   ├── 77_auto - aarch64-gnu.txt                          │█                                                                      │   1%
7.7M   ├── 21_auto - aarch64-apple.txt                        │█                                                                      │   1%
7.7M   ├── 56_auto - x86_64-gnu-llvm-21-3.txt                 │█                                                                      │   1%
7.7M   ├── 49_auto - x86_64-gnu-llvm-22-3.txt                 │█                                                                      │   1%
7.1M   ├── 9_auto - dist-x86_64-msvc.txt                      │█                                                                      │   1%
7.0M   ├── 85_auto - dist-aarch64-linux.txt                   │█                                                                      │   1%
6.9M   ├── 50_auto - x86_64-gnu-llvm-21-2.txt                 │█                                                                      │   1%
6.9M   ├── 37_auto - x86_64-gnu-llvm-22-2.txt                 │█                                                                      │   1%
6.5M   ├── 28_auto - x86_64-gnu-nopt.txt                      │█                                                                      │   1%
6.4M   ├── 35_auto - optional-x86_64-gnu-parallel-frontend.txt│█                                                                      │   1%
6.4M   ├── 23_auto - x86_64-gnu-stable.txt                    │█                                                                      │   1%
6.4M   ├── 33_auto - x86_64-gnu.txt                           │█                                                                      │   1%
5.8M   ├── 25_auto - x86_64-msvc-1.txt                        │█                                                                      │   1%
5.7M   ├── 18_auto - i686-msvc-1.txt                          │█                                                                      │   1%
5.6M   ├── 12_auto - x86_64-mingw-1.txt                       │█                                                                      │   1%
5.6M   ├── 43_auto - i686-gnu-nopt-1.txt                      │█                                                                      │   1%
5.6M   ├── 72_auto - i686-gnu-1.txt                           │█                                                                      │   1%
4.7M   ├── 6_auto - aarch64-gnu-llvm-21-1.txt                 │█                                                                      │   0%
4.5M   ├── 82_auto - armhf-gnu.txt                            │█                                                                      │   0%
4.3M   ├── 63_auto - arm-android.txt                          │█                                                                      │   0%
4.3M   └── 54_auto - x86_64-gnu-debug.txt                     │█                                                                      │   0%

What the huge amounts of LLVM build logs look like:

2026-04-27T02:45:26.1438350Z running: "cmake" "--build" "C:\\a\\rust\\rust\\build\\aarch64-pc-windows-msvc\\llvm\\build" "--target" "install" "--config" "Release" "--" "-j" "4"
2026-04-27T02:45:27.9450288Z [1/3993] Building CXX object lib\Demangle\CMakeFiles\LLVMDemangle.dir\Demangle.cpp.obj
2026-04-27T02:45:27.9451762Z Note: including file: C:\a\rust\rust\src\llvm-project\llvm\include\llvm/Demangle/Demangle.h
2026-04-27T02:45:27.9452384Z Note: including file:  C:\a\rust\rust\src\llvm-project\llvm\include\llvm/Demangle\DemangleConfig.h
2026-04-27T02:45:27.9453070Z Note: including file:   C:\a\rust\rust\build\aarch64-pc-windows-msvc\llvm\build\include\llvm/Config/llvm-config.h
2026-04-27T02:45:27.9454351Z Note: including file:   C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\include\cassert
2026-04-27T02:45:27.9455233Z Note: including file:    C:\a\rust\rust\citools\clang-rust\lib\clang\20\include\yvals_core.h
2026-04-27T02:45:27.9456341Z Note: including file:     C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\include\yvals_core.h
2026-04-27T02:45:27.9457192Z Note: including file:      C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\include\vcruntime.h
2026-04-27T02:45:27.9457987Z Note: including file:       C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\include\sal.h
2026-04-27T02:45:27.9459246Z Note: including file:        C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\include\concurrencysal.h
2026-04-27T02:45:27.9459977Z Note: including file:       C:\a\rust\rust\citools\clang-rust\lib\clang\20\include\vadefs.h
2026-04-27T02:45:27.9460934Z Note: including file:        C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\include\vadefs.h
2026-04-27T02:45:27.9461787Z Note: including file:      C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\include\xkeycheck.h
2026-04-27T02:45:27.9462506Z Note: including file:    C:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt\assert.h
2026-04-27T02:45:27.9463115Z Note: including file:     C:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt\corecrt.h
2026-04-27T02:45:27.9463844Z Note: including file:  C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\include\cstddef
2026-04-27T02:45:27.9464933Z Note: including file:   C:\a\rust\rust\citools\clang-rust\lib\clang\20\include\yvals_core.h
2026-04-27T02:45:27.9465501Z Note: including file:   C:\a\rust\rust\citools\clang-rust\lib\clang\20\include\stddef.h
2026-04-27T02:45:27.9466617Z Note: including file:    C:\a\rust\rust\citools\clang-rust\lib\clang\20\include\__stddef_header_macro.h
2026-04-27T02:45:27.9467527Z Note: including file:    C:\a\rust\rust\citools\clang-rust\lib\clang\20\include\__stddef_ptrdiff_t.h
2026-04-27T02:45:27.9468217Z Note: including file:    C:\a\rust\rust\citools\clang-rust\lib\clang\20\include\__stddef_size_t.h
2026-04-27T02:45:27.9469217Z Note: including file:    C:\a\rust\rust\citools\clang-rust\lib\clang\20\include\__stddef_wchar_t.h
2026-04-27T02:45:27.9469828Z Note: including file:    C:\a\rust\rust\citools\clang-rust\lib\clang\20\include\__stddef_null.h
2026-04-27T02:45:27.9470896Z Note: including file:    C:\a\rust\rust\citools\clang-rust\lib\clang\20\include\__stddef_nullptr_t.h
2026-04-27T02:45:27.9471526Z Note: including file:    C:\a\rust\rust\citools\clang-rust\lib\clang\20\include\__stddef_max_align_t.h
2026-04-27T02:45:27.9472522Z Note: including file:    C:\a\rust\rust\citools\clang-rust\lib\clang\20\include\__stddef_offsetof.h
2026-04-27T02:45:27.9473280Z Note: including file:   C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\include\xtr1common
2026-04-27T02:45:27.9473972Z Note: including file:    C:\a\rust\rust\citools\clang-rust\lib\clang\20\include\yvals_core.h
2026-04-27T02:45:27.9474655Z Note: including file:  C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\include\optional
2026-04-27T02:45:27.9475689Z Note: including file:   C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\include\yvals.h
2026-04-27T02:45:27.9476603Z Note: including file:    C:\a\rust\rust\citools\clang-rust\lib\clang\20\include\yvals_core.h
2026-04-27T02:45:27.9477532Z Note: including file:    C:\Program Files (x86)\Windows Kits\10\include\10.0.26100.0\ucrt\crtdbg.h
2026-04-27T02:45:27.9478291Z Note: including file:     C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\include\vcruntime_new_debug.h
2026-04-27T02:45:27.9479155Z Note: including file:      C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\include\vcruntime_new.h
2026-04-27T02:45:27.9480302Z Note: including file:    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\include\crtdefs.h
2026-04-27T02:45:27.9481097Z Note: including file:    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\include\use_ansi.h
2026-04-27T02:45:27.9482040Z Note: including file:   C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\include\exception
2026-04-27T02:45:27.9482835Z Note: including file:    C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked GitHub Actions job log and compare the aarch64-msvc and x86_64-msvc LLVM build output, especially the CMake invocation and verbose include tracing. Trace that behavior into the repository's CI and LLVM build configuration; done means aarch64-msvc jobs no longer emit unexpectedly massive LLVM logs without losing necessary build diagnostics.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, github-actions, rust
Domain
build-system, ci-cd, compilers
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.