Memory Event Reports

A number of memory events can notify you and stop execution if you choose. For example, if the block was previously deallocated, TotalView can stop execution and report a “double free” error.

Table 21 lists all possible events for which you can receive notifications.

Table 21. Memory Events Logged by TotalView

Error

Description

API usage error

Incorrect API or API instance used in operation.

Allocation failed

Memory allocation failed.

Double free

Attempt to free a block that was already freed.

Free interior pointer

Attempt to free a block, but the address points into the interior of the allocated block rather than the address returned when the block was allocated.

Free notification

The user requested to stop the program when memory was freed.

Free unknown block

Attempt to free a non-allocated block.

Guard corruption

Attempt to free a block, but the guard blocks surrounding it have been altered. This indicates that your program wrote data where it should not have.

Invalid aligned allocation request

Supplied a bad address to a malloc routine.

Misaligned allocation

The block returned by the malloc library is not aligned on a byte boundary required by your operating system. The heap may be corrupted. (This is not a program error.)

Realloc notification

The user requested to stop the program when this block was reallocated.

Realloc unknown block

Attempt to reallocate an unallocated block.

Red Zone overrun error

Attempt to read or write past the end of your allocated block.

Red Zone overrun error on deallocated block

Attempt to read or write past the end of your deallocated block.

Red Zone underrun error

Attempt to read or write before the start of your allocated block.

Red Zone underrun error on deallocated block

Attempt to read or write before the start of your deallocated block.

Red Zone use-after-free error

Attempt to access a block after it has been deallocated.

Termination notification

User has requested to halt before the program exits.

Unknown error

An error unknown to TotalView has occurred.

Events that are controlled via a separate setting are not yet supported in the UI. For more detail, see dheap in the TotalView Reference.