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