Skip to content

Nightly regressed igvm crate and now emits SIGILL at opt-level higher than 1 #136361

Closed
@durin42

Description

@durin42

Code

I tried this code:

durin42/igvm@1880200
cargo +nightly test --release

I expected to see this happen: Tests all pass.

Instead, this happened: Tests die with a SIGILL.

Version it worked on

This works on stable, and also up until b6b8361 (merge of #133324)

Version with regression

b6b8361 breaks, aka the merge of #133324. All nightlies since then show the same behavior.

Backtrace

I don't get one, I assume because it's a crash.

bisect-rustc output:

searched nightlies: from nightly-2025-01-07 to nightly-2025-01-13
regressed nightly: nightly-2025-01-10
searched commit range: a580b5c...8247594
regressed commit: b6b8361

bisected with cargo-bisect-rustc v0.6.8

Host triple: x86_64-unknown-linux-gnu
Reproduce with:

cargo bisect-rustc --start 2025-01-07 --end 2025-01-13 -- test --release

It's plausible to me that one of the crates in here is guilty of some unsafe crimes, but I'm not sure how to prove who's at fault at this point.

@rustbot modify labels: +regression-from-stable-to-nightly -regression-untriaged

Metadata

Metadata

Labels

A-mir-optArea: MIR optimizationsA-mir-opt-GVNArea: MIR opt Global Value Numbering (GVN)C-bugCategory: This is a bug.I-miscompileIssue: Correct Rust code lowers to incorrect machine codeI-unsoundIssue: A soundness hole (worst kind of bug), see: https://en.wikipedia.org/wiki/SoundnessP-criticalCritical priorityS-has-bisectionStatus: A bisection has been found for this issueS-has-mcveStatus: A Minimal Complete and Verifiable Example has been found for this issueT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-nightlyPerformance or correctness regression from stable to nightly.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions