Open
Description
ISSUE:
Environment Information
- PMDK package version(s): Any
- OS(es) version(s): Any
- ndctl version(s): Any
- kernel version(s): Any
- compiler, libraries, packaging and other related tools version(s): AFAIK any https://github.com/pmem/valgrind version available to date.
Please provide a reproduction of the bug:
How often bug is revealed: (always, often, rare): always
Actual behavior:
False negative.
Expected behavior:
- Either all tests/examples which make use of byte granularity have to be instrumented directly or
- These kinds of tests/examples when run under byte granularity should not allow for Valgrind/pmemcheck.
Details
Valgrind/pmemcheck does not differentiate between granularities which is not a problem for page and cacheline granularities since both of them require dedicated API calls to make data persistent. These API calls can be instrumented to inform Valgrind about the changed state for given chunks of data. It is no longer the case for byte granularity which makes these dedicated API calls redundant in some cases. Hence, the Valgrind instrumentation has no chance of informing of the changes that took place. Which results in false negatives.
Additional information about Priority and Help Requested:
Requested priority: (Showstopper, High, Medium, Low) Medium