-
Notifications
You must be signed in to change notification settings - Fork 50
Open
Description
I’ve scanned BitMagic with MEMCHECK and it has triggered on BitMagic/src/bmalloc.h line 76. I'm not sure whether this is an actual issue, or whether code of BitMagic is too sophisticated for MEMCHECK to understand. Do you guys have any idea?
Project version
BitMagic: master
Operating system
compiler: gcc (Debian 12.2.0-14) 12.2.0
Ubuntu 22.04.4 LTS
Linux 5.15.0-125-generic #135-Ubuntu SMP Fri Sep 27 13:53:58 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
I did this
Launched /home/BitMagic/build/bin/bmbsample01
I expected the following
No problem reported by MEMCHECK
I got the following
/home/BitMagic/build/bin/bmbsample01
...
445 ==9126== 512 bytes in 1 blocks are possibly lost in loss record 7 of 35
446 ==9126== at 0x48407B4: malloc (coregrind/m_replacemalloc/vg_replace_malloc.c:381)
447 ==9126== by 0x10EFD9: bm::block_allocator::allocate(unsigned long, void const*) (home/BitMagic/src/bmalloc.h:76)
448 ==9126== by 0x1309A3: bm::mem_alloc<bm::block_allocator, bm::ptr_allocator, bm::alloc_pool<bm::block_allocator, bm::ptr_allocator> >::alloc_gap_block(unsigned int, unsigned short const*) (home/BitMagic/src/bmalloc.h:384)
449 ==9126== by 0x12B6D8: bm::blocks_manager<bm::mem_alloc<bm::block_allocator, bm::ptr_allocator, bm::alloc_pool<bm::block_allocator, bm::ptr_allocator> > >::allocate_gap_block(unsigned int, unsigned short const*, unsigned short
const*) (home/BitMagic/src/bmblocks.h:1907)
450 ==9126== by 0x122C93: bm::blocks_manager<bm::mem_alloc<bm::block_allocator, bm::ptr_allocator, bm::alloc_pool<bm::block_allocator, bm::ptr_allocator> > >::optimize_block(unsigned int, unsigned int, unsigned int*, unsigned int*,
int, bm::bv_statistics*) (home/BitMagic/src/bmblocks.h:2404)
451 ==9126== by 0x118FC4: bm::blocks_manager<bm::mem_alloc<bm::block_allocator, bm::ptr_allocator, bm::alloc_pool<bm::block_allocator, bm::ptr_allocator> > >::optimize_tree(unsigned int*, int, bm::bv_statistics*)
(home/BitMagic/src/bmblocks.h:2448)
452 ==9126== by 0x113647: bm::bvector<bm::mem_alloc<bm::block_allocator, bm::ptr_allocator, bm::alloc_pool<bm::block_allocator, bm::ptr_allocator> > >::optimize(unsigned int*, bm::bvector<bm::mem_alloc<bm::block_allocator,
bm::ptr_allocator, bm::alloc_pool<bm::block_allocator, bm::ptr_allocator> > >::optmode, bm::bvector<bm::mem_alloc<bm::block_allocator, bm::ptr_allocator, bm::alloc_pool<bm::block_allocator, bm::ptr_allocator> > >::statistics*)
(home/BitMagic/src/bm.h:3659)
453 ==9126== by 0x111369: bm::sparse_vector_serializer<bm::basic_bmatrix<bm::bvector<bm::mem_alloc<bm::block_allocator, bm::ptr_allocator, bm::alloc_pool<bm::block_allocator, bm::ptr_allocator> > > >
>::serialize(bm::basic_bmatrix<bm::bvector<bm::mem_alloc<bm::block_allocator, bm::ptr_allocator, bm::alloc_pool<bm::block_allocator, bm::ptr_allocator> > > > const&,
bm::sparse_vector_serial_layout<bm::basic_bmatrix<bm::bvector<bm::mem_alloc<bm::block_allocator, bm::ptr_allocator, bm::alloc_pool<bm::block_allocator, bm::ptr_allocator> > > > >&) (home/BitMagic/src/bmsparsevec_serial.h:954)
454 ==9126== by 0x10A446: main (home/BitMagic/samples/bmbsample01/bmbsample01.cpp:87)
Metadata
Metadata
Assignees
Labels
No labels