-
Notifications
You must be signed in to change notification settings - Fork 615
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
Enable sanitizers in regular CI runs #3422
Conversation
CI MESSAGE: [3180966]: BUILD STARTED |
CI MESSAGE: [3180966]: BUILD PASSED |
CI MESSAGE: [3182601]: BUILD STARTED |
CI MESSAGE: [3182601]: BUILD FAILED |
CI MESSAGE: [3182601]: BUILD PASSED |
CI MESSAGE: [3188789]: BUILD STARTED |
CI MESSAGE: [3188789]: BUILD FAILED |
7216f50
to
5a41464
Compare
CI MESSAGE: [3197785]: BUILD STARTED |
CI MESSAGE: [3197785]: BUILD FAILED |
8c2710a
to
4508764
Compare
CI MESSAGE: [3213035]: BUILD STARTED |
CI MESSAGE: [3213035]: BUILD PASSED |
- adds a suppression list that should disable all detected and not DALI originated errors - makes all leaks to fail the test job - turns off `fast_unwind_on_malloc` to make the stack trace more accurate (but slower) and allow more accurate suppressions, when the frame pointer is not preserved (python binary) Signed-off-by: Janusz Lisiecki <jlisiecki@nvidia.com>
qa/test_template.sh
Outdated
export ASAN_SYMBOLIZER_PATH=$(which llvm-symbolizer) | ||
# avoid python false positives | ||
export PYTHONMALLOC=malloc | ||
# if something calls dlclose on a module that leaks and it happens before asan can extract symbols we get "unknown module" | ||
# in the stack trace, to prevent this provide dlclose that does nothing | ||
echo "int dlclose(void* a) { return 0; }" > /tmp/fake_dlclost.c && gcc -shared -o /tmp/libfakeclose.so /tmp/fake_dlclost.c |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
echo "int dlclose(void* a) { return 0; }" > /tmp/fake_dlclost.c && gcc -shared -o /tmp/libfakeclose.so /tmp/fake_dlclost.c | |
echo "int dlclose(void* a) { return 0; }" > /tmp/fake_dlclose.c && gcc -shared -o /tmp/libfakeclose.so /tmp/fake_dlclose.c |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Q: Wouldn't fake_dlclose simply hide leaks in some cases? Or will it run regardless at process teardown?
Also, how does it affect module unloading order?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a broader problem described and discussed google/sanitizers#89.
Wouldn't fake_dlclose simply hide leaks in some cases? Or will it run regardless at process teardown?
Yes, this trick would hide leaks of memory allocated in dlopen however in DALI we don't dlclose libs (except one), so the only leaks we would miss are from other libraries we won't fix anyway.
Also, how does it affect module unloading order?
I think there is no module unload in that case, the process is just closed and the whole memory is freed, But modules are not unloaded properly.
Signed-off-by: Janusz Lisiecki <jlisiecki@nvidia.com>
CI MESSAGE: [3223110]: BUILD STARTED |
CI MESSAGE: [3223110]: BUILD FAILED |
CI MESSAGE: [3226633]: BUILD STARTED |
CI MESSAGE: [3226633]: BUILD FAILED |
Signed-off-by: Janusz Lisiecki <jlisiecki@nvidia.com>
CI MESSAGE: [3231412]: BUILD STARTED |
CI MESSAGE: [3231412]: BUILD FAILED |
CI MESSAGE: [3231412]: BUILD PASSED |
* Enable sanitizers in regular CI runs - adds a suppression list that should disable all detected and not DALI originated errors - makes all leaks to fail the test job - turns off `fast_unwind_on_malloc` to make the stack trace more accurate (but slower) and allow more accurate suppressions, when the frame pointer is not preserved (python binary) - shortens tests TF based L0 test and excludes numpy_reader test when sanitizers are on Signed-off-by: Janusz Lisiecki <jlisiecki@nvidia.com> Signed-off-by: Maksymilian Grochowski <mg417883@students.mimuw.edu.pl>
* Enable sanitizers in regular CI runs - adds a suppression list that should disable all detected and not DALI originated errors - makes all leaks to fail the test job - turns off `fast_unwind_on_malloc` to make the stack trace more accurate (but slower) and allow more accurate suppressions, when the frame pointer is not preserved (python binary) - shortens tests TF based L0 test and excludes numpy_reader test when sanitizers are on Signed-off-by: Janusz Lisiecki <jlisiecki@nvidia.com> Signed-off-by: Maksymilian Grochowski <mg417883@students.mimuw.edu.pl>
* Enable sanitizers in regular CI runs - adds a suppression list that should disable all detected and not DALI originated errors - makes all leaks to fail the test job - turns off `fast_unwind_on_malloc` to make the stack trace more accurate (but slower) and allow more accurate suppressions, when the frame pointer is not preserved (python binary) - shortens tests TF based L0 test and excludes numpy_reader test when sanitizers are on Signed-off-by: Janusz Lisiecki <jlisiecki@nvidia.com>
* Enable sanitizers in regular CI runs - adds a suppression list that should disable all detected and not DALI originated errors - makes all leaks to fail the test job - turns off `fast_unwind_on_malloc` to make the stack trace more accurate (but slower) and allow more accurate suppressions, when the frame pointer is not preserved (python binary) - shortens tests TF based L0 test and excludes numpy_reader test when sanitizers are on Signed-off-by: Janusz Lisiecki <jlisiecki@nvidia.com>
* Enable sanitizers in regular CI runs - adds a suppression list that should disable all detected and not DALI originated errors - makes all leaks to fail the test job - turns off `fast_unwind_on_malloc` to make the stack trace more accurate (but slower) and allow more accurate suppressions, when the frame pointer is not preserved (python binary) - shortens tests TF based L0 test and excludes numpy_reader test when sanitizers are on Signed-off-by: Janusz Lisiecki <jlisiecki@nvidia.com>
* Enable sanitizers in regular CI runs - adds a suppression list that should disable all detected and not DALI originated errors - makes all leaks to fail the test job - turns off `fast_unwind_on_malloc` to make the stack trace more accurate (but slower) and allow more accurate suppressions, when the frame pointer is not preserved (python binary) - shortens tests TF based L0 test and excludes numpy_reader test when sanitizers are on Signed-off-by: Janusz Lisiecki <jlisiecki@nvidia.com>
* Enable sanitizers in regular CI runs - adds a suppression list that should disable all detected and not DALI originated errors - makes all leaks to fail the test job - turns off `fast_unwind_on_malloc` to make the stack trace more accurate (but slower) and allow more accurate suppressions, when the frame pointer is not preserved (python binary) - shortens tests TF based L0 test and excludes numpy_reader test when sanitizers are on Signed-off-by: Janusz Lisiecki <jlisiecki@nvidia.com>
* Enable sanitizers in regular CI runs - adds a suppression list that should disable all detected and not DALI originated errors - makes all leaks to fail the test job - turns off `fast_unwind_on_malloc` to make the stack trace more accurate (but slower) and allow more accurate suppressions, when the frame pointer is not preserved (python binary) - shortens tests TF based L0 test and excludes numpy_reader test when sanitizers are on Signed-off-by: Janusz Lisiecki <jlisiecki@nvidia.com>
* Enable sanitizers in regular CI runs - adds a suppression list that should disable all detected and not DALI originated errors - makes all leaks to fail the test job - turns off `fast_unwind_on_malloc` to make the stack trace more accurate (but slower) and allow more accurate suppressions, when the frame pointer is not preserved (python binary) - shortens tests TF based L0 test and excludes numpy_reader test when sanitizers are on Signed-off-by: Janusz Lisiecki <jlisiecki@nvidia.com>
* Enable sanitizers in regular CI runs - adds a suppression list that should disable all detected and not DALI originated errors - makes all leaks to fail the test job - turns off `fast_unwind_on_malloc` to make the stack trace more accurate (but slower) and allow more accurate suppressions, when the frame pointer is not preserved (python binary) - shortens tests TF based L0 test and excludes numpy_reader test when sanitizers are on Signed-off-by: Janusz Lisiecki <jlisiecki@nvidia.com>
* Enable sanitizers in regular CI runs - adds a suppression list that should disable all detected and not DALI originated errors - makes all leaks to fail the test job - turns off `fast_unwind_on_malloc` to make the stack trace more accurate (but slower) and allow more accurate suppressions, when the frame pointer is not preserved (python binary) - shortens tests TF based L0 test and excludes numpy_reader test when sanitizers are on Signed-off-by: Janusz Lisiecki <jlisiecki@nvidia.com>
* Enable sanitizers in regular CI runs - adds a suppression list that should disable all detected and not DALI originated errors - makes all leaks to fail the test job - turns off `fast_unwind_on_malloc` to make the stack trace more accurate (but slower) and allow more accurate suppressions, when the frame pointer is not preserved (python binary) - shortens tests TF based L0 test and excludes numpy_reader test when sanitizers are on Signed-off-by: Janusz Lisiecki <jlisiecki@nvidia.com>
* Enable sanitizers in regular CI runs - adds a suppression list that should disable all detected and not DALI originated errors - makes all leaks to fail the test job - turns off `fast_unwind_on_malloc` to make the stack trace more accurate (but slower) and allow more accurate suppressions, when the frame pointer is not preserved (python binary) - shortens tests TF based L0 test and excludes numpy_reader test when sanitizers are on Signed-off-by: Janusz Lisiecki <jlisiecki@nvidia.com>
* Enable sanitizers in regular CI runs - adds a suppression list that should disable all detected and not DALI originated errors - makes all leaks to fail the test job - turns off `fast_unwind_on_malloc` to make the stack trace more accurate (but slower) and allow more accurate suppressions, when the frame pointer is not preserved (python binary) - shortens tests TF based L0 test and excludes numpy_reader test when sanitizers are on Signed-off-by: Janusz Lisiecki <jlisiecki@nvidia.com>
* Enable sanitizers in regular CI runs - adds a suppression list that should disable all detected and not DALI originated errors - makes all leaks to fail the test job - turns off `fast_unwind_on_malloc` to make the stack trace more accurate (but slower) and allow more accurate suppressions, when the frame pointer is not preserved (python binary) - shortens tests TF based L0 test and excludes numpy_reader test when sanitizers are on Signed-off-by: Janusz Lisiecki <jlisiecki@nvidia.com>
* Enable sanitizers in regular CI runs - adds a suppression list that should disable all detected and not DALI originated errors - makes all leaks to fail the test job - turns off `fast_unwind_on_malloc` to make the stack trace more accurate (but slower) and allow more accurate suppressions, when the frame pointer is not preserved (python binary) - shortens tests TF based L0 test and excludes numpy_reader test when sanitizers are on Signed-off-by: Janusz Lisiecki <jlisiecki@nvidia.com>
* Enable sanitizers in regular CI runs - adds a suppression list that should disable all detected and not DALI originated errors - makes all leaks to fail the test job - turns off `fast_unwind_on_malloc` to make the stack trace more accurate (but slower) and allow more accurate suppressions, when the frame pointer is not preserved (python binary) - shortens tests TF based L0 test and excludes numpy_reader test when sanitizers are on Signed-off-by: Janusz Lisiecki <jlisiecki@nvidia.com>
* Enable sanitizers in regular CI runs - adds a suppression list that should disable all detected and not DALI originated errors - makes all leaks to fail the test job - turns off `fast_unwind_on_malloc` to make the stack trace more accurate (but slower) and allow more accurate suppressions, when the frame pointer is not preserved (python binary) - shortens tests TF based L0 test and excludes numpy_reader test when sanitizers are on Signed-off-by: Janusz Lisiecki <jlisiecki@nvidia.com>
and not DALI originated errors
fast_unwind_on_malloc
to make the stack tracemore accurate (but slower) and allow more accurate suppressions,
when the frame pointer is not preserved (python binary)
Signed-off-by: Janusz Lisiecki jlisiecki@nvidia.com
Description
What happened in this PR
and not DALI originated errors
fast_unwind_on_malloc
to make the stack tracemore accurate (but slower) and allow more accurate suppressions,
when the frame pointer is not preserved (python binary)
Additional information
Checklist
Tests
Documentation
DALI team only
Requirements
REQ IDs: N/A
JIRA TASK: DALI-2403