Skip to content

crash: "Out of stack space, sorry" with structural recursive type #742

Closed
@elly

Description

@elly

The following program is sufficient to crash rustc:

tag expr {
        app(expr);
}

fn main() { }

This yields the following stack trace:

#0  0xf7fce5a1 in check_stack (task=0x87239e4) at ./src/rt/rust_upcall.cpp:30
#1  0xf7fce5d5 in upcall_get_type_desc (task=0x87239e4, curr_crate=0x0, size=12,
align=1, n_descs=2, 
    descs=0xf62a5da4) at ./src/rt/rust_upcall.cpp:528
#2  0xf7f6a5b5 in smallintmap::find () from /home/elly/a/rust/libstd.so
#3  0x0868bab2 in
middle::ast_map::new_smallintmap_adapter::adapter::method::find ()
#4  0x08133d85 in middle::ty::tag_variants ()
#5  0x08053180 in middle::trans::type_of_tag ()
#6  0x08051ec1 in middle::trans::type_of_inner ()
#7  0x08052a57 in middle::trans::type_of_inner ()
#8  0x08050b4a in middle::trans::type_of ()
#9  0x08053ad6 in middle::trans::type_of_tag ()
...

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-type-systemArea: Type systemI-crashIssue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions