]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
ec: free plugin memory when it destructs
authorRongqi Sun <sunrongqi@huawei.com>
Tue, 21 May 2024 09:16:14 +0000 (09:16 +0000)
committerRongqi Sun <sunrongqi@huawei.com>
Tue, 28 May 2024 03:01:57 +0000 (03:01 +0000)
commitc351eb24f1c110807baa14a77d521eea1198f2bc
tree7cd5ce6fdb9f1f03a023aec7d10410d3724071b6
parentdbd161df82a5b6079484649873438185aa7e1b76
ec: free plugin memory when it destructs

When sanitizer is enabled, unittest_erasure_code_shec_thread shows,

```
=================================================================
==737674==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 1360 byte(s) in 5 object(s) allocated from:
    #0 0xaaaadddffb08 in operator new(unsigned long) (/root/ceph/build/bin/unittest_erasure_code_shec_thread+0x1bfb08) (BuildId: 187a0067c45bf30f4d0bd2df83a32e0127ef03a1)
    #1 0xffff800bb004 in __erasure_code_init /root/ceph/src/erasure-code/shec/ErasureCodePluginShec.cc:81:36
    #2 0xaaaadde08de0 in thread1(void*) /root/ceph/src/test/erasure-code/TestErasureCodeShec_thread.cc:100:5
    #3 0xffff7f45d5c4 in start_thread nptl/./nptl/pthread_create.c:442:8
    #4 0xffff7f4c5ed8  misc/../sysdeps/unix/sysv/linux/aarch64/clone.S:79

SUMMARY: AddressSanitizer: 1360 byte(s) leaked in 5 allocation(s).
```

When the plugin destructed, memory should be freed without unloading the
dynamic library.

Signed-off-by: Rongqi Sun <sunrongqi@huawei.com>
src/erasure-code/ErasureCodePlugin.cc