-
Notifications
You must be signed in to change notification settings - Fork 30k
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
build: re-enable ASAN Action using clang #32776
Conversation
Signed-off-by: Matheus Marchini <mmarchini@netflix.com>
clang's linker seems to use considerably less memory than gcc, allowing us to run on Actions without running out of memory. Signed-off-by: Matheus Marchini <mmarchini@netflix.com>
This deliberately doesn’t run any js tests? |
Yes, only cctests are passing for now since we still have asan violations to fix in our codebase. Once we fix those we can enable js tests as well. This just makes sure we don't regress our build our cctests in the future. |
It looks like the re-added ASAN workflow completed in 50mins, which is much better than before when it was run in debug mode (and took 2.5+ hours) and is in line with the other build and test workflows. Still do we want to consider only running this for non-doc-only changes? |
+1 for this. But I am thinking add js test back with |
Running only on non-doc-only changes makes sense as long as we do it for the other build/test workflows as well. This should be a separate pull request. I don't think continue on error is useful until GitHub distinguishes it from actual successful results, so I'm not introducing it on this pull request. |
Signed-off-by: Matheus Marchini <mmarchini@netflix.com> PR-URL: #32776 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
clang's linker seems to use considerably less memory than gcc, allowing us to run on Actions without running out of memory. Signed-off-by: Matheus Marchini <mmarchini@netflix.com> PR-URL: #32776 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Landed in 61e589f...81c03bc |
Signed-off-by: Matheus Marchini <mmarchini@netflix.com> PR-URL: #32776 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
clang's linker seems to use considerably less memory than gcc, allowing us to run on Actions without running out of memory. Signed-off-by: Matheus Marchini <mmarchini@netflix.com> PR-URL: #32776 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Signed-off-by: Matheus Marchini <mmarchini@netflix.com> PR-URL: nodejs#32776 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
@mmarchini Btw, with
the ASAN build passes for me with the exception of 2 tests that measure memory usage… do you have any plans to extend the ASAN build to a full test run? |
Which env are you using, last time I checked, 30 test failed. System:
OS: Linux 5.0 Ubuntu 19.10 (Eoan Ermine)
CPU: (2) x64 Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz
Memory: 3.02 GB / 6.78 GB
Container: Yes
Shell: 5.0.3 - /bin/bash
Binaries:
Node: 13.12.0 - /usr/local/bin/node
Yarn: 1.22.4 - /usr/local/bin/yarn
npm: 6.14.4 - /usr/local/bin/npm
Managers:
Apt: 1.9.4 - /usr/bin/apt
pip3: 20.0.2 - /usr/local/bin/pip3
Utilities:
CMake: 3.16.3 - /usr/local/bin/cmake
Make: 4.2.1 - /usr/bin/make
GCC: 9.2.1 - /usr/bin/gcc
Git: 2.20.1 - /usr/bin/git
Clang: 9.0.0-2 - /usr/bin/clang |
@gengjiawen The system I tested on uses Clang 8 and Ubuntu 16.04, but I’d assume that the failures aren’t all too platform-dependent. |
@gengjiawen are you using GCC? I noticed some likely false negatives when building with gcc. @addaleax yes, the plan is to enable more test suites. Thank you for looking into it! Maybe we can allow the remaining two tests to fail until we figure them out. Or just enable a subset of JS tests until we fix those, for example, assuming the failing tests are on parallel we only enable sequential. |
Nope, clang 9. But I am using debug asan build. Perhaps this the reason since it's more slower.
Another option is if we detect asan build (via |
Yes, that's what I meant :) |
Signed-off-by: Matheus Marchini <mmarchini@netflix.com> PR-URL: #32776 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
clang's linker seems to use considerably less memory than gcc, allowing us to run on Actions without running out of memory. Signed-off-by: Matheus Marchini <mmarchini@netflix.com> PR-URL: #32776 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Signed-off-by: Matheus Marchini <mmarchini@netflix.com> PR-URL: #32776 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Running tests with an ASAN build leads to increased memory usage, rendering the memory usage assumptions in the test invalid. Refs: nodejs#32776 (comment)
Running tests with an ASAN build leads to increased memory usage, rendering the memory usage assumptions in the test invalid. Refs: #32776 (comment) PR-URL: #33129 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Matheus Marchini <mat@mmarchini.me> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Running tests with an ASAN build leads to increased memory usage, rendering the memory usage assumptions in the test invalid. Refs: #32776 (comment) PR-URL: #33129 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Matheus Marchini <mat@mmarchini.me> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Running tests with an ASAN build leads to increased memory usage, rendering the memory usage assumptions in the test invalid. Refs: #32776 (comment) PR-URL: #33129 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Matheus Marchini <mat@mmarchini.me> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Running tests with an ASAN build leads to increased memory usage, rendering the memory usage assumptions in the test invalid. Refs: #32776 (comment) PR-URL: #33129 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Matheus Marchini <mat@mmarchini.me> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
clang's linker seems to use considerably less memory than gcc, allowing
us to run on Actions without running out of memory.
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passes