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

Fix -Zmeta-stats ICE by giving FileEncoder file read permissions #101014

Merged

Conversation

isikkema
Copy link

Fixes #101001

As far as I can tell, #101001 is caused because the file is being created with write-only permissions here: https://github.com/rust-lang/rust/blob/master/compiler/rustc_serialize/src/opaque.rs#L196

but it is trying to be read here: https://github.com/rust-lang/rust/blob/master/compiler/rustc_metadata/src/rmeta/encoder.rs#L780

This PR attempts to fix this by creating/opening the file with the same permissions as File::create() with the addition of read.

@rustbot rustbot added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Aug 25, 2022
@rust-highfive
Copy link
Collaborator

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @TaKO8Ki (or someone else) soon.

Please see the contribution instructions for more information.

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Aug 25, 2022
@isikkema
Copy link
Author

isikkema commented Sep 7, 2022

r? @klensy

@nnethercote nnethercote assigned nnethercote and unassigned TaKO8Ki Sep 20, 2022
@nnethercote
Copy link
Contributor

I hit this ICE today and I can confirm that this PR fixes it. Please add the suggested comment and then we are good to go.

(It would also be good to have a src/test/ui/ test for this feature, to catch any obvious breakage in the future. But that might be tricky to do if the byte sizes vary on different platforms, so I won't block this PR on that.)

@bors delegate=isikkema

@bors
Copy link
Contributor

bors commented Sep 20, 2022

✌️ @isikkema can now approve this pull request

@isikkema
Copy link
Author

@bors r+ rollup

@bors
Copy link
Contributor

bors commented Sep 20, 2022

📌 Commit a2cb8a4 has been approved by isikkema

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 Sep 20, 2022
notriddle added a commit to notriddle/rust that referenced this pull request Sep 20, 2022
…der-no-read-perms, r=isikkema

Fix -Zmeta-stats ICE by giving `FileEncoder` file read permissions

Fixes rust-lang#101001

As far as I can tell, rust-lang#101001 is caused because the file is being created with write-only permissions here: https://github.com/rust-lang/rust/blob/master/compiler/rustc_serialize/src/opaque.rs#L196

but it is trying to be read here: https://github.com/rust-lang/rust/blob/master/compiler/rustc_metadata/src/rmeta/encoder.rs#L780

This PR attempts to fix this by creating/opening the file with the same permissions as `File::create()` with the addition of read.
bors added a commit to rust-lang-ci/rust that referenced this pull request Sep 20, 2022
Rollup of 12 pull requests

Successful merges:

 - rust-lang#100250 (Manually cleanup token stream when macro expansion aborts.)
 - rust-lang#101014 (Fix -Zmeta-stats ICE by giving `FileEncoder` file read permissions)
 - rust-lang#101958 (Improve error for when query is unsupported by crate)
 - rust-lang#101976 (MirPhase: clarify that linting is not a semantic change)
 - rust-lang#102001 (Use LLVM C-API to build atomic cmpxchg and fence)
 - rust-lang#102008 (Add GUI test for notable traits element position)
 - rust-lang#102013 (Simplify rpitit handling on lower_fn_decl)
 - rust-lang#102021 (some post-valtree cleanup)
 - rust-lang#102027 (rustdoc: remove `docblock` class from `item-decl`)
 - rust-lang#102034 (rustdoc: remove no-op CSS `h1-6 { border-bottom-color }`)
 - rust-lang#102038 (Make the `normalize-overflow` rustdoc test actually do something)
 - rust-lang#102053 (:arrow_up: rust-analyzer)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 3f377d3 into rust-lang:master Sep 20, 2022
@rustbot rustbot added this to the 1.66.0 milestone Sep 20, 2022
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-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
6 participants