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

Compilation regression on nightly with i686-unknown-linux-gnu #111777

Open
carllerche opened this issue May 20, 2023 · 5 comments
Open

Compilation regression on nightly with i686-unknown-linux-gnu #111777

carllerche opened this issue May 20, 2023 · 5 comments
Labels
C-bug Category: This is a bug. O-x86_32 Target: x86 processors, 32 bit (like i686-*) P-low Low priority regression-from-stable-to-stable Performance or correctness regression from one stable version to another. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@carllerche
Copy link
Member

An existing Tokio test started to fail with a stack overflow when updating nightly on target i686-unknown-linux-gnu

https://github.com/tokio-rs/tokio/actions/runs/5029230797/jobs/9020678779?pr=5706

Code

This test started failing on the latest nightly:

https://github.com/tokio-rs/tokio/blob/master/tokio/src/sync/mpsc/block.rs#L433-L448

To run the test, from the tokio directory in the Tokio repo:

cross +nightly test --all-features --target i686-unknown-linux-gnu --lib mpsc::block -- --nocapture

Version it worked on

Version 1.69

Version with regression

rustc 1.71.0-nightly (d3f416d 2023-05-18)

@carllerche carllerche added C-bug Category: This is a bug. regression-untriaged Untriaged performance or correctness regression. labels May 20, 2023
@rustbot rustbot added the I-prioritize Issue: Indicates that prioritization has been requested for this issue. label May 20, 2023
@carllerche
Copy link
Member Author

The overflow happens here: https://github.com/tokio-rs/tokio/blob/master/tokio/src/sync/mpsc/block.rs#L415

if_loom! expands to:

const LOOM: bool = false;

if LOOM {
    $($t)*
}

@Noratrieb
Copy link
Member

Noratrieb commented May 20, 2023

probably because of const prop, @cjgillot @oli-obk
#109900

@apiraino
Copy link
Contributor

WG-prioritization assigning priority (Zulip discussion).

@rustbot label -I-prioritize +P-high +T-compiler

@rustbot rustbot added P-high High priority T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. and removed I-prioritize Issue: Indicates that prioritization has been requested for this issue. labels May 21, 2023
@oli-obk
Copy link
Contributor

oli-obk commented May 21, 2023

I'm assuming this only happens in debug mode. As mentioned by Nils, #109900 caused some functions to use more stack memory in debug mode due to not eliminating some dead code anymore.

@oli-obk oli-obk added P-low Low priority regression-from-stable-to-nightly Performance or correctness regression from stable to nightly. and removed P-high High priority regression-untriaged Untriaged performance or correctness regression. labels May 22, 2023
@Noratrieb Noratrieb added O-x86_32 Target: x86 processors, 32 bit (like i686-*) and removed O-x86-all labels Oct 25, 2023
@Dylan-DPC
Copy link
Member

@carllerche just checking old issues, is this still an issue today?

@apiraino apiraino added regression-from-stable-to-stable Performance or correctness regression from one stable version to another. and removed regression-from-stable-to-nightly Performance or correctness regression from stable to nightly. labels Dec 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: This is a bug. O-x86_32 Target: x86 processors, 32 bit (like i686-*) P-low Low priority regression-from-stable-to-stable Performance or correctness regression from one stable version to another. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

7 participants