Skip to content

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

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)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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