Skip to content

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

Open
@carllerche

Description

@carllerche
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)

Activity

added
I-prioritizeIssue: Indicates that prioritization has been requested for this issue.
on May 20, 2023
carllerche

carllerche commented on May 20, 2023

@carllerche
MemberAuthor

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

Noratrieb commented on May 20, 2023

@Noratrieb
Member

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

apiraino

apiraino commented on May 21, 2023

@apiraino
Contributor

WG-prioritization assigning priority (Zulip discussion).

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

added
P-highHigh priority
T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.
and removed
I-prioritizeIssue: Indicates that prioritization has been requested for this issue.
on May 21, 2023
oli-obk

oli-obk commented on May 21, 2023

@oli-obk
Contributor

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.

added
P-lowLow priority
and removed
P-highHigh priority
regression-untriagedUntriaged performance or correctness regression.
on May 22, 2023
added
O-x86_32Target: x86 processors, 32 bit (like i686-*) (IA-32)
and removed on Oct 25, 2023
Dylan-DPC

Dylan-DPC commented on Sep 11, 2024

@Dylan-DPC
Member

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

added
regression-from-stable-to-stablePerformance or correctness regression from one stable version to another.
and removed on Dec 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.O-x86_32Target: x86 processors, 32 bit (like i686-*) (IA-32)P-lowLow priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-stablePerformance or correctness regression from one stable version to another.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @carllerche@oli-obk@apiraino@workingjubilee@rustbot

        Issue actions

          Compilation regression on nightly with `i686-unknown-linux-gnu` · Issue #111777 · rust-lang/rust