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

Runtime crash in libgreen #11609

Closed
alexcrichton opened this issue Jan 17, 2014 · 1 comment
Closed

Runtime crash in libgreen #11609

alexcrichton opened this issue Jan 17, 2014 · 1 comment
Labels
A-runtime Area: std's runtime and "pre-main" init for handling backtraces, unwinds, stack overflows I-crash Issue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics.

Comments

@alexcrichton
Copy link
Member

If you compile this program with --opt-level=3 -Zlto it will occasionally crash:

use std::task;       
fn main() { for _ in range(0, 10000000) { task::deschedule(); } }

The best backtrace I've gotten is:

warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7fff53ff2000
Core was generated by `./foo'.                                                                
Program terminated with signal 4, Illegal instruction.                                        
#0  0x0000000000407e03 in rt::util::abort::h953774e806dcb5c1am::v0.9 ()                       
(gdb) thread apply all bt                                                                     

Thread 3 (Thread 0x7f13a7127700 (LWP 2576)):                                                  
#0  0x00007f13a740b219 in syscall () from /usr/lib/libc.so.6                                  
#1  0x000000000049ff9a in uv__epoll_wait ()                                                   
#2  0x000000000049e7fe in uv__io_poll ()                                                      
#3  0x0000000000499c37 in uv_run ()                                                           
#4  0x000000000042c6c2 in sched::Scheduler::run::hd854cc9af95f4347xjau::v0.9 ()               
#5  0x00000000004542a5 in __extensions__::new::anon::expr_fn::aR ()                           
#6  0x00000000004572b5 in rt::thread::Thread::start_stack::anon::expr_fn::_6cavaA ()          
#7  0x0000000000425bd4 in rt::thread::thread_start::hb173bf7b3456d2ccao::v0.9 ()              
#8  0x00007f13a7afa0a2 in start_thread () from /usr/lib/libpthread.so.0                       
#9  0x00007f13a740f32d in clone () from /usr/lib/libc.so.6                                    

Thread 2 (Thread 0x7f13a8221740 (LWP 2572)):                                                  
#0  0x00007f13a7afb4a2 in pthread_join () from /usr/lib/libpthread.so.0                       
#1  0x00000000004518e1 in start::anon::expr_fn::aZ ()                                         
#2  0x0000000000425cb8 in rt::task::__extensions__::run::anon::expr_fn::au ()                 
#3  0x0000000000498f4c in rust_try ()                                                         
#4  0x00000000004118aa in rt::task::Task::run::hb037e67c6ebe8541eLar::v0.9 ()                 
#5  0x00000000004044e1 in main ()                                                             

Thread 1 (Thread 0x7f13a81bf700 (LWP 2573)):                                                  
#0  0x0000000000407e03 in rt::util::abort::h953774e806dcb5c1am::v0.9 ()                       
#1  0x000000000042c241 in sched::Callback$SchedRunner::call::he3242c220959de4eFsae::v0.9 ()   
#2  0x000000000048400e in async::async_cb::ha91da3e8f1387c33aJ::v0.9 ()                       
#3  0x00000000004993df in uv__async_event ()                                                  
#4  0x0000000000499479 in uv__async_io ()                                                     
#5  0x000000000049e907 in uv__io_poll ()                                                      
#6  0x0000000000499c37 in uv_run ()                                                           
#7  0x000000000042c6c2 in sched::Scheduler::run::hd854cc9af95f4347xjau::v0.9 ()               
#8  0x00000000004542a5 in __extensions__::new::anon::expr_fn::aR ()                           
#9  0x00000000004572b5 in rt::thread::Thread::start_stack::anon::expr_fn::_6cavaA ()          
#10 0x0000000000425bd4 in rt::thread::thread_start::hb173bf7b3456d2ccao::v0.9 ()              
#11 0x00007f13a7afa0a2 in start_thread () from /usr/lib/libpthread.so.0                       
#12 0x00007f13a740f32d in clone () from /usr/lib/libc.so.6                                    
(gdb) quit                                                                                    

where thread #1 aborted. I have no idea what's going on here. Somehow the local task is not available when a scheduler wakes up?

@alexcrichton
Copy link
Member Author

Closing as a dupe of #11683, more information there.

flip1995 pushed a commit to flip1995/rust that referenced this issue Oct 21, 2023
…fate

[`get_first`]: lint on non-primitive slices

Fixes rust-lang#11594

I left the issue open for a couple days before making the PR to see if anyone has something to say, but it looks like there aren't any objections to removing this check that prevented linting on non-primitive slices, so here's the PR now.
There's a couple of instances in clippy itself where we now emit the lint. The actual relevant change is in the first commit and fixing the `.get(0)` instances in clippy itself is in the 2nd commit.

changelog: [`get_first`]: lint on non-primitive slices
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-runtime Area: std's runtime and "pre-main" init for handling backtraces, unwinds, stack overflows 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

1 participant