rust-lang / rust-lang/rustc-perf
Panic "could not find header" when running collector on Windows
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 733
- Forks
- 189
- Avg merge
- 10h 52m
- Merged PRs (30d)
- 43
Description
Perf tools (installed from ADK as suggested for Windows 8.1):
C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\xperf.exe
C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\tracelog.exe
Microsoft (R) Windows (R) Performance Analyzer Version 10.0.19041
Microsoft (R) tracelog.exe (10.0.19041.685)
Output from running collector (with some debug logging added):
(Collector has to be run from admin console, otherwise you get other errors like "error: rustc-perf-counters: The instance name passed was not recognized as valid by a WMI data provider".)
.\target\x86_64-pc-windows-msvc\release\collector.exe bench_local "C:\Users\we\.cargo\bin\rustc.exe" 127
Benchmarking 127 for triple x86_64-unknown-linux-gnu
45 benchmarks remaining
Preparing await-call-tree
Running await-call-tree: Check + [Full, IncrFull, IncrUnchanged, IncrPatched]
[1/2] 100.0%
[2/2] 100.0%
[collector\src\etw_parser.rs:163] &h.name = "P-Start"
[collector\src\etw_parser.rs:163] &h.name = "P-Start"
[collector\src\etw_parser.rs:163] &h.name = "P-End"
[collector\src\etw_parser.rs:163] &h.name = "P-Start"
[collector\src\etw_parser.rs:163] &h.name = "P-End"
[collector\src\etw_parser.rs:163] &h.name = "CSwitch"
thread 'main' panicked at 'could not find header: Pmc', collector\src\etw_parser.rs:164:14
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with collector/src/etw_parser.rs around lines 163-164 and reproduce the Windows collector command from the report using the installed ADK performance tools. Trace how ETW headers are collected and why the Pmc header is absent. Done means the collector no longer panics for this Windows setup and the relevant behavior is covered by an appropriate test or verified run.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- performance
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100