MEMCHECK VHM report examples

Both reports are written at Language Environment® termination (_VHM_TERM event). They are written in the output file name specified in _CEE_MEMCHECK_OUTFILENAME and are consistent with the format of other Language Environment reports.

The following trace report will be generated at Language Environment termination (_VHM_TERM event) if the _CEE_MEMCHECK_TRACE environment variable is active. The report generates the traceback information of all heap storage allocations and deallocations.

MEMCHECK
Language Environment V1 R7
TRACE REPORT for enclave main, termination report

DEALLOCATE of storage at 0x25a2ea30
      - sequence 12
      Called from: 25a43c78  +00000120  MemFree
      Called from: 05cd9918  +0000005c  CEEPGTFN
      Called from: 257f6888  +000002b0  _cterm
      Called from: 05d46788  +0000040c  (unknown)
DEALLOCATE of storage at 0x25a2e0c8
      - sequence 11
      Called from: 25a43c78  +00000120  MemFree
      Called from: 05cd9918  +0000005c  CEEPGTFN
      Called from: 257f6888  +000001bc  _cterm
      Called from: 05d46788  +0000040c  (unknown)
DEALLOCATE of storage at 0x25a2ecf8
      - sequence 10
      Called from: 25a43c78  +00000120  MemFree
      Called from: 05cd9918  +0000005c  CEEPGTFN
      Called from: 25601ae8  +000000b2  function3
      Called from: 25601bb8  +0000008c  function2
      Called from: 25601c68  +000000ca  function1
      Called from: 25601a60  +00000062  main
ALLOCATE of storage at 0x25a2ecf8 for 5 bytes
      - sequence 9
      Called from: 25a44330  +000000fc  MemAlloc
      Called from: 05cd9918  +0000005c  CEEPGTFN
      Called from: 25601ae8  +00000084  function3
      Called from: 25601bb8  +0000008c  function2
      Called from: 25601c68  +000000ca  function1
      Called from: 25601a60  +00000062  main
ALLOCATE of storage at 0x25a2ecd8 for 8 bytes
      - sequence 8
      Called from: 25a44330  +000000fc  MemAlloc
      Called from: 05cd9918  +0000005c  CEEPGTFN
      Called from: 25601bb8  +0000007e  function2
      Called from: 25601c68  +000000ca  function1
      Called from: 25601a60  +00000062  main
DEALLOCATE of storage at 0x25a2ecd8
      - sequence 7
      Called from: 25a43c78  +00000120  MemFree
      Called from: 05cd9918  +0000005c  CEEPGTFN
      Called from: 25601c68  +000000bc  function1
      Called from: 25601a60  +00000062  main
DEALLOCATE of storage at 0x25a2ecd8
      - sequence 6
      Called from: 25a43c78  +00000120  MemFree
      Called from: 05cd9918  +0000005c  CEEPGTFN
      Called from: 25601c68  +0000009e  function1
      Called from: 25601a60  +00000062  main
ALLOCATE of storage at 0x25a2ecd8 for 4 bytes
      - sequence 5
      Called from: 25a44330  +000000fc  MemAlloc
      Called from: 05cd9918  +0000005c  CEEPGTFN
      Called from: 25601c68  +0000007e  function1
      Called from: 25601a60  +00000062  main
ALLOCATE of storage at 0x25a2ec90 for 48 bytes
      - sequence 4
      Called from: 25a44330  +000000fc  MemAlloc
      Called from: 05cd9918  +0000005c  CEEPGTFN
      Called from: 25725c08  +000000a0  dllinit
      Called from: 05d49c88  +000007dc  (unknown)
ALLOCATE of storage at 0x25a2ea30 for 584 bytes
      - sequence 3
      Called from: 25a44330  +000000fc  MemAlloc
      Called from: 05cd9918  +0000005c  CEEPGTFN
      Called from: 258c6d70  +00000186  setlocale
      Called from: 25862540  +0000059e  tzset
      Called from: 257f8d30  +00002df2  _cinit
      Called from: 05d4abb0  +00000cb4  (unknown)
ALLOCATE of storage at 0x25a2e1f8 for 2074 bytes
      - sequence 2
      Called from: 25a44330  +000000fc  MemAlloc
      Called from: 05cd9918  +0000005c  CEEPGTFN
      Called from: 258c6958  +00000070  realloc_name_buffer
      Called from: 258c6d70  +00000132  setlocale
      Called from: 25862540  +0000059e  tzset
      Called from: 257f8d30  +00002df2  _cinit
      Called from: 05d4abb0  +00000cb4  (unknown)
ALLOCATE of storage at 0x25a2e0c8 for 280 bytes
      - sequence 1
      Called from: 25a44330  +000000fc  MemAlloc
      Called from: 05cd9918  +0000005c  CEEPGTFN
      Called from: 258c6d70  +000000f6  setlocale
      Called from: 25862540  +0000059e  tzset
      Called from: 257f8d30  +00002df2  _cinit
      Called from: 05d4abb0  +00000cb4  (unknown)

The Heap Leak Report (Figure 1 ) will be generated with any remaining entries in the memory leak control block. The allocated entries will be reported as storage leaks, while the deallocated entries will be reported as duplicated deallocations and the overlay entries as overlay damage.

Figure 1. Heap Leak Report generated by MEMCHECK VHM
MEMCHECK
Language Environment V1 R7
HEAP LEAK REPORT for enclave main, termination report

     Total number of ALLOCATE calls = 7
     Total number of DEALLOCATE calls = 5


     Current number of bytes allocated = 288928
     Maximum number of bytes allocated = 289824


     Total number of unmatched ALLOCATE calls = 3
  Unmatched ALLOCATE of 8 bytes at address 0x25a2ecd8
      - sequence 8
      Called from: 25a44330  +000000d2  MemAlloc
      Called from: 05cd9918  +0000005c  CEEPGTFN
      Called from: 25601bb8  +0000007e  function2
      Called from: 25601c68  +000000ca  function1
      Called from: 25601a60  +00000062  main
  Unmatched ALLOCATE of 48 bytes at address 0x25a2ec90
      - sequence 4
      Called from: 25a44330  +000000d2  MemAlloc
      Called from: 05cd9918  +0000005c  CEEPGTFN
      Called from: 25725c08  +000000a0  dllinit
      Called from: 05d49c88  +000007dc  (unknown)
  Unmatched ALLOCATE of 2074 bytes at address 0x25a2e1f8
      - sequence 2
      Called from: 25a44330  +000000d2  MemAlloc
      Called from: 05cd9918  +0000005c  CEEPGTFN
      Called from: 258c6958  +00000070  realloc_name_buffer
      Called from: 258c6d70  +00000132  setlocale
      Called from: 25862540  +0000059e  tzset
      Called from: 257f8d30  +00002df2  _cinit
      Called from: 05d4abb0  +00000cb4  (unknown)

     Total number of unmatched DEALLOCATE calls = 1
  Unmatched DEALLOCATE at address 0x25a2ecd8
      - sequence 7
      Called from: 25a43c78  +000000f2  MemFree
      Called from: 05cd9918  +0000005c  CEEPGTFN
      Called from: 25601c68  +000000bc  function1
      Called from: 25601a60  +00000062  main

     Total number of OVERLAY calls = 1
  OVERLAY damage using more than 5 bytes requested at address 0x25a2ecf8
      Called from: 25a44330  +000000d2  MemAlloc
      Called from: 05cd9918  +0000005c  CEEPGTFN
      Called from: 25601ae8  +00000084  function3
      Called from: 25601bb8  +0000008c  function2
      Called from: 25601c68  +000000ca  function1
      Called from: 25601a60  +00000062  main
The following names are used within MEMCHECK to denote special cases and may be displayed in any of the reports:
(unknown)
Name of the routine is not known.
(noname)
Routine does not have a name in the PPA section. (For example, module compiled with compress option).
(nospace)
Internal memory space reserved by MEMCHECK is full, so name was not saved for the traceback information. No action is needed from the user.