Open mbakke opened 4 years ago
Actually, these tests fail with the bundled zlib too. Any idea what I'm doing wrong?
Exit code -7 means the processes were terminated by a SIGBUS signal. Can you try this?
$ gdb --args out/Release/node test/parallel/test-zlib.js
> run
# wait for the crash, then post the output of:
> info registers
> thread apply all backtrace full
If you can test with the debug build, that'd be even better: make -j4 -C out BUILDTYPE=Debug
and change out/Release/node
to out/Debug/node
.
I don't have ARM hardware at hand, but did a debug build using Qemus user-mode emulation and binfmt_misc
. Lo and behold, out/Debug/node test/parallel/test-zlib.js
succeeds!
I'm fairly certain these tests failed in Qemu with the Release build type before, as some of our CI servers are using user-mode emulation. So I wonder if the failure could be related to compiler optimizations? This is using GCC 7.4.0 and glibc 2.29 FWIW.
Will conduct some more tests on the CI with different optimizations and compilers, and try to get access to proper hardware for debugging. Any other tips in the mean time welcome.
So I wonder if the failure could be related to compiler optimizations?
It's possible but of course it could also be a bug in qemu.
FWIW, our CI tests on real ARM hardware and doesn't have the issues you're seeing. I'm not sure if we build with the exact same version of gcc though.
What steps will reproduce the bug?
Build Node on ARMv7 with
--shared-zlib
, then runmake test-ci-js
.How often does it reproduce? Is there a required condition?
Every time.
What is the expected behavior?
Tests succeed.
What do you see instead?
Additional information