Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Segmentation fault (core dump) in Rust 0.6 #4494

Closed
ghost opened this issue Jan 15, 2013 · 4 comments
Closed

Segmentation fault (core dump) in Rust 0.6 #4494

ghost opened this issue Jan 15, 2013 · 4 comments
Labels
I-crash Issue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics.

Comments

@ghost
Copy link

ghost commented Jan 15, 2013

Just cloned the rust0.6 from today.
And build it on Ubuntu 12.10 x86_64
when I run rusti and enter 1+1 ,it happens Segmentation fault .

Here som gdb log:
GNU gdb (GDB) 7.5-ubuntu
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/...
Reading symbols from /usr/local/bin/rusti...(no debugging symbols found)...done.
[New LWP 5883]
[New LWP 5884]
[New LWP 5881]
[New LWP 5880]
[New LWP 5882]

warning: Can't read pathname for load map: 输入/输出错误.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `rusti'.
Program terminated with signal 11, Segmentation fault.
#0 0x00007f9d32f69018 in ?? () from /lib64/ld-linux-x86-64.so.2

(gdb) bt full
#0 0x00007f9d32f69018 in ?? () from /lib64/ld-linux-x86-64.so.2

No symbol table info available.
#1 0x00007f9d32f6b63d in ?? () from /lib64/ld-linux-x86-64.so.2

No symbol table info available.
#2 0x00007f9d32f7685b in ?? () from /lib64/ld-linux-x86-64.so.2

No symbol table info available.
#3 0x00007f9d32f72186 in ?? () from /lib64/ld-linux-x86-64.so.2

No symbol table info available.
#4 0x00007f9d32f7632a in ?? () from /lib64/ld-linux-x86-64.so.2

No symbol table info available.
#5 0x00007f9d30710f26 in ?? () from /lib/x86_64-linux-gnu/libdl.so.2

No symbol table info available.
#6 0x00007f9d32f72186 in ?? () from /lib64/ld-linux-x86-64.so.2

No symbol table info available.
#7 0x00007f9d3071152f in ?? () from /lib/x86_64-linux-gnu/libdl.so.2

No symbol table info available.
#8 0x00007f9d30710fc1 in dlopen () from /lib/x86_64-linux-gnu/libdl.so.2

No symbol table info available.
#9 0x00007f9d2fc8cd1a in llvm::sys::DynamicLibrary::getPermanentLibrary(char const_, std::string_) () from /usr/local/bin/../lib/./librustllvm.so

No symbol table info available.
#10 0x00007f9d2f233d0c in RustMCJITMemoryManager::loadCrate (

this=0x7f9d205a3020, file=<optimized out>, err=err@entry=0x7f9d201008a0)

---Type to continue, or q to quit---
at /usr/local/src/rust/src/rustllvm/RustWrapper.cpp:197
crate = {static Invalid = 0 '\000', Data = 0x7f9d2f0a7878}
#11 0x00007f9d2f234587 in LLVMRustLoadCrate (mem=,

crate=<optimized out>)
at /usr/local/src/rust/src/rustllvm/RustWrapper.cpp:328
    manager = <optimized out>
    Err = {static npos = <optimized out>, 
      _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7f9d2ee404d8 ""}}
    __PRETTY_FUNCTION__ = "bool LLVMRustLoadCrate(void*, const char*)"

#12 0x00007f9d31e223ca in LLVMRustLoadCrate__c_stack_shim ()

from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
No symbol table info available.
#13 0x00007f9d31218ab9 in __morestack ()

from /usr/local/bin/../lib/librustrt.so
No symbol table info available.
#14 0x00007f9d31207174 in call_on_c_stack (

fn_ptr=0x7f9d31e22390 <LLVMRustLoadCrate__c_stack_shim>, 
args=0x7f9d201035f0, this=0x7f9d28108a10)
at /usr/local/src/rust/src/rt/rust_task.h:491
    prev_rust_sp = 0
    borrowed_a_c_stack = true
    sp = <optimized out>

---Type to continue, or q to quit---
#15 upcall_call_shim_on_c_stack (args=0x7f9d201035f0,

fn_ptr=0x7f9d31e22390 <LLVMRustLoadCrate__c_stack_shim>)
at /usr/local/src/rust/src/rt/rust_upcall.cpp:60
    task = 0x7f9d28108a10
    __PRETTY_FUNCTION__ = "void upcall_call_shim_on_c_stack(void*, void*)"

#16 0x00007f9d31d8beb4 in back::link::jit::exec::anon::anon::expr_fn_76891 ()

from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
No symbol table info available.
#17 0x00007f9d318d2158 in str::as_c_str_28724::_b760a7dcc0e4db::_06 ()

from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
No symbol table info available.
#18 0x00007f9d31d8b949 in back::link::jit::exec::_c3905cfecb8b69e9::_06 ()

from /usr/local/bin/../lib/librustc-c84825241471686d-0.6.so
No symbol table info available.
#19 0x00007f9d31464d65 in run::_ee4d29fb4c6e65c::_06 ()

from /usr/local/bin/../lib/librusti-5047c7f210c7cac8-0.6.so
No symbol table info available.
#20 0x00007f9d31496aa8 in __morestack ()

from /usr/local/bin/../lib/librusti-5047c7f210c7cac8-0.6.so
No symbol table info available.
#21 0x00007f9d31495a60 in run_line::anon::expr_fn_13894 ()

from /usr/local/bin/../lib/librusti-5047c7f210c7cac8-0.6.so
No symbol table info available.
---Type to continue, or q to quit---
#22 0x00007f9d31495235 in task::extensions::try_13791::anon::expr_fn_13846

() from /usr/local/bin/../lib/librusti-5047c7f210c7cac8-0.6.so

No symbol table info available.
#23 0x00007f9d32bf814f in task::spawn::spawn_raw::make_child_wrapper::anon::expr_fn_10036 () from /usr/local/bin/../lib/libcore-c3ca5d77d81b46c1-0.6.so

No symbol table info available.
#24 0x00007f9d32c2f520 in __morestack ()

from /usr/local/bin/../lib/libcore-c3ca5d77d81b46c1-0.6.so
No symbol table info available.
#25 0x00007f9d312057f4 in task_start_wrapper (a=0x7f9d28109810)

at /usr/local/src/rust/src/rt/rust_task.cpp:160
    __PRETTY_FUNCTION__ = "void task_start_wrapper(spawn_args*)"
    env = <optimized out>
    ca = {spargs = 0x0, threw_exception = false}
    task = 0x7f9d28108a10
    threw_exception = false

#26 0x0000000000000000 in ?? ()

No symbol table info available.
(gdb) quit

@z0w0
Copy link
Contributor

z0w0 commented Jan 23, 2013

This happens for me too.

@graydon
Copy link
Contributor

graydon commented Mar 20, 2013

can you reconfirm this? I cannot reproduce here.

@graydon
Copy link
Contributor

graydon commented Mar 20, 2013

non-critical for 0.6, de-milestoning

@thestinger
Copy link
Contributor

Closing as a duplicate of #4407, I can replicate this consistently on Linux.

flip1995 pushed a commit to flip1995/rust that referenced this issue Oct 9, 2020
Downgrade string_lit_as_bytes to nursery

Between rust-lang#1402 (regarding `to_owned`) and rust-lang#4494 (regarding `impl Read`), as well as other confusion I've seen hit in my work codebase involving string_lit_as_bytes (`"...".as_bytes().into()`), I don't think this lint is at a quality to be enabled by default.

I would consider re-enabling this lint after it is updated to understand when the surrounding type information is sufficient to unsize `b"..."` to &\[u8\] without causing a type error.

As currently implemented, this lint is pushing people to write `&b"_"[..]` which is not an improvement over `"_".as_bytes()` as far as I am concerned.

---

changelog: Remove string_lit_as_bytes from default set of enabled lints
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I-crash Issue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics.
Projects
None yet
Development

No branches or pull requests

3 participants