Hello,
I have been very careful with my memory allocation. I have one heap where all my variable allocate from and then one heap for each task that is running so that they will have their own stack.
Then I run some code that uses alot of memory. I am expecting to get an out of memory error from a heap handle that I recognize. however, the error is from a handle that I did not create.
How can I determine which heap overflowed? All the tasks I created and memory setup do not have the same handle that the error listed and neither is that handle list in the ROV tool. Any suggestions?
Here is the error:
[C66xx_0] ti.sysbios.heaps.HeapMem: line 294: out of memory: handle=0x862670, size=8200
[C66xx_0] 00506.991 mmBulkAlloc(): could not allocate memory.
[C66xx_0] 00506.992 out of memory: handle=0x8620f0, size=9
[C66xx_0] 00506.993 SBNew: Buffer OOM
[C66xx_0] [ERROR] [0000000008:28.493] [CORE0] Error connecting to app server. Trying again... SockHandle: -1, ConnectErr: -1
[C66xx_0] 00507.000 LLIGenArpPacket: Illegal ARP Attempt - Check Configuration
[C66xx_0] [INFO ] [0000000008:28.498] [CORE0] Network shutting down.
[C66xx_0] [ERROR] [0000000008:28.498] [CORE0] Error connecting to app server. Trying again... SockHandle: 8730052, ConnectErr: -1
[C66xx_0] ti.sysbios.heaps.HeapMem: line 329: assertion failure: A_invalidFree: Invalid free
[C66xx_0] xdc.runtime.Error.raise: terminating execution
Here are the debug messages with the heaps I know about:
[C66xx_0] [DEBUG] [0000000000:00.000] [CORE0] Creating network task with heap 0x862904
[C66xx_0] [DEBUG] [0000000000:00.000] [CORE0] Starting Core 0 Task with heap 0x862684.
[C66xx_0] [DEBUG] [0000000000:04.028] [CORE0] Trying to create Association Task with heap 0x862738.
[C66xx_0] [DEBUG] [0000000000:04.033] [CORE0] Trying to create Solver Task with heap 0x8627d8
[C66xx_0] [DEBUG] [0000000000:04.038] [CORE0] Set Allocator Detections with heap 0x862724.
[C66xx_0] [DEBUG] [0000000000:04.143] [CORE0] Create new EmbMHT instance with heap 0x862724
[C66xx_0] [DEBUG] [0000000000:04.148] [CORE0] enterCEmbMHT Constructor: all allocations made with heap 0x862724
[C66xx_0] [DEBUG] [0000000000:04.148] [CORE0] Setting Allocator for mScanObservationCounts
[C66xx_0] [DEBUG] [0000000000:04.148] [CORE0] Setting Allocator for mTimeBuffer
[C66xx_0] [DEBUG] [0000000000:04.148] [CORE0] Setting Allocator for mSecondarySolverDimensions
[C66xx_0] [DEBUG] [0000000000:04.153] [CORE0] Setting Allocator for mPrioritySolverDimensions
[C66xx_0] [DEBUG] [0000000000:04.153] [CORE0] Setting Allocator for Scan Tree.
[C66xx_0] [DEBUG] [0000000000:04.153] [CORE0] Setting Allocator for ActiveTrackMap.
[C66xx_0] [DEBUG] [0000000000:04.153] [CORE0] Setting Allocator for Sectormap.
[C66xx_0] [DEBUG] [0000000000:04.153] [CORE0] End embMHT Constructor.
[C66xx_0] [DEBUG] [0000000000:04.158] [CORE0] Initializing Assoc Task.
[C66xx_0] [DEBUG] [0000000000:04.158] [CORE0] Initializing Solver Task.
Here is the ROV print screen of the basic tab:
Here’s the ROV print screen of the detail tab:
Please advise on how to figure out which heap is 0x862670 so I can make it larger.
thanks so much,
Brandy