Open jiridanek opened 1 year ago
I tried investigating and I don't see how could this possibly be leaking (in a flaky manner, in this case). The subscription should be always freed, even when discarding
.
https://app.travis-ci.com/github/skupperproject/skupper-router/jobs/598878852#L8177
72: Direct leak of 56 byte(s) in 1 object(s) allocated from:
817872: #0 0x4d2668 in malloc (/home/travis/build/skupperproject/skupper-router/build/tests/c_unittests/c_unittests+0x4d2668)
817972: #1 0x8bdff0 in qd_malloc /home/travis/build/skupperproject/skupper-router/include/qpid/dispatch/ctools.h:225:17
818072: #2 0x8bdff0 in qdr_core_subscribe /home/travis/build/skupperproject/skupper-router/src/router_core/route_tables.c:147:31
818172: #3 0x7efbc8 in _vflow_init_address_watch_TH /home/travis/build/skupperproject/skupper-router/src/vanflow.c:1531:39
818272: #4 0x7ef25c in _vflow_thread /home/travis/build/skupperproject/skupper-router/src/vanflow.c:1216:17
818372: #5 0xffff9ca31620 in start_thread (/lib/aarch64-linux-gnu/libpthread.so.0+0x7620)
818472: #6 0xffff9bfe0498 (/lib/aarch64-linux-gnu/libc.so.6+0xd1498)
This looks like the same failure,
73: =================================================================
73: ==3187==ERROR: LeakSanitizer: detected memory leaks
73:
73: Direct leak of 56 byte(s) in 1 object(s) allocated from:
73: #0 0x7f5d728defdf in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
73: #1 0x55d73ffe0d85 in qd_malloc ../include/qpid/dispatch/ctools.h:225
73: #2 0x55d73ffe1b49 in qdr_core_subscribe ../src/router_core/route_tables.c:147
73: #3 0x55d73ff180c1 in _vflow_init_address_watch_TH ../src/vanflow.c:1686
73: #4 0x55d73ff144bf in _vflow_thread_TH ../src/vanflow.c:1315
73: #5 0x55d73fef381e in _thread_init ../src/posix/threading.c:206
73: #6 0x7f5d70c94b42 in start_thread nptl/pthread_create.c:442
73:
73: SUMMARY: AddressSanitizer: 56 byte(s) leaked in 1 allocation(s).
This is from one of those
Error: Process completed with exit code 143.
Ubuntu runs, so it might not be a reliable message.
Here's it again, https://github.com/skupperproject/skupper-router/actions/runs/6597463058/job/17925042549?pr=1268#step:10:4621
I will take a look soon, since this is popping up with low frequency, but it is persistent.
https://github.com/skupperproject/skupper-router/actions/runs/4392581183/jobs/7692426562#step:30:2791
https://github.com/skupperproject/skupper-router/blob/f5078c52a52b0b1445c11b4bc5f5891309c3d1c0/src/vanflow.c#L1591
https://github.com/skupperproject/skupper-router/blob/f5078c52a52b0b1445c11b4bc5f5891309c3d1c0/src/vanflow.c#L1209-L1226
https://github.com/skupperproject/skupper-router/blob/f5078c52a52b0b1445c11b4bc5f5891309c3d1c0/src/vanflow.c#L1513-L1533
https://github.com/skupperproject/skupper-router/blob/f5078c52a52b0b1445c11b4bc5f5891309c3d1c0/src/router_core/route_tables.c#L138-L153
I am guessing this is an unfortunate shutdown leak, possibly exacerbated by whatever c_unittests is doing.