Skip to content

rustc overflowed its stack when compiling 148,492 lines of code. #78567

Closed
@SunHao-0

Description

@SunHao-0

Rustc overflowed its stack when compiling 148,492 lines of code.
Rust is great, but this limitation is unacceptable.

Error

> cargo build
thread 'rustc' has overflowed its stack
fatal runtime error: stack overflow
error: could not compile `hl-fuzzer`
Caused by:
  process didn't exit successfully: `rustc --crate-name hl_fuzzer --edition=2018 fuzzer/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="amd64-linux"' --cfg 'feature="default"' -C metadata=258ea3d5d4c9e7e0 -C extra-filename=-258ea3d5d4c9e7e0 --out-dir .../target/debug/deps -C incremental=.../target/debug/incremental -L dependency=.../target/debug/deps --extern hlang=.../target/debug/deps/libhlang-7040598e8269a156.rmeta` (signal: 6, SIGABRT: process abort signal)

Crate

Loc: 148,492
Large file: fuzzer/syscalls/linux/amd64.rs
Link: https://github.com/SunHao-0/healer/tree/refactor

Hardware

Cpu

Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
Address sizes:                   39 bits physical, 48 bits virtual
CPU(s):                          16
On-line CPU(s) list:             0-15
Thread(s) per core:              2
Core(s) per socket:              8
Socket(s):                       1
*Memory*
RANGE                                  SIZE  STATE REMOVABLE  BLOCK
0x0000000000000000-0x000000009fffffff  2.5G online       yes   0-19
0x0000000100000000-0x000000045fffffff 13.5G online       yes 32-139
Memory block size:       128M
Total online memory:      16G
Total offline memory:      0B

Resource limitation

-t: cpu time (seconds)              unlimited
-f: file size (blocks)              unlimited
-d: data seg size (kbytes)          unlimited
-s: stack size (kbytes)             1048576
-c: core file size (blocks)         unlimited
-m: resident set size (kbytes)      unlimited
-u: processes                       unlimited
-n: file descriptors                1024
-l: locked-in-memory size (kbytes)  64
-v: address space (kbytes)          unlimited
...

Meta

rustc 1.49.0-nightly (ffa2e7ae8 2020-10-24)
binary: rustc
commit-hash: ffa2e7ae8fbf9badc035740db949b9dae271c29f
commit-date: 2020-10-24
host: x86_64-unknown-linux-gnu
release: 1.49.0-nightly
LLVM version: 11.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.E-needs-mcveCall for participation: This issue has a repro, but needs a Minimal Complete and Verifiable ExampleI-crashIssue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions