JDK-7052219 : JSR 292: Crash in ~BufferBlob::MethodHandles adapters
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs21
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2011-06-07
  • Updated: 2012-12-05
  • Resolved: 2011-06-18
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 7 JDK 8 Other
7Fixed 8Fixed hs21Fixed
Related Reports
Duplicate :  
Duplicate :  
Relates :  
Description
VM crashed on many platforms:

#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000002cf416f, pid=151728, tid=155572
#
# JRE version: 7.0-b144
# Java VM: Java HotSpot(TM) 64-Bit Server VM (21.0-b14 compiled mode windows-amd64 compressed oops)
# Problematic frame:
# v  ~BufferBlob::MethodHandles adapters
#

Stack: [0x0000000014a30000,0x0000000014b30000],  sp=0x0000000014b2ef78,  free space=1019k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
v  ~BufferBlob::MethodHandles adapters

Stack: [0x00007ffffe75f000,0x00007ffffe85f000],  sp=0x00007ffffe85def0,  free space=1019k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
v  ~BufferBlob::MethodHandles adapters
J  java.lang.invoke.MethodHandles$1.invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
C  0x00007ffffe85e0f0

Stack: [0x01c30000,0x01c80000],  sp=0x01c7f718,  free space=317k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
v  ~BufferBlob::MethodHandles adapters
j  java.lang.invoke.MethodHandleImpl$GuardWithCatch.invoke_V([Ljava/lang/Object;)Ljava/lang/Object;+5
j  java.lang.invoke.MethodHandleImpl$GuardWithCatch.invoke_V([Ljava/lang/Object;)Ljava/lang/Object;+5
J  java.lang.invoke.MethodHandle.invokeWithArguments([Ljava/lang/Object;)Ljava/lang/Object;

Comments
EVALUATION http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/f8c9417e3571
18-06-2011

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-rt/hotspot/rev/a9b8b43b115f
18-06-2011

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/a9b8b43b115f
17-06-2011

EVALUATION 7052219: JSR 292: Crash in ~BufferBlob::MethodHandles adapters Reviewed-by: twisti, kvn, jrose There were a set of bugs on both the JDK and VM side when dealing with rotation of arguments that could cause argument shearing which resulted in a large class of failures. The mostly obvious ones were crashes from corrupted oops but it caused failures in other computations. The primary bug was inconsistent rules for how the rotate was specified when writing over a double word value but there were also issues with how the source size was accounted for. The main assembly had to be slightly adjusted to take this into account. Equivalent adjustments in the MethodHandleWalk were needed as well. I also included a minor fix to skip unneeded interface checkcasts. The verify logic was adjust to correctly complain about all these cases and there were some minor printing changes needed for debugging. Tested on x86 and sparc 32/64 with the regression tests and vm.mlvm in both product and fastdebug. All regression tests ran cleanly and the vm.mlwm tests are as clean as expected. All the product crashes we'd been seeing before are fixed, though there's still some undiagnosed issue on sparc that results in occasional crashes in one of the stress tests.
15-06-2011

EVALUATION http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/f8c9417e3571
15-06-2011

EVALUATION 7052202 is being used for the JDK side of this issue and this bug is for the JDK side.
14-06-2011

EVALUATION probably the same issue as 7052202.
08-06-2011