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: 6864914
Votes 0
Synopsis SPECjvm2008 produces invalid result with zero based Compressed Oops
Category hotspot:compiler2
Reported Against
Release Fixed hs16(b08), 6u18(b01) (Bug ID:2181951) , 7(b71) (Bug ID:2182207)
State 10-Fix Delivered, bug
Priority: 3-Medium
Related Bugs 6868950 , 6869196
Submit Date 25-JUL-2009
Description
% java -XX:+UseCompressedOops -XX:+PrintCompressedOopsMode -Xmx4g -Xms4g -Xmn3g -jar SPECjvm2008.jar -icsv

heap address: 0x00000006fac00000, zero based Compressed Oops

...

--- --- --- --- --- --- --- --- ---

  Benchmark:   compiler.compiler
  Run mode:    timed run
  Test type:   multi
  Threads:     16
  Warmup:      120s
  Iterations:  1
  Run length:  240s
An exception has occurred in the compiler (1.7.0-opensource). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport)  after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report.  Thank you.
java.lang.NullPointerException
	at com.sun.tools.javac.code.Scope.lookup(Scope.java:284)
	at com.sun.tools.javac.comp.Resolve.findVar(Resolve.java:467)
	at com.sun.tools.javac.comp.Resolve.findIdent(Resolve.java:991)
	at com.sun.tools.javac.comp.Resolve.resolveIdent(Resolve.java:1173)
	at com.sun.tools.javac.comp.Attr.visitIdent(Attr.java:1760)
	at com.sun.tools.javac.tree.JCTree$JCIdent.accept(JCTree.java:1680)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:1845)
	at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1652)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.attribExpr(Attr.java:397)
	at com.sun.tools.javac.comp.Attr.visitBinary(Attr.java:1668)
	at com.sun.tools.javac.tree.JCTree$JCBinary.accept(JCTree.java:1540)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.visitParens(Attr.java:1584)
	at com.sun.tools.javac.tree.JCTree$JCParens.accept(JCTree.java:1416)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.attribExpr(Attr.java:397)
	at com.sun.tools.javac.comp.Attr.visitBinary(Attr.java:1667)
	at com.sun.tools.javac.tree.JCTree$JCBinary.accept(JCTree.java:1540)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.attribExpr(Attr.java:397)
	at com.sun.tools.javac.comp.Attr.visitBinary(Attr.java:1668)
	at com.sun.tools.javac.tree.JCTree$JCBinary.accept(JCTree.java:1540)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.attribExpr(Attr.java:397)
	at com.sun.tools.javac.comp.Attr.visitBinary(Attr.java:1667)
	at com.sun.tools.javac.tree.JCTree$JCBinary.accept(JCTree.java:1540)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.attribExpr(Attr.java:390)
	at com.sun.tools.javac.comp.Attr.visitReturn(Attr.java:1161)
	at com.sun.tools.javac.tree.JCTree$JCReturn.accept(JCTree.java:1216)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:410)
	at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:426)
	at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:762)
	at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:766)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:410)
	at com.sun.tools.javac.comp.Attr.visitMethodDef(Attr.java:681)
	at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:654)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:410)
	at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:2741)
	at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:2667)
	at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:2603)
	at com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:1051)
	at com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:780)
	at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:745)
	at com.sun.tools.javac.main.Main.compile(Main.java:381)
	at com.sun.tools.javac.main.Main.compile(Main.java:307)
	at spec.benchmarks.compiler.Compiler.compile(Compiler.java:32)
	at spec.benchmarks.compiler.MainBase.harnessMain(MainBase.java:58)
	at spec.benchmarks.compiler.compiler.Main.setupBenchmark(Main.java:40)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at spec.harness.ProgramRunner.invokeBmSetupBenchmark(ProgramRunner.java:183)
	at spec.harness.ProgramRunner.runBenchmark(ProgramRunner.java:301)
	at spec.harness.ProgramRunner.run(ProgramRunner.java:98)
ERROR: compiler exit code: 4

Warmup (120s) begins: Fri Jul 24 17:10: customer  PDT 2009
An exception has occurred in the compiler (1.7.0-opensource). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport)  after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report.  Thank you.
java.lang.NullPointerException
	at com.sun.tools.javac.code.Scope.lookup(Scope.java:284)
	at com.sun.tools.javac.comp.Resolve.findVar(Resolve.java:467)
	at com.sun.tools.javac.comp.Resolve.findIdent(Resolve.java:991)
	at com.sun.tools.javac.comp.Resolve.resolveIdent(Resolve.java:1173)
	at com.sun.tools.javac.comp.Attr.visitIdent(Attr.java:1760)
	at com.sun.tools.javac.tree.JCTree$JCIdent.accept(JCTree.java:1680)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:1845)
	at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1652)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:1845)
	at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1652)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:1845)
	at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1652)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.attribArgs(Attr.java:434)
	at com.sun.tools.javac.comp.Attr.visitApply(Attr.java:1280)
	at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1297)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.attribExpr(Attr.java:390)
	at com.sun.tools.javac.comp.Attr.visitAssign(Attr.java:1594)
	at com.sun.tools.javac.tree.JCTree$JCAssign.accept(JCTree.java:1441)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.attribExpr(Attr.java:397)
	at com.sun.tools.javac.comp.Attr.visitExec(Attr.java:1064)
	at com.sun.tools.javac.tree.JCTree$JCExpressionStatement.accept(JCTree.java:1143)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:410)
	at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:426)
	at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:762)
	at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:766)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:410)
	at com.sun.tools.javac.comp.Attr.visitIf(Attr.java:1056)
	at com.sun.tools.javac.tree.JCTree$JCIf.accept(JCTree.java:1116)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:410)
	at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:426)
	at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:762)
	at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:766)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:410)
	at com.sun.tools.javac.comp.Attr.visitMethodDef(Attr.java:681)
	at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:654)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:410)
	at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:2741)
	at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:2667)
	at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:2603)
	at com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:1051)
	at com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:780)
	at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:745)
	at com.sun.tools.javac.main.Main.compile(Main.java:381)
	at com.sun.tools.javac.main.Main.compile(Main.java:307)
	at spec.benchmarks.compiler.Compiler.compile(Compiler.java:32)
	at spec.benchmarks.compiler.MainBase.harnessMain(MainBase.java:53)
	at spec.harness.BenchmarkThread.runLoop(BenchmarkThread.java:170)
	at spec.harness.BenchmarkThread.executeIteration(BenchmarkThread.java:82)
	at spec.harness.BenchmarkThread.run(BenchmarkThread.java:59)
An exception has occurred in the compiler (1.7.0-opensource). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport)  after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report.  Thank you.
java.lang.NullPointerException
	at com.sun.tools.javac.code.Scope.lookup(Scope.java:284)
	at com.sun.tools.javac.comp.Resolve.findVar(Resolve.java:467)
	at com.sun.tools.javac.comp.Resolve.findIdent(Resolve.java:991)
	at com.sun.tools.javac.comp.Resolve.resolveIdent(Resolve.java:1173)
	at com.sun.tools.javac.comp.Attr.visitIdent(Attr.java:1760)
	at com.sun.tools.javac.tree.JCTree$JCIdent.accept(JCTree.java:1680)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:1845)
	at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1652)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:1845)
	at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1652)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:1845)
	at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1652)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.attribArgs(Attr.java:434)
	at com.sun.tools.javac.comp.Attr.visitApply(Attr.java:1280)
	at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1297)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.attribExpr(Attr.java:390)
	at com.sun.tools.javac.comp.Attr.visitAssign(Attr.java:1594)
	at com.sun.tools.javac.tree.JCTree$JCAssign.accept(JCTree.java:1441)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.attribExpr(Attr.java:397)
	at com.sun.tools.javac.comp.Attr.visitExec(Attr.java:1064)
	at com.sun.tools.javac.tree.JCTree$JCExpressionStatement.accept(JCTree.java:1143)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:410)
	at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:426)
	at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:762)
	at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:766)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:410)
	at com.sun.tools.javac.comp.Attr.visitIf(Attr.java:1056)
	at com.sun.tools.javac.tree.JCTree$JCIf.accept(JCTree.java:1116)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:410)
	at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:426)
	at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:762)
	at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:766)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:410)
	at com.sun.tools.javac.comp.Attr.visitMethodDef(Attr.java:681)
	at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:654)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:373)
	at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:410)
	at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:2741)
	at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:2667)
	at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:2603)
	at com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:1051)
	at com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:780)
	at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:745)
	at com.sun.tools.javac.main.Main.compile(Main.java:381)
	at com.sun.tools.javac.main.Main.compile(Main.java:307)
	at spec.benchmarks.compiler.Compiler.compile(Compiler.java:32)
	at spec.benchmarks.compiler.MainBase.harnessMain(MainBase.java:53)
	at spec.harness.BenchmarkThread.runLoop(BenchmarkThread.java:170)
	at spec.harness.BenchmarkThread.executeIteration(BenchmarkThread.java:82)
	at spec.harness.BenchmarkThread.run(BenchmarkThread.java:59)
Warmup (120s) ends:   Fri Jul 24 17:10:43 PDT 2009
Warmup (120s) result:  **NOT VALID**

Errors in benchmark: compiler.compiler
  [warmup] Harness interruped during measurement period.
  [warmup][bt:3|op:1] Validation failure on line 1.
    Expected output: 
    [001] Total checksum:5918346888751659393
    Received output: 
    [001] ERROR: compiler exit code: 4
Complete output: /export/home/kvn/SPECjvm2008/results/SPECjvm2008.009/compiler.compiler.bt3.i0.op1.error.log
Validation file: /export/home/kvn/SPECjvm2008/resources/compiler.compiler/validity.compiler.compiler.dat


  [warmup][bt:10|op:1] Validation failure on line 1.
    Expected output: 
    [001] Total checksum:5918346888751659393
    Received output: 
    [001] ERROR: compiler exit code: 4
Complete output: /export/home/kvn/SPECjvm2008/results/SPECjvm2008.009/compiler.compiler.bt10.i0.op1.error.log
Validation file: /export/home/kvn/SPECjvm2008/resources/compiler.compiler/validity.compiler.compiler.dat


Score on compiler.compiler:  **NOT VALID**

Benchmark compiler.compiler failed. Aborting run.

Results are stored in: 
/export/home/kvn/SPECjvm2008/results/SPECjvm2008.009/SPECjvm2008.009.raw
Generating reports in:
/export/home/kvn/SPECjvm2008/results/SPECjvm2008.009

Composite result: not valid 
%
Posted Date : 2009-07-25 00:28:16.0
Work Around
N/A
Evaluation
http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/60fea60a6db5
Posted Date : 2009-07-31 02:45:22.0

decodeHeapOop_not_null() defined as not modifying flags but
"shift" instruction is used for it when narrow oop base is zero.
Posted Date : 2009-07-31 06:19:49.0

http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/60fea60a6db5
Posted Date : 2009-08-10 07:36:03.0
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang