Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

Misreported option::get failure #2018

Closed
jdm opened this Issue · 5 comments

2 participants

@jdm
Collaborator
fn main() {
    let x = 5;
    #error("%?", x);
}

built with -g currently triggers an option::get failure in debuginfo::create_function. However, the only output is this:

godot:src jdm$ RUST_LOG=rustc=0,::rt::backtrace rust/build/x86_64-apple-darwin/stage2/bin/rustc -g rust_dbg2.rs 
rust: upcall fail 'option none', ../src/rustc/rustc.rc:1
error: internal compiler error unexpected failure
note: The compiler hit an unexpected failure path. This is a bug. Try running with RUST_LOG=rustc=0,::rt::backtrace to get further details and report the results to github.com/mozilla/rust/issues
rust: upcall fail 'explicit failure', ../src/rustc/driver/rustc.rs:180
rust: domain main @0x10302d200 root task failed
@marijnh

This is a symptom of #2012.

@jdm
Collaborator

I've fixed the actual cause of the failure, but it's the misreporting of it that I wanted this issue to address.

@marijnh

I don't quite get it. Why do you think it's misreporting it? option::get fails with that message when you call it on none.

@jdm
Collaborator

first of all - the upcall fail message 'option none' doesn't appear unless RUST_LOG includes ::rt::backtrace. Secondly, ../src/rustc/rustc.rc:1 is not the source of the failure. If you just run the compiler without any RUST_LOG, you see:

error: internal compiler error unexpected failure
note: The compiler hit an unexpected failure path. This is a bug. Try running with RUST_LOG=rustc=0,::rt::backtrace to get further details and report the results to github.com/mozilla/rust/issues

and nothing more.

@marijnh

Ah, I see. The bad span info is bug #1972 , and the suppressing of fail messages is discussed in #1928 .

@marijnh marijnh closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.