Skip to content

rustc segfaults under valgrind with staticlib and empty file #41465

@octoploid

Description

@octoploid
markus@x4 gecko-dev % rustc --version                                                                                                                                      [8/2735]
rustc 1.18.0-nightly (1785bca51 2017-04-21) 
                                                                                                                                       
markus@x4 gecko-dev % cat /tmp/conftestVB4hBn.rs                                                                                                                                   
pub extern fn hello() { println!("Hello world"); }                                                                                                                                 

markus@x4 gecko-dev % valgrind --track-origins=yes --trace-children=yes /home/markus/.cargo/bin/rustc /tmp/conftestVB4hBn.rs                                                       
==8513== Memcheck, a memory error detector                                                                                                                                         
==8513== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.                                                                                                           
==8513== Using Valgrind-3.12.0 and LibVEX; rerun with -h for copyright info                                                                                                        
==8513== Command: /home/markus/.cargo/bin/rustc /tmp/conftestVB4hBn.rs                                                                                                             
==8513==                                                                                                                                                                           
==8513== Conditional jump or move depends on uninitialised value(s)                                                                                                                
==8513==    at 0x329445: regex::exec::ExecBuilder::build::h9d7176be1084b6fb (in /home/markus/.cargo/bin/rustc)                                                                     
==8513==    by 0x34084A: regex::re_unicode::Regex::new::h59eb978e8f9a3b74 (in /home/markus/.cargo/bin/rustc)                                                                       
==8513==    by 0x2A55DF: rustup_dist::dist::PartialToolchainDesc::from_str::hebd900f9552a38dc (in /home/markus/.cargo/bin/rustc)                                                   
==8513==    by 0x217719: rustup::config::Cfg::resolve_toolchain::hcb787f1ae0895402 (in /home/markus/.cargo/bin/rustc)                                                              
==8513==    by 0x202443: rustup::toolchain::Toolchain::from::h564f4e2aac4d1621 (in /home/markus/.cargo/bin/rustc)                                                                  
==8513==    by 0x210D79: rustup::config::Cfg::verify_toolchain::h664f01bdec624049 (in /home/markus/.cargo/bin/rustc)                                                               
==8513==    by 0x2126C8: rustup::config::Cfg::find_default::h76d28ee98f54a081 (in /home/markus/.cargo/bin/rustc)                                                                   
==8513==    by 0x213FF9: rustup::config::Cfg::find_override_toolchain_or_default::hbb6e1da3cc65d795 (in /home/markus/.cargo/bin/rustc)                                             
==8513==    by 0x2157F3: rustup::config::Cfg::toolchain_for_dir::h0db98a41336a69c7 (in /home/markus/.cargo/bin/rustc)                                                              
==8513==    by 0x215C89: rustup::config::Cfg::create_command_for_dir::h7878517f704acdcf (in /home/markus/.cargo/bin/rustc)                                                         
==8513==    by 0x1E543E: rustup_init::run_multirust::hc57e6cbc778a73dc (in /home/markus/.cargo/bin/rustc)                                                                          
==8513==    by 0x1E3303: rustup_init::main::hdb8423f0f289797c (in /home/markus/.cargo/bin/rustc)                                                                                   
==8513==  Uninitialised value was created by a stack allocation                                                                                                                    
==8513==    at 0x3407E3: regex::re_unicode::Regex::new::h59eb978e8f9a3b74 (in /home/markus/.cargo/bin/rustc)                                                                       
==8513==                                                                                                                                                                           
==8513== Conditional jump or move depends on uninitialised value(s)                                                                                                                
==8513==    at 0x329445: regex::exec::ExecBuilder::build::h9d7176be1084b6fb (in /home/markus/.cargo/bin/rustc)                                                                     
==8513==    by 0x34084A: regex::re_unicode::Regex::new::h59eb978e8f9a3b74 (in /home/markus/.cargo/bin/rustc)                                                                       
==8513==    by 0x2A4E93: rustup_dist::dist::PartialTargetTriple::from_str::hfadcce25dae70276 (in /home/markus/.cargo/bin/rustc)                                                    
==8513==    by 0x2A5D96: rustup_dist::dist::PartialToolchainDesc::resolve::h4285f0c0c2564cd3 (in /home/markus/.cargo/bin/rustc)                                                    
==8513==    by 0x217901: rustup::config::Cfg::resolve_toolchain::hcb787f1ae0895402 (in /home/markus/.cargo/bin/rustc)                                                              
==8513==    by 0x202443: rustup::toolchain::Toolchain::from::h564f4e2aac4d1621 (in /home/markus/.cargo/bin/rustc)                                                                  
==8513==    by 0x210D79: rustup::config::Cfg::verify_toolchain::h664f01bdec624049 (in /home/markus/.cargo/bin/rustc)                                                               
==8513==    by 0x2126C8: rustup::config::Cfg::find_default::h76d28ee98f54a081 (in /home/markus/.cargo/bin/rustc)                                                                   
==8513==    by 0x213FF9: rustup::config::Cfg::find_override_toolchain_or_default::hbb6e1da3cc65d795 (in /home/markus/.cargo/bin/rustc)                                             
==8513==    by 0x2157F3: rustup::config::Cfg::toolchain_for_dir::h0db98a41336a69c7 (in /home/markus/.cargo/bin/rustc)                                                              
==8513==    by 0x215C89: rustup::config::Cfg::create_command_for_dir::h7878517f704acdcf (in /home/markus/.cargo/bin/rustc)                                                         
==8513==    by 0x1E543E: rustup_init::run_multirust::hc57e6cbc778a73dc (in /home/markus/.cargo/bin/rustc)                                                                          
==8513==  Uninitialised value was created by a stack allocation                                                                                                                    
==8513==    at 0x3407E3: regex::re_unicode::Regex::new::h59eb978e8f9a3b74 (in /home/markus/.cargo/bin/rustc)                                                                       
==8513==                                                                                                                                                                           
==8513== Conditional jump or move depends on uninitialised value(s)                                                                                                                
==8513==    at 0x329445: regex::exec::ExecBuilder::build::h9d7176be1084b6fb (in /home/markus/.cargo/bin/rustc)                                                                     
==8513==    by 0x34084A: regex::re_unicode::Regex::new::h59eb978e8f9a3b74 (in /home/markus/.cargo/bin/rustc)                                                                       
==8513==    by 0x2A6502: rustup_dist::dist::ToolchainDesc::from_str::h1da23d1513648d5d (in /home/markus/.cargo/bin/rustc)                                                          
==8513==    by 0x205B1B: rustup::toolchain::Toolchain::is_custom::h2dc316b5ca6590db (in /home/markus/.cargo/bin/rustc)                                                             
==8513==    by 0x216757: rustup::config::Cfg::maybe_do_cargo_fallback::h27ff2e47061a2375 (in /home/markus/.cargo/bin/rustc)                                                        
==8513==    by 0x215D26: rustup::config::Cfg::create_command_for_dir::h7878517f704acdcf (in /home/markus/.cargo/bin/rustc)                                                         
==8513==    by 0x1E543E: rustup_init::run_multirust::hc57e6cbc778a73dc (in /home/markus/.cargo/bin/rustc)                                                                          
==8513==    by 0x1E3303: rustup_init::main::hdb8423f0f289797c (in /home/markus/.cargo/bin/rustc)                                                                                   
==8513==    by 0x585E9A: __rust_maybe_catch_panic (lib.rs:97)                                                                                                                      
==8513==    by 0x57D715: try<(),fn()> (panicking.rs:332)                                                                                                                           
==8513==    by 0x57D715: catch_unwind<fn(),()> (panic.rs:351)                                                                                                                      
==8513==    by 0x57D715: std::rt::lang_start::h74b3afbdd8daef1c (rt.rs:57)                                                                                                         
==8513==    by 0x4E6B3AB: (below main) (libc-start.c:295)                                                                                                                          
==8513==  Uninitialised value was created by a stack allocation                                                                                                                    
==8513==    at 0x3407E3: regex::re_unicode::Regex::new::h59eb978e8f9a3b74 (in /home/markus/.cargo/bin/rustc)                                                                       
==8513==                                                                                                                                                                           
==8532== Memcheck, a memory error detector                                                                                                                                         
==8532== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.                                                                                                           
==8532== Using Valgrind-3.12.0 and LibVEX; rerun with -h for copyright info                                                                                                        
==8532== Command: /home/markus/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/rustc /tmp/conftestVB4hBn.rs                                                                
==8532==                                                                                                                                                                           
==8532== Thread 2 rustc:                                                                                                                                                           
==8532== Conditional jump or move depends on uninitialised value(s)                                                                                                                
==8532==    at 0xC27A38F: syntax::parse::parser::Parser::new::h7a20f14155e95645 (in /home/markus/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/libsyntax-babc4f0a088ec8b0
.so)                                                                                                                                                                               
==8532==    by 0xC2F2C2C: syntax::parse::filemap_to_parser::h6a32f23ccb95000d (in /home/markus/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/libsyntax-babc4f0a088ec8b0.s
o)                                                                                                                                                                                 
==8532==    by 0xC2F2286: syntax::parse::parse_crate_from_file::hedb4ba547b75311a (in /home/markus/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/libsyntax-babc4f0a088ec8
b0.so)                                                                                                                                                                             
==8532==    by 0x4B3F79A: rustc_driver::driver::phase_1_parse_input::_$u7b$$u7b$closure$u7d$$u7d$::h35d75aa993d44103 (in /home/markus/.rustup/toolchains/nightly-x86_64-unknown-lin
ux-gnu/lib/librustc_driver-0f4024af7b82b2df.so)                                                                                                                                    
==8532==    by 0x4B3E698: rustc_driver::driver::phase_1_parse_input::h1e4778a2ca7a7ad6 (in /home/markus/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-0f4
024af7b82b2df.so)                                                                                                                                                                  
==8532==    by 0x4B30C8C: rustc_driver::driver::compile_input::hc74994fea2a7b3d8 (in /home/markus/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-0f4024af7
b82b2df.so)                                                                                                                                                                        
==8532==    by 0x4B91E7C: rustc_driver::run_compiler::hccc057d367b00a4b (in /home/markus/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-0f4024af7b82b2df.s
o)                                                                                                                                                                                 
==8532==    by 0x4A5B83B: std::panicking::try::do_call::hbc2a3c31903904db (in /home/markus/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-0f4024af7b82b2df
.so)                                                                                                                                                                               
==8532==    by 0x4EAD81A: __rust_maybe_catch_panic (lib.rs:98)                                                                                                                     
==8532==    by 0x4AA1811: _$LT$F$u20$as$u20$alloc..boxed..FnBox$LT$A$GT$$GT$::call_box::h28281d8d856d67df (in /home/markus/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/
librustc_driver-0f4024af7b82b2df.so)                                                                                                                                               
==8532==    by 0x4EA3094: call_once<(),()> (boxed.rs:650)                                                                                                                          
==8532==    by 0x4EA3094: start_thread (thread.rs:21)                                                                                                                              
==8532==    by 0x4EA3094: std::sys::imp::thread::Thread::new::thread_start::h1b316ba1f093c5a7 (thread.rs:84)                                                                       
==8532==    by 0xCEF937B: start_thread (pthread_create.c:455)                                                                                                                      
==8532==  Uninitialised value was created by a stack allocation                                                                                                                    
==8532==    at 0xC2F2BC4: syntax::parse::filemap_to_parser::h6a32f23ccb95000d (in /home/markus/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/libsyntax-babc4f0a088ec8b0.s
o)                                                                                                                                                                                 
==8532==                                                                                                                                                                           
==8532== Invalid read of size 1                                                                                                                                                    
==8532==    at 0x72FDFB0: rustc_metadata::creader::CrateLoader::register_crate::hff50dcd8046bf8c1 (in /home/markus/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc
_metadata-1c582c40937620b6.so)                                                                                                                                                     
==8532==    by 0x7300528: rustc_metadata::creader::CrateLoader::resolve_crate::hf3e2391a4868fd19 (in /home/markus/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_
metadata-1c582c40937620b6.so)                                                                                                                                                      
==8532==    by 0x730166B: rustc_metadata::creader::CrateLoader::resolve_crate_deps::_$u7b$$u7b$closure$u7d$$u7d$::hb49901dbf6020130 (in /home/markus/.rustup/toolchains/nightly-x86
_64-unknown-linux-gnu/lib/librustc_metadata-1c582c40937620b6.so)                                                                                                                   
==8532==    by 0x729BF49: _$LT$collections..vec..Vec$LT$T$GT$$u20$as$u20$collections..vec..SpecExtend$LT$T$C$$u20$I$GT$$GT$::spec_extend::h3974a8e0266d64f3 (in /home/markus/.rustu
p/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_metadata-1c582c40937620b6.so)                                                                                           
==8532==    by 0x72FCB3E: rustc_metadata::creader::CrateLoader::register_crate::hff50dcd8046bf8c1 (in /home/markus/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc
_metadata-1c582c40937620b6.so)                                                                                                                                                     
==8532==    by 0x7300528: rustc_metadata::creader::CrateLoader::resolve_crate::hf3e2391a4868fd19 (in /home/markus/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_
metadata-1c582c40937620b6.so)                                                                                                                                                      
==8532==    by 0x7306A18: _$LT$rustc_metadata..creader..CrateLoader$LT$$u27$a$GT$$u20$as$u20$rustc..middle..cstore..CrateLoader$GT$::process_item::h2336433fe298b99a (in /home/mark
us/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_metadata-1c582c40937620b6.so)                                                                                  
==8532==    by 0x7AD0B2E: rustc_resolve::build_reduced_graph::_$LT$impl$u20$rustc_resolve..Resolver$LT$$u27$a$GT$$GT$::build_reduced_graph_for_item::hdf09fdb4f1012d15 (in /home/ma
rkus/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_resolve-e27e3277d8c7217e.so)                                                                                 
==8532==    by 0x7AD8B02: _$LT$rustc_resolve..build_reduced_graph..BuildReducedGraphVisitor$LT$$u27$a$C$$u20$$u27$b$GT$$u20$as$u20$syntax..visit..Visitor$LT$$u27$a$GT$$GT$::visit_
item::h232ee7c35a079f67 (in /home/markus/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_resolve-e27e3277d8c7217e.so)                                             
==8532==    by 0x7AD8EFF: _$LT$rustc_resolve..build_reduced_graph..BuildReducedGraphVisitor$LT$$u27$a$C$$u20$$u27$b$GT$$u20$as$u20$syntax..visit..Visitor$LT$$u27$a$GT$$GT$::visit_
item::h232ee7c35a079f67 (in /home/markus/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_resolve-e27e3277d8c7217e.so)                                             
==8532==    by 0x7AC84EE: rustc_resolve::macros::_$LT$impl$u20$syntax..ext..base..Resolver$u20$for$u20$rustc_resolve..Resolver$LT$$u27$a$GT$$GT$::visit_expansion::h9d82f4e545e2065
9 (in /home/markus/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_resolve-e27e3277d8c7217e.so)                                                                   
==8532==    by 0xC34F82E: syntax::ext::expand::MacroExpander::collect_invocations::h63c40dae8f2b3a3c (in /home/markus/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/libsy
ntax-babc4f0a088ec8b0.so)                                 
==8532==  Address 0x174 is not stack'd, malloc'd or (recently) free'd        
==8532==                                         
==8532==                                                                
==8532== Process terminating with default action of signal 11 (SIGSEGV)
==8532==  Bad permissions for mapped region at address 0x734E000
==8532==    at 0x72FDFB0: rustc_metadata::creader::CrateLoader::register_crate::hff50dcd8046bf8c1 (in /home/markus/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc
_metadata-1c582c40937620b6.so)                            
==8532==    by 0x7300528: rustc_metadata::creader::CrateLoader::resolve_crate::hf3e2391a4868fd19 (in /home/markus/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_
metadata-1c582c40937620b6.so)                                              
==8532==    by 0x730166B: rustc_metadata::creader::CrateLoader::resolve_crate_deps::_$u7b$$u7b$closure$u7d$$u7d$::hb49901dbf6020130 (in /home/markus/.rustup/toolchains/nightly-x86
_64-unknown-linux-gnu/lib/librustc_metadata-1c582c40937620b6.so)     
==8532==    by 0x729BF49: _$LT$collections..vec..Vec$LT$T$GT$$u20$as$u20$collections..vec..SpecExtend$LT$T$C$$u20$I$GT$$GT$::spec_extend::h3974a8e0266d64f3 (in /home/markus/.rustu
p/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_metadata-1c582c40937620b6.so)
==8532==    by 0x72FCB3E: rustc_metadata::creader::CrateLoader::register_crate::hff50dcd8046bf8c1 (in /home/markus/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc
_metadata-1c582c40937620b6.so)                                                                                              
==8532==    by 0x7300528: rustc_metadata::creader::CrateLoader::resolve_crate::hf3e2391a4868fd19 (in /home/markus/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_
metadata-1c582c40937620b6.so)                     
==8532==    by 0x7306A18: _$LT$rustc_metadata..creader..CrateLoader$LT$$u27$a$GT$$u20$as$u20$rustc..middle..cstore..CrateLoader$GT$::process_item::h2336433fe298b99a (in /home/mark
us/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_metadata-1c582c40937620b6.so)
==8532==    by 0x7AD0B2E: rustc_resolve::build_reduced_graph::_$LT$impl$u20$rustc_resolve..Resolver$LT$$u27$a$GT$$GT$::build_reduced_graph_for_item::hdf09fdb4f1012d15 (in /home/ma
rkus/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_resolve-e27e3277d8c7217e.so)
==8532==    by 0x7AD8B02: _$LT$rustc_resolve..build_reduced_graph..BuildReducedGraphVisitor$LT$$u27$a$C$$u20$$u27$b$GT$$u20$as$u20$syntax..visit..Visitor$LT$$u27$a$GT$$GT$::visit_
item::h232ee7c35a079f67 (in /home/markus/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_resolve-e27e3277d8c7217e.so)
==8532==    by 0x7AD8EFF: _$LT$rustc_resolve..build_reduced_graph..BuildReducedGraphVisitor$LT$$u27$a$C$$u20$$u27$b$GT$$u20$as$u20$syntax..visit..Visitor$LT$$u27$a$GT$$GT$::visit_
item::h232ee7c35a079f67 (in /home/markus/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_resolve-e27e3277d8c7217e.so)
==8532==    by 0x7AC84EE: rustc_resolve::macros::_$LT$impl$u20$syntax..ext..base..Resolver$u20$for$u20$rustc_resolve..Resolver$LT$$u27$a$GT$$GT$::visit_expansion::h9d82f4e545e2065
9 (in /home/markus/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_resolve-e27e3277d8c7217e.so)
==8532==    by 0xC34F82E: syntax::ext::expand::MacroExpander::collect_invocations::h63c40dae8f2b3a3c (in /home/markus/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/libsy
ntax-babc4f0a088ec8b0.so)

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.I-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