Rescue optimization over-optimizes rescue body with $! #4240

headius opened this Issue Oct 21, 2016 · 0 comments


None yet

2 participants

headius commented Oct 21, 2016


Probably all JRuby releases since we started optimizing trivial rescues.

Expected Behavior

The exception in the following code should have a proper backtrace and not blow up in backtrace_locations.

$ jruby -e 'exception = (1 / 0) rescue $!; exception.backtrace_locations'
Unhandled Java exception: java.lang.NullPointerException
java.lang.NullPointerException: null
               backtrace_locations at org/jruby/

Actual Behavior

It doesn't have a backtrace and it blows up. $! is not being treated as an escape condition for the exception.

@enebo enebo added this to the JRuby milestone Oct 21, 2016
@enebo enebo added the ir label Oct 21, 2016
@enebo enebo closed this in bc7c127 Oct 21, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment