Buffer Address Verification Error Due to Buffer Allocation with an Incorrect API
Symptom
The error information in the log is as follows:
address check failed ret 0x3, please check: 1. use hi_mpi_dvpp_malloc or aclDvppMalloc to alloc dvpp memory; 2. current buffer size 3110400 may be larger than actually allocated.
Possible Cause
According to the log information, the possible causes are as follows:
- The specified API is not used to allocate DVPP buffer.
- The buffer size input by the API is smaller than the actually allocated buffer size.
Solution
Check the code:
- Check whether acldvppMalloc in media data processing V1 or hi_mpi_dvpp_malloc in media data processing V2 is used to allocate buffer for storing the input or output data of JPEGD or VDEC.
- Add log printing of the buffer size and address to the DVPP buffer allocation API, and check whether the buffer size input by hi_mpi_vdec_get_frame, aclvdecSendFrame, or acldvppJpegDecodeAsync exceeds the actually allocated buffer size.
Parent topic: JPEGD and VDEC