United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7004530 casx used for 32 bit cas after 7003554
JDK-7004530 : casx used for 32 bit cas after 7003554

Details
Type:
Bug
Submit Date:
2010-12-03
Status:
Closed
Updated Date:
2011-03-08
Project Name:
JDK
Resolved Date:
2011-03-08
Component:
hotspot
OS:
solaris_9
Sub-Component:
compiler
CPU:
sparc
Priority:
P2
Resolution:
Fixed
Affected Versions:
hs20
Fixed Versions:
hs20 (b04)

Related Reports
Backport:
Backport:
Relates:

Sub Tasks

Description
All SEGV at the same compiled method at the same instruction:

http://sqeweb.sfbay.sun.com/nfs/results/vm/gtee/JDK7/NIGHTLY/VM/2010-12-02/Comp_Baseline/javase/solaris-sparc/client/comp/solaris-sparc_javase_client_comp_JT_HS/workDir/closed/compiler/6512111/CorruptFinalLong/hs_err_pid24481.log

#  SIGSEGV (0xb) at pc=0xfb58d700, pid=29531, tid=16
#
# JRE version: 7.0
# Java VM: OpenJDK Client VM (20.0-b03-201012021241.ct232829.6998985-fastdebug compiled mode solaris-sparc )
# Problematic frame:
# J java.util.concurrent.atomic.AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl.compareAndSet(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
#

;; 00000000fb67c840 c7 f6 10 01             casx  [ %i0 ], %g1, %g3

                                    

Comments
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/7601ab0e1e33
                                     
2010-12-03
EVALUATION

7004530: casx used for 32 bit cas after 7003554
Reviewed-by: kvn, iveresov

The cas changes for compressed oops accidentally switched to using
casx all the time which crashes in 32 bit.  The fix is to use cas_ptr.
Tested with failing test from nightly.
                                     
2010-12-03
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot/hotspot/rev/7601ab0e1e33
                                     
2010-12-16
EVALUATION

http://hg.openjdk.java.net/jdk7/build/hotspot/rev/7601ab0e1e33
                                     
2010-12-25



Hardware and Software, Engineered to Work Together