Bug #684

Isomalloc PUP has invalid read memory errors

Added by Sam White over 4 years ago. Updated 8 months ago.

Target version:
Start date:
Due date:
% Done:




Running valgrind on an AMPI program with isomalloc, both C and Fortran, shows invalid read errors.

Here is the output of valgrind:

==23389== 2349 errors in context 5 of 11:
==23389== Invalid read of size 8
==23389==    at 0x4C2D00F: memcpy@@GLIBC_2.14 (in /usr/lib/valgrind/
==23389==    by 0x74422A: PUP::toMem::bytes(void*, int, unsigned long, PUP::dataType) (pup_util.C:157)
==23389==    by 0x578CAC: PUP::er::operator()(char*, int) (pup.h:217)
==23389==    by 0x749957: pup_bytes (pup_c.C:176)
==23389==    by 0x73AF71: CmiIsomallocBlockListPup (isomalloc.c:2661)
==23389==    by 0x574E1A: TCharm::pupThread(PUP::er&) (tcharm.C:328)
==23389==    by 0x574D42: TCharm::pup(PUP::er&) (tcharm.C:306)
==23389==    by 0x61E18F: CkLocMgr::pupElementsFor(PUP::er&, CkLocRec_local*, CkElementCreation_t, bool) (cklocation.C:3080)
==23389==    by 0x61E591: CkLocMgr::emigrate(CkLocRec_local*, int) (cklocation.C:3194)
==23389==    by 0x61B24E: CkLocRec_local::migrateMe(int) (cklocation.C:1663)
==23389==    by 0x61BC0A: CkLocRec_local::recvMigrate(int) (cklocation.C:1909)
==23389==    by 0x61BBD8: CkLocRec_local::staticMigrate(LDObjHandle, int) (cklocation.C:1902)
==23389==  Address 0x10000fc8c0 is not stack'd, malloc'd or (recently) free'd


#1 Updated by Eric Bohm over 4 years ago

  • Assignee set to Phil Miller

#2 Updated by Eric Bohm almost 3 years ago

Old bug, still open?

#3 Updated by Phil Miller almost 3 years ago

Probably. Need to re-investigate.

#4 Updated by Sam White over 2 years ago

  • Target version set to 6.8.1

#5 Updated by Sam White over 2 years ago

  • Subject changed from Isomalloc has memory errors to Isomalloc PUP has invalid read memory errors
  • Assignee changed from Phil Miller to Sam White

These are still present in Isomalloc. I'll take a look.

#6 Updated by Sam White almost 2 years ago

  • Target version changed from 6.8.1 to 6.9.0

#7 Updated by Sam White over 1 year ago

  • Target version deleted (6.9.0)

#8 Updated by Sam White about 1 year ago

  • Tags set to isomalloc

#9 Updated by Evan Ramos 11 months ago

For reference, the line at CmiIsomallocBlockListPup (isomalloc.c:2661) when this issue was created is: pup_bytes(p,(void*)currSlot,MEMPOOL_GetSlotSize(currSlot));

#10 Updated by Evan Ramos 11 months ago

My initial suspicion after briefly looking at this is that it results from a logic error somewhere in the mempool's handling of the structures it prepends to allocations.

#11 Updated by Sam White 8 months ago

  • Assignee changed from Sam White to Evan Ramos

This issue may be obviated by the development of the isomempool

Also available in: Atom PDF