JDK-8025260 : Methodhandles/JSR292: NullPointerException (NPE) thrown instead of AbstractMethodError (AME)
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 8
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: x86
  • Submitted: 2013-09-23
  • Updated: 2013-10-17
  • Resolved: 2013-10-01
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8 Other
8Fixed hs25Fixed
Related Reports
Relates :  
Description
Various ute "defmeth" tests fail when a NullPointerException is thrown instead of an AbstractMethodError.
This occurs 24 times across a variety of cases in two different tests.  These failures can be seen in the attached file which includes the failing cases from a logfile.

The cause of this appears to be failure to translate null pointer exceptions into abstract method errors occurring in code compiled by methodHandles_x86.cpp.  It appears that NPE->AME is the convention; see vtableStubs_x86.cpp, for example (search for ame_addr) and templateTable_x86_32.cpp (search for no_such_method).

A fix can be applied to jump_from_method_handle in methodHandles_x86.cpp.
Comments
Also confirmed on Sparc.
23-09-2013