Skip to content

A large RUST_THREADS value causes an abort #8879

Closed
@huonw

Description

@huonw
$ cat hello-world.rs
fn main() { println("hello world"); }
$ rustc hello-world.rs
$ RUST_THREADS=254 hello-world
hello world
$ RUST_THREADS=255 hello-world
Aborted

Backtrace (this appears to change occasionally, as does the exact RUST_THREADS value at which the crash happens):

#0  0x00007ffff67541e5 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007ffff6757398 in __GI_abort () at abort.c:90
#2  0x00007ffff7431da7 in uv__loop_init (loop=loop@entry=0x7ffff5412900, default_loop=default_loop@entry=0)
    at ../../../../src/libuv/src/unix/loop.c:75
#3  0x00007ffff742e97d in uv_loop_new () at ../../../../src/libuv/src/unix/core.c:249
#4  0x00007ffff77f8bf9 in rt::run_::_82e8c355ab8d949f::_0$x2e8$x2dpre ()
   from /home/huon/projects/test-rust/../../rust/x86_64-unknown-linux-gnu/stage2/lib/rustc/x86_64-unknown-linux-gnu/lib/libstd-6c65cf4b443341b1-0.8-pre.so
#5  0x00007ffff779b0ed in unstable::lang::start::_76d6c774aa357c7a::_0$x2e8$x2dpre ()
   from /home/huon/projects/test-rust/../../rust/x86_64-unknown-linux-gnu/stage2/lib/rustc/x86_64-unknown-linux-gnu/lib/libstd-6c65cf4b443341b1-0.8-pre.so
#6  0x0000000000400a7b in main ()

There's only one thread.

(RUST_THREADS=<large> rustc works too, but gives a less-nice backtrace.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-runtimeArea: std's runtime and "pre-main" init for handling backtraces, unwinds, stack overflowsI-crashIssue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions