United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7150046 SIGILL on sparcv9 fastdebug
JDK-7150046 : SIGILL on sparcv9 fastdebug

Details
Type:
Bug
Submit Date:
2012-03-01
Status:
Closed
Updated Date:
2013-06-12
Project Name:
JDK
Resolved Date:
2012-03-10
Component:
hotspot
OS:
solaris
Sub-Component:
runtime
CPU:
sparc
Priority:
P2
Resolution:
Fixed
Affected Versions:
hs24
Fixed Versions:
hs24 (b03)

Related Reports
Backport:
Backport:
Duplicate:

Sub Tasks

Description
Tom writes:
On Feb 29, 2012, at 4:45 PM, David Holmes wrote:
> On 1/03/2012 10:37 AM, Tom Rodriguez wrote:
>> On Feb 29, 2012, at 4:19 PM, David Holmes wrote:
>>
>>> Does this look familiar to anyone?
>> A SIGILL in the interpreter is fairly odd.  Did you get an hs_err from it?  jprt
>> isn't very good at grabbing them anymore but if you look at the log for the run
>> you can often grab it off the machine as long as a new job hasn't started on it.
>>
> Managed to find the hserr log - attached. Crash reproduced on a resubmit too. 

I think you're in lock_method in templateInterpreter_sparc.cpp.

;; ffffffff7281bd08 d0 5c a0 18             ldx  [ %l2 + 0x18 ], %o0
;; ffffffff7281bd0c d0 5a 20 20             ldx  [ %o0 + 0x20 ], %o0
;; ffffffff7281bd10 d0 5a 20 78             ldx  [ %o0 + 0x78 ], %o0
;; ffffffff7281bd14 80 90 00 08             tst  %o0
;; ---------------
;; ffffffff7281bd18 83 d0 20 10             te  0x10
;; ffffffff7281bd1c 9c 23 a0 10             sub  %sp, 0x10, %sp
;; ffffffff7281bd20 a0 24 20 10             sub  %l0, 0x10, %l0
;; ffffffff7281bd24 a8 25 20 10             sub  %l4, 0x10, %l4
;; ffffffff7281bd28 d0 75 20 08             stx  %o0, [ %l4 + 8 ]
;; ffffffff7281bd2c c8 5a 20 00             ldx  [ %o0 ], %g4
;; ffffffff7281bd30 82 09 20 07             and  %g4, 7, %g1
;; ffffffff7281bd34 80 a0 60 05             cmp  %g1, 5

o0 is 0x0000000700000000.  This is the MacroAssembler that generates the trap:

#ifdef ASSERT
    __ tst(O0);
    __ breakpoint_trap(Assembler::zero);
#endif // ASSERT   

by default breakpoint_trap uses icc which isn't suitable for pointers.  It should be using ptr_cc which is of course xcc in 64 bit.  breakpoint_trap probably shouldn't have a default argument at all.

----

This crash is occuring during JPRT submissions:

JPRT: [east] job notification - FAILED with job 2012-03-01-011409.daholme.hotspot-emb

Failure reason: Targets failed.  Target solaris_sparcv9-fastdebug-c2-jvm98 FAILED. 

Problem may be exacerbated when running on Solaris zones/ldoms.

                                    

Comments
EVALUATION

See description
                                     
2012-03-01
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/8a48c2906f91
                                     
2012-03-05
EVALUATION

http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/8a48c2906f91
                                     
2012-03-22



Hardware and Software, Engineered to Work Together