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

Java exceptions raised in fibers cause the fiber to die without notifying parent #1106

Closed
headius opened this Issue Oct 9, 2013 · 0 comments

Comments

Projects
None yet
1 participant
@headius
Copy link
Member

headius commented Oct 9, 2013

If a Java exception is raised in a fiber body, it will cause the fiber to terminate, leaving any resuming thread hanging on a queue pop that will never be fulfilled. The issue is in the handling of exceptions in the thread logic; Ruby exceptions propagate to the parent but Java exceptions do not, and simply terminate the thread.

This is a local fix I am testing now: https://gist.github.com/6907734

headius added a commit that referenced this issue Oct 9, 2013

Propagate all exceptions out of fibers. Fixes #1106.
Only Ruby exceptions were propagating before. This modifies the
thread logic for fibers to also propaate the original Java
exception out in the same way.

This also allows Thread#raise to be called with a Java exception,
which was missing before and needed for this fix.

@headius headius closed this in 82b736b Oct 9, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.