On Tue, 28 Mar 2023 15:05:41 GMT, Justin King <[email protected]> wrote:

> This change fixes or skips some NMT tests when running under ASan, as well as 
> fixing a leak.
> 
> - `allocator_may_return_null=1` is added as the default is `0`, meaning ASan 
> will never return `nullptr` and will instead crash. NMT tests check that 
> large allocations return `nullptr` so those do not work under ASan currently.
> - We skip tests that intentionally access memory outside the allocated range 
> or do things that ASan will catch, causing the tests to fail.
> - Fix a memory leak in `test_nmtpreinit.cpp`.
> - Enable coredumps to work on some platforms with ASan, some other tests rely 
> on this working.
> 
> All of this is related to ASan and NMT, so I opted to do it in a single 
> change.

Mostly good.

test/hotspot/gtest/nmt/test_nmt_buffer_overflow_detection.cpp line 46:

> 44: #define DEFINE_TEST(test_function, expected_assertion_message)            
>                 \
> 45:   TEST_VM_FATAL_ERROR_MSG_IF(ASAN_NOT_ENABLED(), NMT, test_function,      
>                 \
> 46:                              ".*" expected_assertion_message ".*") {      
>                 \

I'd prefer a simple ifndef ADDRESS_SANITIZER instead of xxx_IF. And a comment 
why this does not work with asan.

-------------

PR Review: https://git.openjdk.org/jdk/pull/13208#pullrequestreview-1373023156
PR Review Comment: https://git.openjdk.org/jdk/pull/13208#discussion_r1158590940

Reply via email to