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

issue-93775 test overflows stack with debug assertions enabled #133432

Closed
beepster4096 opened this issue Nov 25, 2024 · 3 comments · Fixed by #134608
Closed

issue-93775 test overflows stack with debug assertions enabled #133432

beepster4096 opened this issue Nov 25, 2024 · 3 comments · Fixed by #134608
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc C-bug Category: This is a bug. O-windows-msvc Toolchain: MSVC, Operating system: Windows T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@beepster4096
Copy link
Contributor

beepster4096 commented Nov 25, 2024

When debug-assertions=true is in config.toml, the test tests\ui\associated-consts\issue-93775.rs fails with a stack overflow. I think it stems from here in rustc_const_eval::const_eval::eval_queries::eval_to_allocation_raw_provider:

    if cfg!(debug_assertions) {
        // Make sure we format the instance even if we do not print it.
        // This serves as a regression test against an ICE on printing.
        // The next two lines concatenated contain some discussion:
        // https://rust-lang.zulipchat.com/#narrow/stream/146212-t-compiler.2Fconst-eval/
        // subject/anon_const_instance_printing/near/135980032
        let instance = with_no_trimmed_paths!(key.value.instance.to_string());
        trace!("const eval: {:?} ({})", key, instance);
    }

I tested this on x86_64-pc-windows-msvc, unsure if it happens on other platforms.

@beepster4096 beepster4096 added the C-bug Category: This is a bug. label Nov 25, 2024
@rustbot rustbot added the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Nov 25, 2024
@jieyouxu
Copy link
Member

cc #132111

@jieyouxu jieyouxu added A-testsuite Area: The testsuite used to check the correctness of rustc T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. I-flaky-test Issue: A test is flaky/unreliable/spuriously fails and removed needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. I-flaky-test Issue: A test is flaky/unreliable/spuriously fails labels Nov 25, 2024
@beepster4096
Copy link
Contributor Author

I added my platform to the issue. It might be relevant because that other issue was also on windows.

@ChrisDenton
Copy link
Member

What stack size do we use on Windows?

@jieyouxu jieyouxu added the O-windows-msvc Toolchain: MSVC, Operating system: Windows label Nov 26, 2024
jieyouxu added a commit to jieyouxu/rust that referenced this issue Dec 16, 2024
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue Dec 16, 2024
…atrieb

Disable `tests/ui/associated-consts/issue-93775.rs` on windows msvc

This test seems to be quite flaky. See:

- rust-lang#132111
- rust-lang#133432
rust-timer added a commit to rust-lang-ci/rust that referenced this issue Dec 16, 2024
Rollup merge of rust-lang#134372 - jieyouxu:disable-flaky-test, r=Noratrieb

Disable `tests/ui/associated-consts/issue-93775.rs` on windows msvc

This test seems to be quite flaky. See:

- rust-lang#132111
- rust-lang#133432
bors added a commit to rust-lang-ci/rust that referenced this issue Dec 21, 2024
Move test rust-lang#93775 to crashes

Closes rust-lang#132111. Closes rust-lang#133432. Re-opens rust-lang#93775.

I think this test case is flaky because the recursive calls happen to hit the upper limit of the call stack.

IMO, this may not be an issue, as it's reasonable for overly complex code to require additional build configurations (such as increasing the call stack size).

r? jieyouxu

try-job: x86_64-msvc
try-job: i686-msvc
DianQK added a commit to DianQK/rust that referenced this issue Dec 21, 2024
Move test rust-lang#93775 to crashes

Closes rust-lang#132111. Closes rust-lang#133432. Re-opens rust-lang#93775.

I think this test case is flaky because the recursive calls happen to hit the upper limit of the call stack.

IMO, this may not be an issue, as it's reasonable for overly complex code to require additional build configurations (such as increasing the call stack size).

r? jieyouxu

try-job: x86_64-msvc
try-job: i686-msvc
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this issue Dec 21, 2024
Move test rust-lang#93775 to crashes

Closes rust-lang#132111. Closes rust-lang#133432. Re-opens rust-lang#93775.

I think this test case is flaky because the recursive calls happen to hit the upper limit of the call stack.

IMO, this may not be an issue, as it's reasonable for overly complex code to require additional build configurations (such as increasing the call stack size).

r? jieyouxu

try-job: x86_64-msvc
try-job: i686-msvc
@bors bors closed this as completed in 66bb586 Dec 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc C-bug Category: This is a bug. O-windows-msvc Toolchain: MSVC, Operating system: Windows T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants