Skip to content

stack overflow/infinite recursion in rustc #86784

Closed
@DRvader

Description

@DRvader

I uploaded the code that causes the issue to rust-stack-overflow. The stack overflow occurs on both the nightly and stable compilers only when building in debug mode.

I dumped the process, and it appears that the recursion is occurring inside the regex_automata crate in the rustc_driver.

000000a0`9d807000 00007ffc`7655b3c7     : 0000028d`024e0000 00000000`00000000 00000000`000000c8 00000000`00000000 : ntdll!RtlpLowFragHeapAllocFromContext+0x10
000000a0`9d807010 00007ffc`08aaf680     : 00000000`00000000 00000000`000000c8 00000000`00000000 00000000`00000000 : ntdll!RtlpAllocateHeapInternal+0x9a7
000000a0`9d807120 00007ffc`08a8cc7b     : 00000000`00000000 00007ffc`7655b86b 00000000`0070020e 00000000`000000b6 : rustc_driver_967b081c0ba70af3!_rust_alloc_zeroed+0x2375c
000000a0`9d807150 00007ffc`05d02ffa     : 00000000`00000000 00000000`00000000 00000000`00000000 0000028d`024e2100 : rustc_driver_967b081c0ba70af3!_rust_alloc_zeroed+0xd57
000000a0`9d807180 00007ffc`05cfbfb4     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x175dea
000000a0`9d8071e0 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16eda4
000000a0`9d8073f0 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d807600 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d807810 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d807a20 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d807c30 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d807e40 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d808050 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d808260 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d808470 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d808680 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d808890 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d808aa0 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d808cb0 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d808ec0 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d8090d0 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d8092e0 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d8094f0 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d809700 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d809910 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d809b20 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d809d30 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d809f40 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d80a150 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d80a360 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d80a570 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d80a780 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d80a990 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d80aba0 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d80adb0 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d80afc0 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d80b1d0 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d80b3e0 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d80b5f0 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d80b800 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d80ba10 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d80bc20 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d80be30 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d80c040 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d80c250 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d80c460 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d80c670 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d80c880 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d80ca90 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d80cca0 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d80ceb0 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d80d0c0 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d80d2d0 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d80d4e0 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d80d6f0 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138
000000a0`9d80d900 00007ffc`05cfc348     : 00000000`00000000 00000000`000000d0 00000000`000000c8 00000000`00000020 : rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+0x16f138

SYMBOL_NAME:  rustc_driver_967b081c0ba70af3!ZN14regex_automata10sparse_set9SparseSet5clear17hb2288ea68fdfded5E+16ef27

MODULE_NAME: rustc_driver_967b081c0ba70af3

Metadata

Metadata

Assignees

Labels

A-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.C-bugCategory: This is a bug.E-needs-testCall for participation: An issue has been fixed and does not reproduce, but no test has been added.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ICEBreaker-LLVMBugs identified for the LLVM ICE-breaker groupP-mediumMedium priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.glacierICE tracked in rust-lang/glacier.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

Issue actions