Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Print PID holding bootstrap build lock on Linux #107086

Merged
merged 1 commit into from
Jan 26, 2023

Conversation

clubby789
Copy link
Contributor

Partially address #107077

Parse /proc/locks to find the PID of the process which created the build directory lock

@rustbot
Copy link
Collaborator

rustbot commented Jan 19, 2023

r? @Mark-Simulacrum

(rustbot has picked a reviewer for you, use r? to override)

@rustbot rustbot added T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 19, 2023
@albertlarsan68
Copy link
Member

albertlarsan68 commented Jan 20, 2023

What are the stability guarantees on the format of the /proc/locks file ?
I saw there exists an lslocks program that can output json.

@clubby789
Copy link
Contributor Author

I don't know about Linux's stability guarentees here. lslocks would probably be better but I'm not sure if it can be relied upon to be installed, if most distros ship with it by default.

@the8472
Copy link
Member

the8472 commented Jan 21, 2023

What are the stability guarantees on the format of the /proc/locks file ?

The linux proc filesystem is treated as part of the kernel API and kept backwards-compatible since a lot of tools rely on parsing it since is the sole source of that information.
If you strace lslocks you'll see that it uses /proc/locks under the hood.

@albertlarsan68
Copy link
Member

So there is no problem merging that ?
Cc @jyn514

@jyn514
Copy link
Member

jyn514 commented Jan 21, 2023

Seems reasonable, yeah. I'll leave it up to Mark though.

@albertlarsan68
Copy link
Member

Thanks for the PR!
@bors r+
r? @albertlarsan68

@bors
Copy link
Contributor

bors commented Jan 21, 2023

📌 Commit 9806a9e has been approved by albertlarsan68

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 21, 2023
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jan 23, 2023
…, r=albertlarsan68

Print PID holding bootstrap build lock on Linux

Partially address rust-lang#107077

Parse `/proc/locks` to find the PID of the process which created the build directory lock
@clubby789
Copy link
Contributor Author

Failed in rollup due to cfg-related warnings, should be fixed now

@jyn514
Copy link
Member

jyn514 commented Jan 24, 2023

@bors r=albertlarsan68

@bors
Copy link
Contributor

bors commented Jan 24, 2023

📌 Commit 72117ab has been approved by albertlarsan68

It is now in the queue for this repository.

matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jan 25, 2023
…, r=albertlarsan68

Print PID holding bootstrap build lock on Linux

Partially address rust-lang#107077

Parse `/proc/locks` to find the PID of the process which created the build directory lock
bors added a commit to rust-lang-ci/rust that referenced this pull request Jan 26, 2023
…iaskrgr

Rollup of 11 pull requests

Successful merges:

 - rust-lang#106407 (Improve proc macro attribute diagnostics)
 - rust-lang#106960 (Teach parser to understand fake anonymous enum syntax)
 - rust-lang#107085 (Custom MIR: Support binary and unary operations)
 - rust-lang#107086 (Print PID holding bootstrap build lock on Linux)
 - rust-lang#107175 (Fix escaping inference var ICE in `point_at_expr_source_of_inferred_type`)
 - rust-lang#107204 (suggest qualifying bare associated constants)
 - rust-lang#107248 (abi: add AddressSpace field to Primitive::Pointer )
 - rust-lang#107272 (Implement ObjectSafe and WF in the new solver)
 - rust-lang#107285 (Implement `Generator` and `Future` in the new solver)
 - rust-lang#107286 (ICE in new solver if we see an inference variable)
 - rust-lang#107313 (Add Style Team Triagebot config)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 4b51b20 into rust-lang:master Jan 26, 2023
@rustbot rustbot added this to the 1.69.0 milestone Jan 26, 2023
bjorn3 pushed a commit to bjorn3/rust that referenced this pull request Feb 9, 2023
…iaskrgr

Rollup of 11 pull requests

Successful merges:

 - rust-lang#106407 (Improve proc macro attribute diagnostics)
 - rust-lang#106960 (Teach parser to understand fake anonymous enum syntax)
 - rust-lang#107085 (Custom MIR: Support binary and unary operations)
 - rust-lang#107086 (Print PID holding bootstrap build lock on Linux)
 - rust-lang#107175 (Fix escaping inference var ICE in `point_at_expr_source_of_inferred_type`)
 - rust-lang#107204 (suggest qualifying bare associated constants)
 - rust-lang#107248 (abi: add AddressSpace field to Primitive::Pointer )
 - rust-lang#107272 (Implement ObjectSafe and WF in the new solver)
 - rust-lang#107285 (Implement `Generator` and `Future` in the new solver)
 - rust-lang#107286 (ICE in new solver if we see an inference variable)
 - rust-lang#107313 (Add Style Team Triagebot config)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants