> > I will share ones we are using in case you find some of them interesting:
> >
> >
> ASAN_OPTIONS=abort_on_error=true:color=never:halt_on_error=true:print_summary=true:strict_string_check
> s=true:check_initialization_order=true:detect_stack_use_after_return=true:heap_profile=false:print_sca
> riness=true:strict_init_order=true:verify_asan_link_order=false
> >
> LSAN_OPTIONS=abort_on_error=true:color=never:halt_on_error=true:print_summary=true:strict_string_check
> s=true
> >
> UBSAN_OPTIONS=abort_on_error=true:color=never:halt_on_error=true:print_summary=true:strict_string_chec
> ks=true:print_stacktrace=true:report_error_type=true
> >
> > (Admittedly some of them might be unnecessary or nonsensical, they depend on
> > compiler and it's not easy to find documentation.)
> 
> Did those options help with understanding failures in unit tests?

print_stacktrace is probably the most important for understanding failures.
Some of the rest detect additional problems, others are mostly nice-to-have
cosmetics (e.g. disabling ANSI sequences).

heap_profile was found to be useful for debugging but not for everyday tests
since it may cause process to hang on exit (may depend on other options).

verify_asan_link_order=false is generally not needed, it disables a self-check.

report_error_type is very useful for adding suppressions.

> I see "abort" or "halt" options in this list, does it stop execution
> of all the tests?

No, they only affects dpdk-test process, and meson runs each test in a separate
process here, so continues running other tests. Both of them get set by my
version of meson itself BTW. If set to false sanitizer complains to terminal
but the test may actually pass (depending on specific problem).

Reply via email to