v8-riscv / node

Node.js on RISC-V! See the link below to learn more and try it out.
https://github.com/v8-riscv/node/wiki
Other
29 stars 4 forks source link

Investigate flaky tests: cpu profiling #20

Open kapouer opened 2 years ago

kapouer commented 2 years ago

Test

All sequential profiling tests

Platform

linux/debian bookworm/experimental nodejs 18.6.0

Console output

Currently i can only get the build log with test log (search for "not ok"): https://buildd.debian.org/status/fetch.php?pkg=nodejs&arch=riscv64&ver=18.6.0%2Bdfsg-2&stamp=1658033553&raw=0

Build links

https://packages.debian.org/source/experimental/nodejs

Additional information

All failing tests: test-diagnostic-dir-cpu-prof test-cpu-prof-worker-argv test-cpu-prof-exit test-cpu-prof-kill test-diagnostic-dir-cpu-prof test-cpu-prof-dir-relative test-worker-prof

also possibly unrelated: test-debugger-preserve-breaks

luyahan commented 2 years ago

i will look it

luyahan commented 2 years ago
luyahan@plct-dev-7:~/source/node $ ./out/Debug/node --cpu-prof --cpu-prof-interval 50 --cpu-prof-dir prof 
std::0x51106f0
std::0x51106f0
std::0x51106f0
std::0x51106f0
std::0

#
# Fatal error in ../deps/v8/src/profiler/tick-sample.cc, line 251
# Debug check failed: regs->sp.
#
#
#
#FailureMessage Object: 0x40007fee90
Trace/breakpoint trap
kapouer commented 2 years ago

Also: the tests don't fail in qemu.

luyahan commented 2 years ago

Also: the tests don't fail in qemu.

What is your cpu where you get build log?

luyahan commented 2 years ago

i run test on sifive unmatched. All is ok

kapouer commented 2 years ago

Also: the tests don't fail in qemu.

What is your cpu where you get build log?

rv-osuosl-01 is an Hifive Unmatched (SiFive Freedom U740).

luyahan commented 2 years ago

i run test on sifive unmatched. All is ok

System info:

Ubuntu 21.04 (GNU/Linux 5.11.0-1028-generic riscv64)
kapouer commented 2 years ago

The version of node that fails there is the debianized one... which may explain the difference.

The main differences are:

Do you think one of those differences can explain the failures ?

luyahan commented 2 years ago

log1.txt log2.txt log3.txt log4.txt

failed test is random,

log1 log2 is run all test log3 log4 run sequential only

kapouer commented 2 years ago

Note that many failures in those logs are related to some missing extra tools (eslint, npm, ...) so they are not riscv64-related.

luyahan commented 2 years ago

Note that many failures in those logs are related to some missing extra tools (eslint, npm, ...) so they are not riscv64-related.

yes , we can only foucs on sequential.