United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7150051 incorrect oopmap in critical native
JDK-7150051 : incorrect oopmap in critical native

Details
Type:
Bug
Submit Date:
2012-03-01
Status:
Closed
Updated Date:
2012-11-07
Project Name:
JDK
Resolved Date:
2012-03-24
Component:
hotspot
OS:
solaris_10
Sub-Component:
compiler
CPU:
x86
Priority:
P2
Resolution:
Fixed
Affected Versions:
hs23
Fixed Versions:
7u4 (b16)

Related Reports
Backport:
Backport:
Backport:
Backport:
Relates:
Relates:

Sub Tasks

Description
I missed this issue in 7145024.


sun/security/ssl/com/sun/net/ssl/internal/ssl/GenSSLConfigs/main.java is crashing in JPRT. The error log is typically a crash in GC walking a thread stack when another thread is in com.oracle.security.ucrypto.NativeDigest.nativeUpdate.

                                    

Comments
EVALUATION

The slot if being incremented before it's used to generate the oopmap entry so it's off by one.
             
diff -r 2ee7dcc77c63 src/cpu/x86/vm/sharedRuntime_x86_64.cpp
--- a/src/cpu/x86/vm/sharedRuntime_x86_64.cpp
+++ b/src/cpu/x86/vm/sharedRuntime_x86_64.cpp
@@ -1197,7 +1197,6 @@
     if (in_regs[i].first()->is_Register() &&
         (in_sig_bt[i] == T_LONG || in_sig_bt[i] == T_ARRAY)) {
       int offset = slot * VMRegImpl::stack_slot_size;
-      slot += VMRegImpl::slots_per_word;
       if (map != NULL) {
         __ movq(Address(rsp, offset), in_regs[i].first()->as_Register());
         if (in_sig_bt[i] == T_ARRAY) {
@@ -1206,6 +1205,7 @@
       } else {
         __ movq(in_regs[i].first()->as_Register(), Address(rsp, offset));
       }
+      slot += VMRegImpl::slots_per_word;
     }
   }
   // Save or restore single word registers
                                     
2012-03-01
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/031df0387c09
                                     
2012-03-02
EVALUATION

http://hg.openjdk.java.net/hsx/hsx23/hotspot/rev/34a4f7687460
                                     
2012-03-08
EVALUATION

http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/031df0387c09
                                     
2012-03-22



Hardware and Software, Engineered to Work Together