as far as I can see the reason for this is that in rev 10638 the method call path did go out of ScriptBytecodeAdapter into call site caching. At that point the usual exception unwraping we do in unwarp of that class went into a direct call in the class itselft. As a result the unwrap call is nowat the very end of the method. Now as a performance optimization we have stackless exception in case the method is not found. these Exception are catched and converted in unwrap. In 1.5.x the unwrap happens before we go back in the calling bytecode. In 1.6 it is part of the calling bytecode. As a result the line number information is now wrong.