Add more Python-related leak suppressions.#6370
Conversation
|
CI MESSAGE: [52651772]: BUILD STARTED |
|
| Filename | Overview |
|---|---|
| qa/leak.sup | Removes two specific GC suppression entries (_PyObject_GC_New, _PyObject_GC_NewVar) now covered by the new wildcard PyObject_GC*, and adds 10 new Python 3.12 false-positive suppressions plus leak:/usr/bin/sort; file still lacks a trailing newline (pre-existing). |
| qa/test_template_impl.sh | Rewrites enable_sanitizer(): adds nvjpeg2k/nvtiff dep paths before nvimgcodec, moves ASAN_OPTIONS after path setup, switches start_deactivated from true to false, and adds malloc_context_size=64. When either nvjpeg2k or nvtiff is absent the |
| qa/TL0_cpu_only/test_nofw.sh | Mirrors test_template_impl.sh change: prepends nvjpeg2k and nvtiff lib paths before nvimgcodec; same trailing-colon risk when those packages are absent. |
| qa/TL0_cpu_only/test_pytorch.sh | Identical LD_LIBRARY_PATH expansion pattern as test_nofw.sh; same trailing-colon risk on missing packages. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[DALI_ENABLE_SANITIZERS set?] -->|yes| B[enable_sanitizer]
A -->|no| Z[run test_body normally]
B --> C[export PYTHONMALLOC=malloc]
C --> D[compile & preload libfakeclose.so]
D --> E[save OLD_LD_LIBRARY_PATH2]
E --> F[append nvjpeg2k /lib path]
F --> G[append nvtiff /lib path]
G --> H[append nvimgcodec dir]
H --> I["export ASAN_OPTIONS\nstart_deactivated=false\nmalloc_context_size=64\nleaks+symbolizer enabled"]
I --> J[export ASAN_SYMBOLIZER_PATH]
J --> K[run test_body]
K --> L[disable_sanitizer]
L --> M[process_sanitizers_logs]
M --> N{grep ERROR in sanitizer.log?}
N -->|yes| O[exit 1]
N -->|no| P[continue]
Reviews (4): Last reviewed commit: "Add more Python-related leak suppression..." | Re-trigger Greptile
| export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:"$(python -c 'import nvidia.nvjpeg2k as n, os; print(os.path.dirname(n.__file__) + "/lib")' 2>/dev/null)" | ||
| export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:"$(python -c 'import nvidia.nvtiff as n, os; print(os.path.dirname(n.__file__) + "/lib")' 2>/dev/null)" | ||
| export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:"$(python -c 'import nvidia.nvimgcodec as n, os; print(os.path.dirname(n.__file__))' 2>/dev/null)" |
There was a problem hiding this comment.
[Nit] The two new lines in
enable_sanitizer() use 2>/dev/null without || echo '', while the equivalent lines in test_nofw.sh and test_pytorch.sh use 2>/dev/null || echo ''. Both produce an empty string on failure, so the behaviour is identical, but the inconsistency may surprise a future reader. Consider aligning the style.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
|
CI MESSAGE: [52651772]: BUILD FAILED |
|
CI MESSAGE: [52687092]: BUILD STARTED |
- After moving to Python 3.12 for the sanitized build, new false positives have started appearing. This requires adding additional suppression entries and modifies sanitizer options. Signed-off-by: Janusz Lisiecki <jlisiecki@nvidia.com>
|
CI MESSAGE: [52701305]: BUILD FAILED |
|
CI MESSAGE: [52702362]: BUILD STARTED |
new false positives have started appearing. This requires
adding additional suppression entries and modifies sanitizer
options.
Category:
Other (e.g. Documentation, Tests, Configuration)
Description:
new false positives have started appearing. This requires
adding additional suppression entries.
Additional information:
Affected modules and functionalities:
Key points relevant for the review:
Tests:
Checklist
Documentation
DALI team only
Requirements
REQ IDs: N/A
JIRA TASK: N/A