Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 4828693
Votes 0
Synopsis SPECjvm98 _227_mtrt failed sometimes with option -server on Windows
Category hotspot:compiler2
Reported Against mantis-beta
Release Fixed 1.4.2(mantis-b20)
State 10-Fix Delivered, bug
Priority: 1-Very High
Related Bugs 4862677
Submit Date 06-MAR-2003
Description
I used the next batch file to run SPECjvm 98 in loop:

jaberwocky% cat bug.bat
@echo off
@echo Begin:
date /t
time /t
set ILOOP=1

:loop
V:\jdk\1.4.2\promoted\beta\b18\binaries\windows-i586\bin\java -client -XX:+PrintCompilation -XX:SelfDestructTimer=120 SpecApplication -a -m4 -M4 _227_mtrt > spec.log

type spec.log | grep error
if %errorlevel% == 0 goto end

del spec.log
@echo Iteration %ILOOP% completed
set /A ILOOP=%ILOOP%+1
goto loop

:end
@echo Iteration = %ILOOP%
@echo End:
date /t
time /t
jaberwocky% 

One run the execution hangs on the iteration 80. I attached the spec_hang.log.

An  xxxxx  run it gives incorrect output:

C:\SPECjvm98>bug
Begin:
Thu 03/06/2003
11:51a
Iteration 1 completed
Iteration 2 completed
Iteration 3 completed
Iteration 4 completed
Iteration 5 completed
Iteration 6 completed
Iteration 7 completed
Iteration 8 completed
Iteration 9 completed
Validity check errors:
spec.results._227_mtrt.run0.validity.error01=line 118 is: 3425877
Iteration = 10
End:
Thu 03/06/2003
11:55a

C:\SPECjvm98>
 
I attached the spec.log and spec_good.log.

With option -client it executed more then 300 iterations before I 
interrapted it.

The specs were copied from /net/balvenie/export/imgr/SPECjvm98/
this is the version used by i_manager.

An  xxxxx  run and one line from output is missed (attached spec_miss.log).
Work Around
N/A
Evaluation
 xxxxx@xxxxx  2003-03-28

With big Mike's help we found the the problem in the restoring XMM registers
during Safepoint processing. The stack pointer was incorrectly modified
before restoring XMM registers in the illegal_instruction_handler_blob().

The next test was prepared to show the problem.

/net/jano/export/disk20/GammaBase/Bugs/4828693/Test.java

>c:\j2sdk1.4.2.b18\bin\java_g -imgr -XX:+SafepointALot -XX:Guarantee
dSafepointInterval=1 -Xcomp -XX:CompileOnly=Hello.foo -XX:+ShowSafepointMsgs Hel
lo
VM option '+SafepointALot'
VM option 'GuaranteedSafepointInterval=1'
VM option 'CompileOnly=Hello.foo'
VM option '+ShowSafepointMsgs'
Thread in native stub.
Thread in native stub.
Hello!
0
10
...
### Compiled code: foo. pc: 0x00ad5560
############# Original nmethod ################
Compiled {method} 'foo' '()V' in 'Hello'
 main code      [0x00ad53f0,0x00ad57f4] = 1028
 exception code [0x00ad57f4,0x00ad5800] = 12
 stub code      [0x00ad5800,0x00ad5828] = 40
 relocation     [0x00ad53b4,0x00ad53f0] = 60
 oops           [0x00ad59e4,0x00ad5a24] = 64
 scopes data    [0x00ad5828,0x00ad5978] = 336
 scopes pcs     [0x00ad5978,0x00ad59a0] = 40
 handler table  [0x00ad59a0,0x00ad59e0] = 64
 nul chk table  [0x00ad59e0,0x00ad59e4] = 4
total size = 1820
Original code: [0x00ad53f0 - 0x00ad5828]
Code buffer:   [0x18571bd0 - 0x18572008]
Orignal pc:     0x00ad5560
handle_illegal_instruction_exception: static_call_type
X0(6859693.5) != Value(0.123456)
X1(1.741971E-39) != Value(0.123456)
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang