axiangyushanhaijing / powerpoint

https://wiki.openjdk.java.net/display/jdk8u
GNU General Public License v2.0
6 stars 3 forks source link

SPECjvm2008测试记录 #261

Open axiangyushanhaijing opened 1 year ago

axiangyushanhaijing commented 1 year ago

参考 教程 方法,开始测试jdk8

当前报错

zhangxiang@k9-plct:~/rv32/SPECjvm$ /home/zhangxiang/rv-jdk8u/jdk8u/build/linux-riscv64-normal-core-slowdebug/jdk/bin/java -jar SPECjvm2008.jar -ikv -ict -coe startup.sunflow

SPECjvm2008 Base
  Properties file:   none
  Benchmarks:        startup.sunflow

  WARNING: Run will not be compliant.
  Property specjvm.run.initial.check must be true for publication.
  Not a compliant sequence of benchmarks for publication.
  Property specjvm.run.checksum.validation must be true for publication.

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

  Benchmark:   startup.sunflow
  Run mode:    static run
  Test type:   single
  Threads:     1
  Iterations:  1
  Run length:  1 operation

Iteration 1 (1 operation) begins: Wed Jan 11 08:49:29 CST 2023
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x000000400ba11cbc, pid=1852613, tid=0x00000040478c91e0
#
# JRE version: OpenJDK Runtime Environment (8.0_352) (build 1.8.0_352-internal-debug-zhangxiang_2023_01_10_13_18-b00)
# Java VM: OpenJDK 64-Bit  VM (25.352-b00-debug interpreted mode linux-riscv64 compressed oops)
# Problematic frame:
# v  ~BufferBlob::MethodHandles adapters
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /home/zhangxiang/rv32/SPECjvm/hs_err_pid1852613.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#
Current thread is 276078301664
Dumping core ...
Aborted
axiangyushanhaijing commented 1 year ago

查看报错log发现:

---------------  T H R E A D  ---------------

Current thread (0x0000004040001800):  JavaThread "BenchmarkThread startup.sunflow 1" [_thread_in_Java, id=1857545, stack(0x00000040476ca000,0x00000040478ca000)]

siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x000000000db97998

Registers:
pc      =0x000000400ba11cbc is at begin+368 in a stub
MethodHandle::interpreter_entry::_linkToStatic [0x000000400ba11b4c, 0x000000400ba11ccc[ (384 bytes)
x1(ra)  =0x000000400b8aa400 is at code_begin+2944 in an Interpreter codelet
invoke return entry points  [0x000000400b8a9880, 0x000000400b8aa700]  3712 bytes
x2(sp)  =0x00000040478c4890 is pointing into the stack for thread: 0x0000004040001800
x3(gp)  =0x0000004000002800 is an unknown value
x4(tp)  =0x00000040478c98f0 is pointing into the stack for thread: 0x0000004040001800
x5(t0)  =0x00000000000000bc is an unknown value
x6(t1)  =0x00000000000000bc is an unknown value
x7(t2)  =0x0000000000000001 is an unknown value
x8(s0)  =0x00000040478c4910 is pointing into the stack for thread: 0x0000004040001800
x9(s1)  =0x00000000000000b8 is an unknown value
x10(a0) =0x0000000000000000 is an unknown value
x11(a1) =0x0000000000000008 is an unknown value
x12(a2) =0x0000000000000008 is an unknown value
x13(a3) =0x0000000080400001 is an unknown value
x14(a4) =0x0000000000000001 is an unknown value
x15(a5) =0x0000000000000000 is an unknown value
x16(a6) =0xfffffffffffffffe is an unknown value

针对MethodHandle::interpreter_entry::_linkToStatic相关代码进行review 已提 #263

axiangyushanhaijing commented 1 year ago

image

axiangyushanhaijing commented 1 year ago

截止2023.02.06为止,基于 #265 ,总共能够通过26个case,通过率:68.4%

axiangyushanhaijing commented 1 year ago

截止2023.3.24 通过32个case,失败6个,通过率:84.2%。

参考:https://github.com/openjdk-riscv/jdk11u/issues/331#issuecomment-1014443531 使用命令 qemu64 /home/zhangxiang/rv-jdk8u/jdk8u/build/linux-riscv64-normal-core-slowdebug/jdk/bin/java-bak -jar SPECjvm2008.jar -ikv -ict -coe -i 1 -wt 0 -ops 1 -bt 1 $var >> new0324slowdebug_SPECjvm2008.log 2>&1

失败log:

ERROR: unable to delete directory: /tmp/SPECjvm2008/compiler.sunflow/sunflow/src/org
ERROR: unable to delete directory: /tmp/SPECjvm2008/compiler.sunflow/sunflow/src
ERROR: unable to delete directory: /tmp/SPECjvm2008/compiler.sunflow/sunflow
ERROR: unable to delete directory: /tmp/SPECjvm2008/compiler.sunflow
ERROR: unable to delete directory: /tmp/SPECjvm2008
ERROR: could not create: /tmp/SPECjvm2008/compiler.sunflow/sourcefiles.txt
java.io.FileNotFoundException: /tmp/SPECjvm2008/compiler.sunflow/sourcefiles.txt (Permission denied)
    at java.io.FileOutputStream.open0(Native Method)
    at java.io.FileOutputStream.open(FileOutputStream.java:270)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:162)
    at java.io.FileWriter.<init>(FileWriter.java:90)
axiangyushanhaijing commented 1 year ago

通过对比x86的测试情况,当前测试情况与x86保持一致。