This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Valgrind check detect pc-ble-driver memory leaks

Hi,

I have integraded pc-ble-driver (https://github.com/NordicSemiconductor/pc-ble-driver/releases/tag/v4.1.1) on boundary device Nitrogen6x using Yocto.

I have not changed any code from pc-ble-driver and here is the Valgrind log on the example heart rate collector:

root@mydevice:~# valgrind --leak-check=full --show-leak-kinds=all heart_rate_collector_sd_api_v6
==577== Memcheck, a memory error detector
==577== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==577== Using Valgrind-3.14.0 and LibVEX; rerun with -h for copyright info
==577== Command: heart_rate_collector_sd_api_v6
==577== 
Serial port used: /dev/ttyACM0
Baud rate used: 1000000
Info: Successfully opened /dev/ttyACM0. Baud rate: 1000000. Flow control: none. Parity: none.
Status: 6, message: Target Reset performed
Status: 7, message: Connection active
Scan started
Received advertisement report with device address: 0x0469F89EA291
Scan started
Received advertisement report with device address: 0x0469F89EA291
Scan started
Received advertisement report with device address: 0x0469F89EA291
Scan started
Received advertisement report with device address: 0x0469F89EA291
Scan started
Received advertisement report with device address: 0x0469F89EA291
Scan started
Received advertisement report with device address: 0x0469F89EA291
Scan started
Received advertisement report with device address: 0x0469F89EA291
Scan started
Received advertisement report with device address: 0x0469F89EA291
Scan started
Received advertisement report with device address: 0x0469F89EA291
Scan started
Received advertisement report with device address: 0x0469F89EA291
Scan started
Received advertisement report with device address: 0x0469F89EA291
Scan started
Received advertisement report with device address: 0x0469F89EA291
Scan started
Received advertisement report with device address: 0x0469F89EA291
Scan started
Received advertisement report with device address: 0x0469F89EA291
Scan started
Received advertisement report with device address: 0x0469F89EA291
Scan started
Received advertisement report with device address: 0x0469F89EA291
Scan started
Received advertisement report with device address: 0x0469F89EA291
Scan started
Received advertisement report with device address: 0x0469F89EA291
Scan started
Received advertisement report with device address: 0x0469F89EA291
Scan started
Received advertisement report with device address: 0x0469F89EA291
Scan started
Received advertisement report with device address: 0x0469F89EA291
Scan started
Received advertisement report with device address: 0x0469F89EA291
Scan started
Received advertisement report with device address: 0x0469F89EA291
Scan started
Received advertisement report with device address: 0x0469F89EA291
Scan started
^C==577== 
==577== Process terminating with default action of signal 2 (SIGINT)
==577==    at 0x49F06C6: __libc_do_syscall (libc-do-syscall.S:49)
==577==    by 0x4A63A0B: read (read.c:26)
==577==    by 0x4A27E9F: _IO_file_underflow@@GLIBC_2.4 (fileops.c:524)
==577==    by 0x4A28945: _IO_default_uflow (genops.c:362)
==577==    by 0x4A24A23: getc (getc.c:40)
==577==    by 0x10D355: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== HEAP SUMMARY:
==577==     in use at exit: 6,396 bytes in 73 blocks
==577==   total heap usage: 2,733 allocs, 2,660 frees, 289,256 bytes allocated
==577== 
==577== 4 bytes in 1 blocks are still reachable in loss record 1 of 72
==577==    at 0x483E970: malloc (vg_replace_malloc.c:299)
==577==    by 0x110079: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 4 bytes in 1 blocks are still reachable in loss record 2 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x122DD3: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 4 bytes in 1 blocks are definitely lost in loss record 3 of 72
==577==    at 0x483E970: malloc (vg_replace_malloc.c:299)
==577==    by 0x10FF97: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 4 bytes in 1 blocks are definitely lost in loss record 4 of 72
==577==    at 0x483E970: malloc (vg_replace_malloc.c:299)
==577==    by 0x11000B: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 4 bytes in 1 blocks are definitely lost in loss record 5 of 72
==577==    at 0x483E970: malloc (vg_replace_malloc.c:299)
==577==    by 0x110043: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 8 bytes in 1 blocks are still reachable in loss record 6 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11B4E9: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 8 bytes in 1 blocks are still reachable in loss record 7 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11B561: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 8 bytes in 1 blocks are still reachable in loss record 8 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11B5D5: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 8 bytes in 1 blocks are still reachable in loss record 9 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11B649: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 8 bytes in 1 blocks are still reachable in loss record 10 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11B6BD: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 8 bytes in 1 blocks are still reachable in loss record 11 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x116C1D: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 8 bytes in 1 blocks are still reachable in loss record 12 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x122465: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 8 bytes in 1 blocks are still reachable in loss record 13 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x122671: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 8 bytes in 1 blocks are still reachable in loss record 14 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x122DDF: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 8 bytes in 1 blocks are still reachable in loss record 15 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11E043: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 12 bytes in 1 blocks are still reachable in loss record 16 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x13418B: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577==    by 0x11DECF: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 12 bytes in 1 blocks are still reachable in loss record 17 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x1341DF: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577==    by 0x11DF1F: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 12 bytes in 1 blocks are still reachable in loss record 18 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x134233: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577==    by 0x11DF73: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 12 bytes in 1 blocks are still reachable in loss record 19 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x13418B: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577==    by 0x11FA55: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 12 bytes in 1 blocks are still reachable in loss record 20 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11F44B: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577==    by 0x11FAA5: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 12 bytes in 1 blocks are still reachable in loss record 21 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11BCD3: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 12 bytes in 1 blocks are still reachable in loss record 22 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11BD55: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 12 bytes in 1 blocks are still reachable in loss record 23 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11C387: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577==    by 0x11FA55: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 12 bytes in 1 blocks are still reachable in loss record 24 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11C3DB: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577==    by 0x11FAA5: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 12 bytes in 1 blocks are still reachable in loss record 25 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x122D09: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 12 bytes in 1 blocks are still reachable in loss record 26 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x122D85: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 12 bytes in 1 blocks are still reachable in loss record 27 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x123AB7: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577==    by 0x1262A5: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 16 bytes in 1 blocks are still reachable in loss record 28 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11E2E3: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 16 bytes in 1 blocks are still reachable in loss record 29 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11B505: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 16 bytes in 1 blocks are still reachable in loss record 30 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11B579: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 16 bytes in 1 blocks are still reachable in loss record 31 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11B5ED: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 16 bytes in 1 blocks are still reachable in loss record 32 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11B661: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 16 bytes in 1 blocks are still reachable in loss record 33 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11B6D5: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 16 bytes in 1 blocks are still reachable in loss record 34 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x122603: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 24 bytes in 1 blocks are still reachable in loss record 35 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x136B09: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 24 bytes in 2 blocks are still reachable in loss record 36 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x134233: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577==    by 0x11FAF1: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 28 bytes in 1 blocks are still reachable in loss record 37 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11DA39: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577==    by 0x11DAF1: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577==    by 0x11B4E1: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 28 bytes in 1 blocks are still reachable in loss record 38 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11DA39: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577==    by 0x11DAF1: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577==    by 0x11B559: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 28 bytes in 1 blocks are still reachable in loss record 39 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11DA39: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577==    by 0x11DAF1: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577==    by 0x11B5CD: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 28 bytes in 1 blocks are still reachable in loss record 40 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11DA39: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577==    by 0x11DAF1: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577==    by 0x11B641: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 28 bytes in 1 blocks are still reachable in loss record 41 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11DA39: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577==    by 0x11DAF1: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577==    by 0x11B6B5: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 28 bytes in 1 blocks are still reachable in loss record 42 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x1368BD: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577==    by 0x136649: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577==    by 0x10D27B: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 32 bytes in 1 blocks are still reachable in loss record 43 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x1205FB: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 32 bytes in 1 blocks are still reachable in loss record 44 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11E27D: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 33 bytes in 1 blocks are still reachable in loss record 45 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x1263F9: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577==    by 0x121C51: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 33 bytes in 1 blocks are still reachable in loss record 46 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x119545: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 36 bytes in 1 blocks are still reachable in loss record 47 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11B8B5: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 36 bytes in 1 blocks are still reachable in loss record 48 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11B8EF: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 36 bytes in 1 blocks are still reachable in loss record 49 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11B877: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 36 bytes in 1 blocks are still reachable in loss record 50 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11B837: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 36 bytes in 1 blocks are still reachable in loss record 51 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11B7F7: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 36 bytes in 1 blocks are still reachable in loss record 52 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11B7B7: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 36 bytes in 1 blocks are still reachable in loss record 53 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11B777: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 36 bytes in 1 blocks are still reachable in loss record 54 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11B739: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 36 bytes in 1 blocks are still reachable in loss record 55 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x12246D: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 44 bytes in 1 blocks are still reachable in loss record 56 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x1260A3: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 48 bytes in 1 blocks are still reachable in loss record 57 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x110083: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 57 bytes in 1 blocks are still reachable in loss record 58 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x121839: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 77 bytes in 1 blocks are still reachable in loss record 59 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x121E3F: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 92 bytes in 1 blocks are still reachable in loss record 60 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x123503: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 120 bytes in 1 blocks are still reachable in loss record 61 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x126147: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 152 bytes in 1 blocks are possibly lost in loss record 62 of 72
==577==    at 0x4841590: calloc (vg_replace_malloc.c:752)
==577==    by 0x400C9B5: allocate_dtv (dl-tls.c:286)
==577==    by 0x400CFFB: _dl_allocate_tls (dl-tls.c:532)
==577==    by 0x486048D: allocate_stack (allocatestack.c:621)
==577==    by 0x486048D: pthread_create@@GLIBC_2.4 (pthread_create.c:669)
==577==    by 0x49333FF: std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (in /usr/lib/libstdc++.so.6.0.25)
==577==    by 0x116C35: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 152 bytes in 1 blocks are possibly lost in loss record 63 of 72
==577==    at 0x4841590: calloc (vg_replace_malloc.c:752)
==577==    by 0x400C9B5: allocate_dtv (dl-tls.c:286)
==577==    by 0x400CFFB: _dl_allocate_tls (dl-tls.c:532)
==577==    by 0x486048D: allocate_stack (allocatestack.c:621)
==577==    by 0x486048D: pthread_create@@GLIBC_2.4 (pthread_create.c:669)
==577==    by 0x49333FF: std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (in /usr/lib/libstdc++.so.6.0.25)
==577==    by 0x122DFF: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 152 bytes in 1 blocks are possibly lost in loss record 64 of 72
==577==    at 0x4841590: calloc (vg_replace_malloc.c:752)
==577==    by 0x400C9B5: allocate_dtv (dl-tls.c:286)
==577==    by 0x400CFFB: _dl_allocate_tls (dl-tls.c:532)
==577==    by 0x486048D: allocate_stack (allocatestack.c:621)
==577==    by 0x486048D: pthread_create@@GLIBC_2.4 (pthread_create.c:669)
==577==    by 0x49333FF: std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) (in /usr/lib/libstdc++.so.6.0.25)
==577==    by 0x11E05B: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 160 bytes in 1 blocks are still reachable in loss record 65 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x122495: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 336 bytes in 1 blocks are still reachable in loss record 66 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11004F: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 420 bytes in 1 blocks are still reachable in loss record 67 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x136653: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577==    by 0x10D27B: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 496 bytes in 1 blocks are still reachable in loss record 68 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x110017: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 504 bytes in 1 blocks are still reachable in loss record 69 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x11E297: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 512 bytes in 1 blocks are still reachable in loss record 70 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x12685F: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 768 bytes in 1 blocks are still reachable in loss record 71 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x136B2B: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== 1,280 bytes in 1 blocks are still reachable in loss record 72 of 72
==577==    at 0x483F158: operator new(unsigned int) (vg_replace_malloc.c:328)
==577==    by 0x10FFCB: ??? (in /usr/bin/heart_rate_collector_sd_api_v6)
==577== 
==577== LEAK SUMMARY:
==577==    definitely lost: 12 bytes in 3 blocks
==577==    indirectly lost: 0 bytes in 0 blocks
==577==      possibly lost: 456 bytes in 3 blocks
==577==    still reachable: 5,928 bytes in 67 blocks
==577==         suppressed: 0 bytes in 0 blocks
==577== 
==577== For counts of detected and suppressed errors, rerun with: -v
==577== ERROR SUMMARY: 6 errors from 6 contexts (suppressed: 0 from 0)

Please have a check.

BR/Chencheng

Parents Reply Children
No Data
Related