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

miri: fix ICE with symbolic alignment check on extern static #120683

Merged
merged 1 commit into from Feb 6, 2024

Conversation

RalfJung
Copy link
Member

@RalfJung RalfJung commented Feb 5, 2024

Fixes rust-lang/miri#3288. Also fixes this example.

This could almost be a Miri PR, except for that typo fix in the validator. I started this as a rustc patch since I thought I need rustc changes, and now it'd be too annoying to turn this into a Miri PR...

r? @oli-obk

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Feb 5, 2024
@rustbot
Copy link
Collaborator

rustbot commented Feb 5, 2024

The Miri subtree was changed

cc @rust-lang/miri

Some changes occurred to the CTFE / Miri engine

cc @rust-lang/miri

@@ -383,7 +383,7 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriInterpCxExt<'mir, 'tcx> {
// will never cause UB on the pointer itself.
let (_, _, kind) = this.get_alloc_info(*alloc_id);
if matches!(kind, AllocKind::LiveData) {
let alloc_extra = this.get_alloc_extra(*alloc_id).unwrap();
let alloc_extra = this.get_alloc_extra(*alloc_id)?; // can still fail for `extern static`
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This might have been an ICE waiting to happen, but it didn't seem worth trying to craft a testcase.

@rust-log-analyzer

This comment has been minimized.

@oli-obk
Copy link
Contributor

oli-obk commented Feb 6, 2024

@bors r+ rollup

@bors
Copy link
Contributor

bors commented Feb 6, 2024

📌 Commit a2b5e01 has been approved by oli-obk

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 Feb 6, 2024
@rust-log-analyzer

This comment has been minimized.

@RalfJung
Copy link
Member Author

RalfJung commented Feb 6, 2024

@bors r-

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Feb 6, 2024
@RalfJung
Copy link
Member Author

RalfJung commented Feb 6, 2024

@bors r=oli-obk

@bors
Copy link
Contributor

bors commented Feb 6, 2024

📌 Commit 25635b9 has been approved by oli-obk

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-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Feb 6, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 6, 2024
…iaskrgr

Rollup of 12 pull requests

Successful merges:

 - rust-lang#120520 (Some cleanups around diagnostic levels.)
 - rust-lang#120575 (Simplify codegen diagnostic handling)
 - rust-lang#120597 (Suggest `[tail @ ..]` on `[..tail]` and `[...tail]` where `tail` is unresolved)
 - rust-lang#120602 (rustc_monomorphize: fix outdated comment in partition)
 - rust-lang#120609 (hir: Stop keeping prefixes for most of `use` list stems)
 - rust-lang#120631 (Emit a diagnostic for invalid target options)
 - rust-lang#120632 (For E0223, suggest associated functions that are similar to the path)
 - rust-lang#120670 (cleanup effect var handling)
 - rust-lang#120673 (rustc_metadata: fix typo)
 - rust-lang#120683 (miri: fix ICE with symbolic alignment check on extern static)
 - rust-lang#120690 (Remove b-naber from the compiler review rotation)
 - rust-lang#120713 (Make async closures test use async bound modifier)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 6908d3e into rust-lang:master Feb 6, 2024
11 checks passed
@rustbot rustbot added this to the 1.78.0 milestone Feb 6, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Feb 6, 2024
Rollup merge of rust-lang#120683 - RalfJung:symbolic-alignment-ice, r=oli-obk

miri: fix ICE with symbolic alignment check on extern static

Fixes rust-lang/miri#3288. Also fixes [this example](https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=38ee338ff10726be72bdd6efa3386763).

This could almost be a Miri PR, except for that typo fix in the validator. I started this as a rustc patch since I thought I need rustc changes, and now it'd be too annoying to turn this into a Miri PR...

r? `@oli-obk`
@RalfJung RalfJung deleted the symbolic-alignment-ice branch February 8, 2024 06:55
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
Development

Successfully merging this pull request may close these issues.

ICE: InterErrorInfo / Unsupported with -Zmiri-symbolic-alignment-check
5 participants