argonne-lcf / THAPI

A tracing infrastructure for heterogeneous computing applications.
Other
22 stars 9 forks source link

Pr/openmp btx #198

Closed bd4 closed 5 months ago

bd4 commented 6 months ago

WIP, needs refactoring to remove duplicate code and tests cases.

bd4 commented 6 months ago

CI is failing because valgrind on babeltrace line in new test:

valgrind --suppressions=../../.valgrind/dlopen.supp --error-exitcode=1 --leak-check=full --quiet -- babeltrace2 --plugin-path=tests/data_op_emi:../omp/.libs/ --component=source.omptest.test --component=filter.ompinterval.interval
==8648== 0 bytes in 2 blocks are definitely lost in loss record 1 of 30
==8648==    at 0x484A899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==8648==    by 0x4005A22: malloc (rtld-malloc.h:56)
==8648==    by 0x4005A22: _dl_find_object_update (dl-find_object.c:791)
==8648==    by 0x400ECCF: dl_open_worker_begin (dl-open.c:735)
==8648==    by 0x4BF1A97: _dl_catch_exception (dl-error-skeleton.c:208)
==8648==    by 0x400DF99: dl_open_worker (dl-open.c:782)
==8648==    by 0x4BF1A97: _dl_catch_exception (dl-error-skeleton.c:208)
==8648==    by 0x400E34D: _dl_open (dl-open.c:883)
==8648==    by 0x4B0D63B: dlopen_doit (dlopen.c:56)
==8648==    by 0x4BF1A97: _dl_catch_exception (dl-error-skeleton.c:208)
==8648==    by 0x4BF1B62: _dl_catch_error (dl-error-skeleton.c:227)
==8648==    by 0x4B0D12D: _dlerror_run (dlerror.c:138)
==8648==    by 0x4B0D6C7: dlopen_implementation (dlopen.c:71)
==8648==    by 0x4B0D6C7: dlopen@@GLIBC_2.34 (dlopen.c:81)
==8648== 
==8648== 48 bytes in 2 blocks are possibly lost in loss record 10 of 30
==8648==    at 0x484A899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==8648==    by 0x4013E4D: malloc (rtld-malloc.h:56)
==8648==    by 0x4013E4D: allocate_dtv_entry (dl-tls.c:684)
==8648==    by 0x4013E4D: allocate_and_init (dl-tls.c:709)
==8648==    by 0x4013E4D: tls_get_addr_tail (dl-tls.c:907)
==8648==    by 0x401820B: __tls_get_addr (tls_get_addr.S:55)
==8648==    by 0x53401E4: _lttng_ust_urcu_read_ongoing (urcu-ust.h:186)
==8648==    by 0x53401E4: lttng_lttng_ust_urcu_alloc_tls (lttng-ust-comm.c:407)
==8648==    by 0x53401E4: lttng_ust_alloc_tls (lttng-ust-comm.c:412)
==8648==    by 0x5340287: ust_listener_thread (lttng-ust-comm.c:1818)
==8648==    by 0x4B11AC2: start_thread (pthread_create.c:442)
==8648==    by 0x4BA2A03: clone (clone.S:100)
==8648== 
==8648== 128 bytes in 1 blocks are definitely lost in loss record 15 of 30
==8648==    at 0x484A899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==8648==    by 0x53CE29C: ???
==8648==    by 0x53CDABC: ???
==8648==    by 0x400647D: call_init.part.0 (dl-init.c:70)
==8648==    by 0x4006567: call_init (dl-init.c:33)
==8648==    by 0x4006567: _dl_init (dl-init.c:117)
==8648==    by 0x4BF1AF4: _dl_catch_exception (dl-error-skeleton.c:182)
==8648==    by 0x400DFF5: dl_open_worker (dl-open.c:808)
==8648==    by 0x400DFF5: dl_open_worker (dl-open.c:771)
==8648==    by 0x4BF1A97: _dl_catch_exception (dl-error-skeleton.c:208)
==8648==    by 0x400E34D: _dl_open (dl-open.c:883)
==8648==    by 0x4B0D63B: dlopen_doit (dlopen.c:56)
==8648==    by 0x4BF1A97: _dl_catch_exception (dl-error-skeleton.c:208)
==8648==    by 0x4BF1B62: _dl_catch_error (dl-error-skeleton.c:227)
==8648== 
==8648== 352 bytes in 1 blocks are possibly lost in loss record 21 of 30
==8648==    at 0x484FA83: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==8648==    by 0x40147D9: calloc (rtld-malloc.h:44)
==8648==    by 0x40147D9: allocate_dtv (dl-tls.c:375)
==8648==    by 0x40147D9: _dl_allocate_tls (dl-tls.c:634)
==8648==    by 0x4B127B4: allocate_stack (allocatestack.c:430)
==8648==    by 0x4B127B4: pthread_create@@GLIBC_2.34 (pthread_create.c:647)
==8648==    by 0x533D169: lttng_ust_ctor.part.0 (lttng-ust-comm.c:2293)
==8648==    by 0x400647D: call_init.part.0 (dl-init.c:70)
==8648==    by 0x4006567: call_init (dl-init.c:33)
==8648==    by 0x4006567: _dl_init (dl-init.c:117)
TApplencourt commented 6 months ago

Oh, need to update our Valgrind config to remove this error. dlopen.supp at least for the new dlopen problem.

For the lttng_lttng_ust_urcu_alloc_tls maybe a race condition with the integration test...

Edit: Let me re-run the CI. Ok: Reproducable!

TApplencourt commented 6 months ago
+ valgrind --suppressions=../../.valgrind/dlopen.supp --error-exitcode=1 --leak-check=full --quiet -- babeltrace2 --plugin-path=tests/data_op_emi:../omp/.libs/ --component=source.omptest.test --component=filter.ompinterval.interval
==13304== 0 bytes in 2 blocks are definitely lost in loss record 1 of 144
==13304==    at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==13304==    by 0x4005A22: malloc (rtld-malloc.h:56)
==13304==    by 0x4005A22: _dl_find_object_update (dl-find_object.c:791)
==13304==    by 0x400ECCF: dl_open_worker_begin (dl-open.c:735)
==13304==    by 0x4BA9A97: _dl_catch_exception (dl-error-skeleton.c:208)
==13304==    by 0x400DF99: dl_open_worker (dl-open.c:782)
==13304==    by 0x4BA9A97: _dl_catch_exception (dl-error-skeleton.c:208)
==13304==    by 0x400E34D: _dl_open (dl-open.c:883)
==13304==    by 0x4AC563B: dlopen_doit (dlopen.c:56)
==13304==    by 0x4BA9A97: _dl_catch_exception (dl-error-skeleton.c:208)
==13304==    by 0x4BA9B62: _dl_catch_error (dl-error-skeleton.c:227)
==13304==    by 0x4AC512D: _dlerror_run (dlerror.c:138)
==13304==    by 0x4AC56C7: dlopen_implementation (dlopen.c:71)
==13304==    by 0x4AC56C7: dlopen@@GLIBC_2.34 (dlopen.c:81)
==13304== 
==13304== 400 bytes in 20 blocks are possibly lost in loss record 124 of 144
==13304==    at 0x484DA83: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==13304==    by 0x54DC40E: ??? (in /usr/lib/x86_64-linux-gnu/liblttng-ust.so.1.0.0)
==13304==    by 0x4BA9D3F: dl_iterate_phdr (dl-iteratephdr.c:74)
==13304==    by 0x54DE8E3: lttng_ust_dl_update (in /usr/lib/x86_64-linux-gnu/liblttng-ust.so.1.0.0)
==13304==    by 0x54BD82C: ??? (in /usr/lib/x86_64-linux-gnu/liblttng-ust.so.1.0.0)
==13304==    by 0x400647D: call_init.part.0 (dl-init.c:70)
==13304==    by 0x4006567: call_init (dl-init.c:33)
==13304==    by 0x4006567: _dl_init (dl-init.c:117)
==13304==    by 0x4BA9AF4: _dl_catch_exception (dl-error-skeleton.c:182)
==13304==    by 0x400DFF5: dl_open_worker (dl-open.c:808)
==13304==    by 0x400DFF5: dl_open_worker (dl-open.c:771)
==13304==    by 0x4BA9A97: _dl_catch_exception (dl-error-skeleton.c:208)
==13304==    by 0x400E34D: _dl_open (dl-open.c:883)
==13304==    by 0x4AC563B: dlopen_doit (dlopen.c:56)
==13304== 
==13304== 630 bytes in 14 blocks are possibly lost in loss record 130 of 144
==13304==    at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==13304==    by 0x4ADD58E: strdup (strdup.c:42)
==13304==    by 0x54DC3DC: ??? (in /usr/lib/x86_64-linux-gnu/liblttng-ust.so.1.0.0)
==13304==    by 0x4BA9D3F: dl_iterate_phdr (dl-iteratephdr.c:74)
==13304==    by 0x54DE8E3: lttng_ust_dl_update (in /usr/lib/x86_64-linux-gnu/liblttng-ust.so.1.0.0)
==13304==    by 0x54BD82C: ??? (in /usr/lib/x86_64-linux-gnu/liblttng-ust.so.1.0.0)
==13304==    by 0x400647D: call_init.part.0 (dl-init.c:70)
==13304==    by 0x4006567: call_init (dl-init.c:33)
==13304==    by 0x4006567: _dl_init (dl-init.c:117)
==13304==    by 0x4BA9AF4: _dl_catch_exception (dl-error-skeleton.c:182)
==13304==    by 0x400DFF5: dl_open_worker (dl-open.c:808)
==13304==    by 0x400DFF5: dl_open_worker (dl-open.c:771)
==13304==    by 0x4BA9A97: _dl_catch_exception (dl-error-skeleton.c:208)
==13304==    by 0x400E34D: _dl_open (dl-open.c:883)
==13304== 
==13304== 83,520 bytes in 20 blocks are possibly lost in loss record 144 of 144
==13304==    at 0x484DA83: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==13304==    by 0x54DC3BE: ??? (in /usr/lib/x86_64-linux-gnu/liblttng-ust.so.1.0.0)
==13304==    by 0x4BA9D3F: dl_iterate_phdr (dl-iteratephdr.c:74)
==13304==    by 0x54DE8E3: lttng_ust_dl_update (in /usr/lib/x86_64-linux-gnu/liblttng-ust.so.1.0.0)
==13304==    by 0x54BD82C: ??? (in /usr/lib/x86_64-linux-gnu/liblttng-ust.so.1.0.0)
==13304==    by 0x400647D: call_init.part.0 (dl-init.c:70)
==13304==    by 0x4006567: call_init (dl-init.c:33)
==13304==    by 0x4006567: _dl_init (dl-init.c:117)
==13304==    by 0x4BA9AF4: _dl_catch_exception (dl-error-skeleton.c:182)
==13304==    by 0x400DFF5: dl_open_worker (dl-open.c:808)
==13304==    by 0x400DFF5: dl_open_worker (dl-open.c:771)
==13304==    by 0x4BA9A97: _dl_catch_exception (dl-error-skeleton.c:208)
==13304==    by 0x400E34D: _dl_open (dl-open.c:883)
==13304==    by 0x4AC563B: dlopen_doit (dlopen.c:56)
==13304== 
==13303== 0 bytes in 2 blocks are definitely lost in loss record 1 of 61
==13303==    at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==13303==    by 0x4005A22: malloc (rtld-malloc.h:56)
==13303==    by 0x4005A22: _dl_find_object_update (dl-find_object.c:791)
==13303==    by 0x400ECCF: dl_open_worker_begin (dl-open.c:735)
==13303==    by 0x4BA9A97: _dl_catch_exception (dl-error-skeleton.c:208)
==13303==    by 0x400DF99: dl_open_worker (dl-open.c:782)
==13303==    by 0x4BA9A97: _dl_catch_exception (dl-error-skeleton.c:208)
==13303==    by 0x400E34D: _dl_open (dl-open.c:883)
==13303==    by 0x4AC563B: dlopen_doit (dlopen.c:56)
==13303==    by 0x4BA9A97: _dl_catch_exception (dl-error-skeleton.c:208)
==13303==    by 0x4BA9B62: _dl_catch_error (dl-error-skeleton.c:227)
==13303==    by 0x4AC512D: _dlerror_run (dlerror.c:138)
==13303==    by 0x4AC56C7: dlopen_implementation (dlopen.c:71)
==13303==    by 0x4AC56C7: dlopen@@GLIBC_2.34 (dlopen.c:81)
==13303== 
==13303== 20 bytes in 1 blocks are possibly lost in loss record 5 of 61
==13303==    at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==13303==    by 0x4013E4D: malloc (rtld-malloc.h:56)
==13303==    by 0x4013E4D: allocate_dtv_entry (dl-tls.c:684)
==13303==    by 0x4013E4D: allocate_and_init (dl-tls.c:709)
==13303==    by 0x4013E4D: tls_get_addr_tail (dl-tls.c:907)
==13303==    by 0x401820B: __tls_get_addr (tls_get_addr.S:55)
==13303==    by 0x54C41C4: ??? (in /usr/lib/x86_64-linux-gnu/liblttng-ust.so.1.0.0)
==13303==    by 0x54C8D77: ??? (in /usr/lib/x86_64-linux-gnu/liblttng-ust.so.1.0.0)
==13303==    by 0x4AC9AC2: start_thread (pthread_create.c:442)
==13303==    by 0x4B5AA03: clone (clone.S:100)
==13303== 
==13303== 160 (32 direct, 128 indirect) bytes in 1 blocks are definitely lost in loss record 39 of 61
==13303==    at 0x484DA83: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==13303==    by 0x6915982: ???
==13303==    by 0x68FAB28: ???
==13303==    by 0x68C8CA2: ???
==13303==    by 0x400647D: call_init.part.0 (dl-init.c:70)
==13303==    by 0x4006567: call_init (dl-init.c:33)
==13303==    by 0x4006567: _dl_init (dl-init.c:117)
==13303==    by 0x4BA9AF4: _dl_catch_exception (dl-error-skeleton.c:182)
==13303==    by 0x400DFF5: dl_open_worker (dl-open.c:808)
==13303==    by 0x400DFF5: dl_open_worker (dl-open.c:771)
==13303==    by 0x4BA9A97: _dl_catch_exception (dl-error-skeleton.c:208)
==13303==    by 0x400E34D: _dl_open (dl-open.c:883)
==13303==    by 0x4AC563B: dlopen_doit (dlopen.c:56)
==13303==    by 0x4BA9A97: _dl_catch_exception (dl-error-skeleton.c:208)
==13303== 
==13303== 160 (32 direct, 128 indirect) bytes in 1 blocks are definitely lost in loss record 40 of 61
==13303==    at 0x484DA83: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==13303==    by 0x6915982: ???
==13303==    by 0x68FAB9A: ???
==13303==    by 0x68C8CA2: ???
==13303==    by 0x400647D: call_init.part.0 (dl-init.c:70)
==13303==    by 0x4006567: call_init (dl-init.c:33)
==13303==    by 0x4006567: _dl_init (dl-init.c:117)
==13303==    by 0x4BA9AF4: _dl_catch_exception (dl-error-skeleton.c:182)
==13303==    by 0x400DFF5: dl_open_worker (dl-open.c:808)
==13303==    by 0x400DFF5: dl_open_worker (dl-open.c:771)
==13303==    by 0x4BA9A97: _dl_catch_exception (dl-error-skeleton.c:208)
==13303==    by 0x400E34D: _dl_open (dl-open.c:883)
==13303==    by 0x4AC563B: dlopen_doit (dlopen.c:56)
==13303==    by 0x4BA9A97: _dl_catch_exception (dl-error-skeleton.c:208)
==13303== 
==13303== 368 bytes in 1 blocks are possibly lost in loss record 44 of 61
==13303==    at 0x484DA83: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==13303==    by 0x40147D9: calloc (rtld-malloc.h:44)
==13303==    by 0x40147D9: allocate_dtv (dl-tls.c:375)
==13303==    by 0x40147D9: _dl_allocate_tls (dl-tls.c:634)
==13303==    by 0x4ACA7B4: allocate_stack (allocatestack.c:430)
==13303==    by 0x4ACA7B4: pthread_create@@GLIBC_2.34 (pthread_create.c:647)
==13303==    by 0x54BE080: ??? (in /usr/lib/x86_64-linux-gnu/liblttng-ust.so.1.0.0)
==13303==    by 0x400647D: call_init.part.0 (dl-init.c:70)
==13303==    by 0x4006567: call_init (dl-init.c:33)
==13303==    by 0x4006567: _dl_init (dl-init.c:117)
==13303==    by 0x4BA9AF4: _dl_catch_exception (dl-error-skeleton.c:182)
==13303==    by 0x400DFF5: dl_open_worker (dl-open.c:808)
==13303==    by 0x400DFF5: dl_open_worker (dl-open.c:771)
==13303==    by 0x4BA9A97: _dl_catch_exception (dl-error-skeleton.c:208)
==13303==    by 0x400E34D: _dl_open (dl-open.c:883)
==13303==    by 0x4AC563B: dlopen_doit (dlopen.c:56)
==13303==    by 0x4BA9A97: _dl_catch_exception (dl-error-skeleton.c:208)
==13303== 
==13303== 384 (32 direct, 352 indirect) bytes in 1 blocks are definitely lost in loss record 45 of 61
==13303==    at 0x484DA83: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==13303==    by 0x6915982: ???
==13303==    by 0x68FAA2F: ???
==13303==    by 0x68C8CA2: ???
==13303==    by 0x400647D: call_init.part.0 (dl-init.c:70)
==13303==    by 0x4006567: call_init (dl-init.c:33)
==13303==    by 0x4006567: _dl_init (dl-init.c:117)
==13303==    by 0x4BA9AF4: _dl_catch_exception (dl-error-skeleton.c:182)
==13303==    by 0x400DFF5: dl_open_worker (dl-open.c:808)
==13303==    by 0x400DFF5: dl_open_worker (dl-open.c:771)
==13303==    by 0x4BA9A97: _dl_catch_exception (dl-error-skeleton.c:208)
==13303==    by 0x400E34D: _dl_open (dl-open.c:883)
==13303==    by 0x4AC563B: dlopen_doit (dlopen.c:56)
==13303==    by 0x4BA9A97: _dl_catch_exception (dl-error-skeleton.c:208)
==13303== 
==13303== 1,808 bytes in 1 blocks are possibly lost in loss record 49 of 61
==13303==    at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==13303==    by 0x4013E4D: malloc (rtld-malloc.h:56)
==13303==    by 0x4013E4D: allocate_dtv_entry (dl-tls.c:684)
==13303==    by 0x4013E4D: allocate_and_init (dl-tls.c:709)
==13303==    by 0x4013E4D: tls_get_addr_tail (dl-tls.c:907)
==13303==    by 0x401820B: __tls_get_addr (tls_get_addr.S:55)
==13303==    by 0x54C41DA: ??? (in /usr/lib/x86_64-linux-gnu/liblttng-ust.so.1.0.0)
==13303==    by 0x54C8D77: ??? (in /usr/lib/x86_64-linux-gnu/liblttng-ust.so.1.0.0)
==13303==    by 0x4AC9AC2: start_thread (pthread_create.c:442)
==13303==    by 0x4B5AA03: clone (clone.S:100)
==13303== 
==13303== 8,192 bytes in 1 blocks are definitely lost in loss record 55 of 61
==13303==    at 0x4848899: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==13303==    by 0x554257C: ???
==13303==    by 0x5541EE6: ???
==13303==    by 0x400647D: call_init.part.0 (dl-init.c:70)
==13303==    by 0x4006567: call_init (dl-init.c:33)
==13303==    by 0x4006567: _dl_init (dl-init.c:117)
==13303==    by 0x4BA9AF4: _dl_catch_exception (dl-error-skeleton.c:182)
==13303==    by 0x400DFF5: dl_open_worker (dl-open.c:808)
==13303==    by 0x400DFF5: dl_open_worker (dl-open.c:771)
==13303==    by 0x4BA9A97: _dl_catch_exception (dl-error-skeleton.c:208)
==13303==    by 0x400E34D: _dl_open (dl-open.c:883)
==13303==    by 0x4AC563B: dlopen_doit (dlopen.c:56)
==13303==    by 0x4BA9A97: _dl_catch_exception (dl-error-skeleton.c:208)
==13303==    by 0x4BA9B62: _dl_catch_error (dl-error-skeleton.c:227)
==13303== 
==13303== 19,047 (152 direct, 18,895 indirect) bytes in 1 blocks are definitely lost in loss record 58 of 61
==13303==    at 0x484DA83: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==13303==    by 0x741F3DC: ???
==13303==    by 0x68FA614: ???
==13303==    by 0x68C8CA2: ???
==13303==    by 0x400647D: call_init.part.0 (dl-init.c:70)
==13303==    by 0x4006567: call_init (dl-init.c:33)
==13303==    by 0x4006567: _dl_init (dl-init.c:117)
==13303==    by 0x4BA9AF4: _dl_catch_exception (dl-error-skeleton.c:182)
==13303==    by 0x400DFF5: dl_open_worker (dl-open.c:808)
==13303==    by 0x400DFF5: dl_open_worker (dl-open.c:771)
==13303==    by 0x4BA9A97: _dl_catch_exception (dl-error-skeleton.c:208)
==13303==    by 0x400E34D: _dl_open (dl-open.c:883)
==13303==    by 0x4AC563B: dlopen_doit (dlopen.c:56)
==13303==    by 0x4BA9A97: _dl_catch_exception (dl-error-skeleton.c:208)
==13303== 
==13303== 74,067 (152 direct, 73,915 indirect) bytes in 1 blocks are definitely lost in loss record 61 of 61
==13303==    at 0x484DA83: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==13303==    by 0x741F3DC: ???
==13303==    by 0x68FA4E7: ???
==13303==    by 0x68C8CA2: ???
==13303==    by 0x400647D: call_init.part.0 (dl-init.c:70)
==13303==    by 0x4006567: call_init (dl-init.c:33)
==13303==    by 0x4006567: _dl_init (dl-init.c:117)
==13303==    by 0x4BA9AF4: _dl_catch_exception (dl-error-skeleton.c:182)
==13303==    by 0x400DFF5: dl_open_worker (dl-open.c:808)
==13303==    by 0x400DFF5: dl_open_worker (dl-open.c:771)
==13303==    by 0x4BA9A97: _dl_catch_exception (dl-error-skeleton.c:208)
==13303==    by 0x400E34D: _dl_open (dl-open.c:883)
==13303==    by 0x4AC563B: dlopen_doit (dlopen.c:56)
==13303==    by 0x4BA9A97: _dl_catch_exception (dl-error-skeleton.c:208)
==13303== 
TApplencourt commented 5 months ago

Look good! \o/ just one minor comment