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

Exchange heap not empty on exit #5007

Closed
sanxiyn opened this issue Feb 18, 2013 · 4 comments
Closed

Exchange heap not empty on exit #5007

sanxiyn opened this issue Feb 18, 2013 · 4 comments
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

@sanxiyn
Copy link
Member

sanxiyn commented Feb 18, 2013

The following code aborts with "exchange heap not empty on exit".

https://gist.github.com/sanxiyn/4975995

@sanxiyn
Copy link
Member Author

sanxiyn commented Mar 20, 2013

This still reproduces. I updated the gist for language changes.

@z0w0
Copy link
Contributor

z0w0 commented Mar 21, 2013

I'm getting this error exiting from rusti.

@alexcrichton
Copy link
Member

I managed to reduce this down to:

use std::comm;

fn main() {
  let (output_port, _) = comm::stream::<int>();
  let ports = ~[output_port];
  for ports.each |&p| {}
}

I have a vague suspicion that this has to do with #3235 because I don't think that the iteration in the for loop can capture p by value with the & match.

@nikomatsakis
Copy link
Contributor

Dup of #3235 (and I have added a similar test in my branch)

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

4 participants