Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate flaky tests: cpu profiling #20

Open
kapouer opened this issue Jul 17, 2022 · 11 comments
Open

Investigate flaky tests: cpu profiling #20

kapouer opened this issue Jul 17, 2022 · 11 comments

Comments

@kapouer
Copy link

kapouer commented Jul 17, 2022

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
Copy link
Member

luyahan commented Jul 19, 2022

i will look it

@luyahan
Copy link
Member

luyahan commented Jul 20, 2022

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
Copy link
Author

kapouer commented Jul 20, 2022

Also: the tests don't fail in qemu.

@luyahan
Copy link
Member

luyahan commented Jul 25, 2022

Also: the tests don't fail in qemu.

What is your cpu where you get build log?

@luyahan
Copy link
Member

luyahan commented Jul 25, 2022

i run test on sifive unmatched.
All is ok

@kapouer
Copy link
Author

kapouer commented Jul 25, 2022

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
Copy link
Member

luyahan commented Jul 27, 2022

i run test on sifive unmatched. All is ok

System info:

Ubuntu 21.04 (GNU/Linux 5.11.0-1028-generic riscv64)

@kapouer
Copy link
Author

kapouer commented Jul 27, 2022

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

The main differences are:

  • it links with system shared libraries: uv, openssl, brotli, zlib, nghttp2, cares
  • on riscv64, there is an additional link with libatomic1 (https://packages.debian.org/sid/libnode108)
  • it is compiled with specific flags: -fvisibility=hidden, -g, -O3, -fno-omit-frame-pointer, -fPIC

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

@qjivy qjivy closed this as completed Jul 27, 2022
@qjivy qjivy reopened this Jul 27, 2022
@luyahan
Copy link
Member

luyahan commented Jul 28, 2022

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

failed test is random,

log1 log2 is run all test
log3 log4 run sequential only

@kapouer
Copy link
Author

kapouer commented Jul 28, 2022

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

@luyahan
Copy link
Member

luyahan commented Jul 28, 2022

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants