This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Compiler: ti.sysbios.heaps.HeapMem: line 302: ti.sysbios.heaps.HeapMem: line 302: assertion failure

Other Parts Discussed in Thread: SYSBIOS

Tool/software: TI C/C++ Compiler

[DSP1 ] 12.915482 s: ### XDC ASSERT - ERROR CALLBACK START ###
[DSP1 ] 12.915512 s:
[DSP1 ] 12.915573 s: assertion failure
[DSP1 ] 12.915604 s:
[DSP1 ] 12.915604 s: ### XDC ASSERT - ERROR CALLBACK END ###
[DSP1 ] 12.915634 s:
[DSP1 ] 12.915695 s: ti.sysbios.heaps.HeapMem: line 302: ti.sysbios.heaps.HeapMem: line 302: assertion failure
[DSP1 ] 12.915756 s: xdc.runtime.Error.raise: terminating execution

I don't know what cause this exception? When I execute the following code:

typedef union ccv_numeric_data_u {
	unsigned char* u8;
	int* i32;
	float* f32;
	int64_t* i64;
	double* f64;
	void* ptr; // Raw pointer
} ccv_numeric_data_t;

typedef struct {
	int type;
	int refcount;
	uint64_t sig;
	int cols;
	int rows;
	int step;
	union {
		unsigned char u8;
		int i32;
		float f32;
		int64_t i64;
		double f64;
		void* p;
	} tb;
	ccv_numeric_data_t data;
} ccv_dense_matrix_t;

static const int _ccv_get_data_type_size[] = { -1, 1, 4, -1, 4, -1, -1, -1, 8, -1, -1, -1, -1, -1, -1, -1, 8 };

#define CCV_GET_DATA_TYPE(x) ((x) & 0xFF000)
#define CCV_GET_DATA_TYPE_SIZE(x) _ccv_get_data_type_size[CCV_GET_DATA_TYPE(x) >> 12]
#define CCV_MAX_CHANNEL (0xFFF)
#define CCV_GET_CHANNEL(x) ((x) & 0xFFF)

#define ccv_compute_dense_matrix_size(rows, cols, type) (((sizeof(ccv_dense_matrix_t) + 15) & -16) + (((cols) * 

CCV_GET_DATA_TYPE_SIZE(type) * CCV_GET_CHANNEL(type) + 3) & -4) * (rows))

malloc(ccv_compute_dense_matrix_size(rows, cols, type));