Spike timeouts in riscv_pmp_full_random_test with experimental-maxperf-pmp-bmfull-icache config
Nobody has claimed this yet.
- Dominant language
- SystemVerilog
- Stars
- 2.1k
- Forks
- 810
- Avg merge
- 5d 23h
- Merged PRs (30d)
- 9
Description
I see spike timeouts in DV runs of the test riscv_pmp_full_random_test test. Below is one example, but I see them in multiple runs (not all of them):
2021-01-07T15:23:14.2445665Z Thu, 07 Jan 2021 15:23:14 INFO Running spike sim: out/seed-23315/instr_gen/asm_tests/riscv_pmp_full_random_test_11.o
2021-01-07T15:23:24.2463257Z Thu, 07 Jan 2021 15:23:24 ERROR Timeout[10s]: /nas/lowrisc/tools/spike-ibex/20201023-git-255bf1cacc599b1413438c269100f3ecd0eb3352/bin/spike --log-commits --isa=rv32imcb -l out/seed-23315/instr_gen/asm_tests/riscv_pmp_full_random_test_11.o &> out/seed-23315/instr_gen/spike_sim/riscv_pmp_full_random_test.11.log
From the spike log: The last "normal" instruction is the illegal instruction (is that intentional?). After that spike loops until the timeout through three instructions: j, addi, and sw.
core 0: 0xffffffff800018a8 (0x0000ffe2) c.fswsp fs8, 252(sp)
core 0: exception trap_illegal_instruction, epc 0xffffffff800018a8
core 0: tval 0x0000000000000000
core 0: 0x0000000080001800 (0x0800006f) j pc + 0x80
3 0x80001800 (0x0800006f)
core 0: 0xffffffff80001880 (0xf8498993) addi s3, s3, -124
3 0x80001880 (0xf8498993) x19 0x7fffffec
core 0: 0xffffffff80001884 (0x0019a223) sw ra, 4(s3)
core 0: exception trap_store_access_fault, epc 0xffffffff80001884
core 0: tval 0x000000007ffffff0
Logs:
- stdout log: log.txt
- Full build artifacts: https://artproduks1.artifacts.visualstudio.com/Ace3fc167-bb91-4c33-a65a-ae648df7f974/4efdbdf8-a184-4518-9864-57d2a49c2aed/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL2xvd3Jpc2MvcHJvamVjdElkLzRlZmRiZGY4LWExODQtNDUxOC05ODY0LTU3ZDJhNDljMmFlZC9idWlsZElkLzMwMzg0L2FydGlmYWN0TmFtZS9vdXQ1/content?format=file&subPath=%2Fout.tar.xz
Config:
- Config:
experimental-maxperf-pmp-bmfull-icache - Seed: 23315
- Tool: VCS 2020.1
@udinator would you mind having a look?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the timeout with seed 23315, the experimental-maxperf-pmp-bmfull-icache config, and riscv_pmp_full_random_test, then inspect the supplied stdout and Spike logs. Start with the illegal-instruction, jump, and store-access-fault sequence and determine why Spike loops; done means the cause is identified and the test completes without a timeout.
Written by the indexing model from the issue text.
Assessment
- Domain
- testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100