Catch/throw and exceptions do not propagate out of fibers #1519

Closed
headius opened this Issue Feb 21, 2014 · 1 comment

Projects

None yet

1 participant

@headius
Member
headius commented Feb 21, 2014

Perhaps due to exception-propgation fixes in 1.7.11, catch/throw stopped working across a fiber boundary.

This code will hang, because the fiber goes away but the waiter never receives the Continuation exception for the throw:

catch(:foo) do
  Fiber.new do
    throw :foo
  end.resume
end

Fix in progress.

@headius headius added this to the JRuby 1.7.11 milestone Feb 21, 2014
@headius headius self-assigned this Feb 21, 2014
@headius headius closed this in 83a7619 Feb 21, 2014
@headius
Member
headius commented Feb 21, 2014

An additional case that actually caused hangs during "bundle install" of deep dependency graphs:

Fiber.new { raise }.resume

I know, right? Fixed (or rather un-broken) by d784882.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment