Skip to content

dpdk: implement ASAN build and invocation#4046

Draft
mcgov wants to merge 5 commits intomainfrom
mcgov/asan-dpdk-merged
Draft

dpdk: implement ASAN build and invocation#4046
mcgov wants to merge 5 commits intomainfrom
mcgov/asan-dpdk-merged

Conversation

@mcgov
Copy link
Collaborator

@mcgov mcgov commented Oct 15, 2025

Implementing ASAN builds and invocations of DPDK, this requires:

  • LD_PRELOAD to force loading of the libasan.so library before others to hook malloc and free etc.
  • setting a meson build option -Db_sanitize=address
  • enlightening the Installer class to be aware of whether ASAN is desired.
  • passing a runbook option through to the DpdkTestpmd class from initialize_node_resources
  • setting ASAN_OPTIONS=detect_leaks=0 since we don't care about memory leaks during teardown.

ASAN and DPDK are not enabled globally for all testing (yet). It's useful for debugging segfaults and memory corruption during patch testing so I'd like to make using it easier.

With this PR series, you can set "dpdk_use_asan" to true in a runbook and build with ASAN.

mcgov added 4 commits October 15, 2025 07:29
Implementing ASAN builds and invocations of DPDK, this requires:
- LD_PRELOAD to force loading of the libasan.so library before others to hook malloc and free etc.
- setting a meson build option -Db_sanitize=address
- enlightening the Installer class to be aware of whether ASAN is desired.
- passing a runbook option through to the DpdkTestpmd class from initialize_node_resources
- setting ASAN_OPTIONS=detect_leaks=0 since we don't care about memory leaks during teardown.

ASAN and DPDK are not enabled globally for all testing (yet). It's useful for debugging segfaults
and memory corruption during patch testing so I'd like to make using it easier.

testpmd
@mcgov mcgov force-pushed the mcgov/asan-dpdk-merged branch from 61dc652 to c1495b3 Compare October 15, 2025 17:20
@mcgov mcgov force-pushed the mcgov/asan-dpdk-merged branch from c1495b3 to 9953e93 Compare October 15, 2025 20:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant