Skip to content

MEMCHECK: 512 bytes in 1 blocks are possibly lost in loss record #81

@JohnSmithBH84

Description

@JohnSmithBH84

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

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions