Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ex_libpmem2/TEST6: failed pmemcheck #5598

Closed
szadam opened this issue Apr 21, 2023 · 3 comments
Closed

ex_libpmem2/TEST6: failed pmemcheck #5598

szadam opened this issue Apr 21, 2023 · 3 comments
Labels
examples src/examples and src/test/ex_* Type: Bug A previously unknown bug in PMDK

Comments

@szadam
Copy link

szadam commented Apr 21, 2023

ISSUE:

Environment Information

  • PMDK package version(s): 50693c2
  • OS(es) version(s): openSUSE15_3
  • ndctl version(s): 71.1
  • kernel version(s): 5.3.18-150300.59.106

Please provide a reproduction of the bug:

[pmdk_thread_1] ex_libpmem2/TEST6: SETUP        (medium/release/pmemcheck/byte)
[pmdk_thread_1] Last 2 lines of /home/jenkins-slave/workspace/PMDK-unittests-linux-py/pmdk_1/src/test/ex_libpmem2/out6.log below (whole file has 2 lines):
[pmdk_thread_1] Time elapsed: 3371.008057 seconds
[pmdk_thread_1] Bandwidth: 0.023176 megabytes per second
[pmdk_thread_1] Last 30 lines of /home/jenkins-slave/workspace/PMDK-unittests-linux-py/pmdk_1/src/test/ex_libpmem2/pmemcheck6.log below (whole file has 35 lines):
[pmdk_thread_1] ==84051== 
[pmdk_thread_1] ==84051== 
[pmdk_thread_1] ==84051== Number of stores not made persistent: 5
[pmdk_thread_1] ==84051== Stores not made persistent properly:
[pmdk_thread_1] ==84051== [0]    at 0x401095: ringbuf_data_force_page_allocation (ringbuf.c:88)
[pmdk_thread_1] ==84051==    by 0x401336: ringbuf_new (ringbuf.c:167)
[pmdk_thread_1] ==84051==    by 0x40195E: main (ringbuf.c:428)
[pmdk_thread_1] ==84051==         Address: 0x7200000        size: 1        state: DIRTY
[pmdk_thread_1] ==84051== [1]    at 0x401401: ringbuf_store_position (ringbuf.c:235)
[pmdk_thread_1] ==84051==    by 0x401664: ringbuf_dequeue (ringbuf.c:318)
[pmdk_thread_1] ==84051==    by 0x4016C7: thread_consumer (ringbuf.c:345)
[pmdk_thread_1] ==84051==    by 0x4E8E949: start_thread (in /lib64/libpthread-2.31.so)
[pmdk_thread_1] ==84051==    by 0x51A6D0E: clone (in /lib64/libc-2.31.so)
[pmdk_thread_1] ==84051==         Address: 0x7200040        size: 8        state: DIRTY
[pmdk_thread_1] ==84051== [2]    at 0x401401: ringbuf_store_position (ringbuf.c:235)
[pmdk_thread_1] ==84051==    by 0x4015AE: ringbuf_enqueue (ringbuf.c:295)
[pmdk_thread_1] ==84051==    by 0x401766: thread_producer (ringbuf.c:371)
[pmdk_thread_1] ==84051==    by 0x4E8E949: start_thread (in /lib64/libpthread-2.31.so)
[pmdk_thread_1] ==84051==    by 0x51A6D0E: clone (in /lib64/libc-2.31.so)
[pmdk_thread_1] ==84051==         Address: 0x7200048        size: 8        state: DIRTY
[pmdk_thread_1] ==84051== [3]    at 0x401095: ringbuf_data_force_page_allocation (ringbuf.c:88)
[pmdk_thread_1] ==84051==    by 0x401336: ringbuf_new (ringbuf.c:167)
[pmdk_thread_1] ==84051==    by 0x40195E: main (ringbuf.c:428)
[pmdk_thread_1] ==84051==         Address: 0x72fe000        size: 1        state: DIRTY
[pmdk_thread_1] ==84051== [4]    at 0x401095: ringbuf_data_force_page_allocation (ringbuf.c:88)
[pmdk_thread_1] ==84051==    by 0x401336: ringbuf_new (ringbuf.c:167)
[pmdk_thread_1] ==84051==    by 0x40195E: main (ringbuf.c:428)
[pmdk_thread_1] ==84051==         Address: 0x72ff000        size: 1        state: DIRTY
[pmdk_thread_1] ==84051== Total memory not made persistent: 19
[pmdk_thread_1] ==84051== ERROR SUMMARY: 5 errors

How often bug is revealed: (always, often, rare):

always

Actual behavior:

Tests failed.

Expected behavior:

Tests should pass.

@szadam szadam added the Type: Bug A previously unknown bug in PMDK label Apr 21, 2023
@janekmi janekmi added Exposure: Critical libpmem2 libpmem- and libpmem2-related labels Apr 24, 2023
@lukaszstolarczuk lukaszstolarczuk added the examples src/examples and src/test/ex_* label Apr 24, 2023
@wlemkows wlemkows changed the title ex_libpmem2/TEST5: failed pmemcheck ex_libpmem2/TEST6: failed pmemcheck Apr 25, 2023
ldorau added a commit to ldorau/pmdk that referenced this issue Apr 25, 2023
Add missing perists to ringbuf libpmem2 example (found by pmemcheck).

Ref: pmem#5598

Signed-off-by: Lukasz Dorau <lukasz.dorau@intel.com>
ldorau added a commit to ldorau/pmdk that referenced this issue Apr 25, 2023
Add missing persists to ringbuf libpmem2 example (found by pmemcheck).

Ref: pmem#5598

Signed-off-by: Lukasz Dorau <lukasz.dorau@intel.com>
@ldorau
Copy link
Member

ldorau commented Apr 25, 2023

This is an issue in an example (see #5604), so it is not a Critical issue.

ldorau added a commit to ldorau/pmdk that referenced this issue Apr 25, 2023
Add missing persists to ringbuf libpmem2 example (found by pmemcheck).

Ref: pmem#5598

Signed-off-by: Lukasz Dorau <lukasz.dorau@intel.com>
lplewa added a commit to lplewa/pmdk that referenced this issue Apr 25, 2023
@ldorau
Copy link
Member

ldorau commented Apr 25, 2023

The fix is ready: #5604

@janekmi janekmi removed the libpmem2 libpmem- and libpmem2-related label Apr 26, 2023
ldorau added a commit to ldorau/pmdk that referenced this issue Apr 27, 2023
Add missing persists to ringbuf libpmem2 example (found by pmemcheck).

Ref: pmem#5598

Signed-off-by: Lukasz Dorau <lukasz.dorau@intel.com>
ldorau added a commit to ldorau/pmdk that referenced this issue May 4, 2023
Add missing persists to ringbuf libpmem2 example (found by pmemcheck).

Ref: pmem#5598

Signed-off-by: Lukasz Dorau <lukasz.dorau@intel.com>
ldorau added a commit to ldorau/pmdk that referenced this issue May 4, 2023
Add missing VALGRIND_SET_CLEAN() to ringbuf libpmem2 example
(found by pmemcheck).

Ref: pmem#5598

Signed-off-by: Lukasz Dorau <lukasz.dorau@intel.com>
ldorau added a commit to ldorau/pmdk that referenced this issue May 5, 2023
ex_libpmem2/TEST6 would require two VALGRIND_SET_CLEAN() calls
to be added to the "src/examples/libpmem2/ringbuf/ringbuf.c"
example (see pmem#5604)
in order to pass under pmemcheck, but it seems that examples
do not use valgrind macros on purpose (to avoid unnecessary
complication), so this test just should not be run under pmemcheck.

Fixes: pmem#5598

Signed-off-by: Lukasz Dorau <lukasz.dorau@intel.com>
ldorau added a commit to ldorau/pmdk that referenced this issue May 5, 2023
ex_libpmem2/TEST6 would require two VALGRIND_SET_CLEAN() calls
to be added to the "src/examples/libpmem2/ringbuf/ringbuf.c"
example (see pmem#5604)
in order to pass under pmemcheck, but it seems that examples
do not use valgrind macros on purpose (to avoid unnecessary
complication), so this test just should not be run under pmemcheck.

Fixes: pmem#5598

Signed-off-by: Lukasz Dorau <lukasz.dorau@intel.com>
@ldorau
Copy link
Member

ldorau commented May 8, 2023

Fixed by #5618

@ldorau ldorau closed this as completed May 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
examples src/examples and src/test/ex_* Type: Bug A previously unknown bug in PMDK
Projects
None yet
Development

No branches or pull requests

4 participants