Skip to content

hits llvm assertion "Cannot start a running timer" when timing passes #53136

Open
@matthiaskrgr

Description

@matthiaskrgr

build config:

--- config.toml.example 2018-08-06 21:33:10.482203459 +0200
+++ config.toml 2018-08-06 21:33:07.098838544 +0200
@@ -25,7 +25,7 @@
 #release-debuginfo = false
 # Indicates whether the LLVM assertions are enabled or not
-#assertions = false
+assertions = true
 # Indicates whether ccache is used when building LLVM
 #ccache = false
@@ -253,7 +253,7 @@
 # Whether or not debug assertions are enabled for the compiler and standard
 # library. Also enables compilation of debug! and trace! logging macros.
-#debug-assertions = false
+debug-assertions = true
 # Whether or not debuginfo is emitted
 #debuginfo = false

I built llvm with assertions enabled and debug assertions.
When building projects with RUSTFLAGS="-Ztime-passes -Ztime-llvm-passes" I often hit an assertion:

rustc: /home/matthias/RUST/rust_build/src/llvm/lib/Support/Timer.cpp:135: void llvm::Timer::startTimer(): Assertion `!Running && "Cannot start a running timer"' failed.
    time: 0.125; rss: 142MB LTO passes
error: Could not compile `num-traits`.
warning: build failed, waiting for other jobs to finish...
    time: 0.039; rss: 142MB codegen passes [build_script_build1-efc1c31eeff815f1eaec24de83c99086.rs]
    time: 0.322; rss: 147MB LTO passes
    time: 0.102; rss: 148MB LTO passes
rustc: /home/matthias/RUST/rust_build/src/llvm/lib/Support/Timer.cpp:135: void llvm::Timer::startTimer(): Assertion `!Running && "Cannot start a running timer"' failed.
error: Could not compile `version_check`.
warning: build failed, waiting for other jobs to finish...
    time: 0.103; rss: 143MB LTO passes
    time: 0.032; rss: 143MB LTO passes
rustc: /home/matthias/RUST/rust_build/src/llvm/lib/Support/Timer.cpp:135: void llvm::Timer::startTimer(): Assertion `!Running && "Cannot start a running timer"' failed.
error: Could not compile `num-integer`.

https://github.com/rust-lang/llvm/blob/rust-llvm-release-7-0-0-v2/lib/Support/Timer.cpp#L135

It looks like the assertion is triggered by one of the -Ztime-passes -Ztime-llvm-passes flags

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions