| Предыдущий | Следующий |
| ippStsDivByZeroErr | ippStsNullPtrErr |
ippStsMemAllocErr
Что означает ippStsMemAllocErr
ippStsMemAllocErr означает: Объёма памяти, выделенного для операции, недостаточно. Для ippStsMemAllocErr статус указывает на недоступную память, нулевой указатель, недостаточный буфер либо нарушение требований выравнивания.
Для ippStsMemAllocErr проверять нужно не только адрес, но и размер доступной области, время жизни объекта, alignment и соответствие буфера конкретному варианту функции. Указатель может быть ненулевым, но уже освобождённым или слишком коротким.
При разборе ippStsMemAllocErr исходная техническая страница отдельно связывает статус с ippStsNoMemErr. Для ippStsMemAllocErr сохраните эти значения вместе с точной функцией и версией Intel IPP, чтобы не потерять специфичный для вызова контекст.
Что проверить
- При диагностике
ippStsMemAllocErrзапишите все pointer arguments, вычисленные размеры, stride и результат функций выделения памяти. - При диагностике
ippStsMemAllocErrпроверьте переполнение при умножении размеров и добавлении padding до выделения буфера. - При диагностике
ippStsMemAllocErrсопоставьте alignment с требованиями типа данных и используемой реализации; не исправляйте смещение простым округлением без увеличения области. - При диагностике
ippStsMemAllocErrпроверьте владение и время жизни буферов, особенно при асинхронной работе и совместном использовании несколькими потоками.
Для ippStsMemAllocErr исправление подтверждается запуском под инструментом поиска ошибок памяти и отрицательным тестом с недостаточным или нулевым буфером, который завершается контролируемым статусом.
Документация для ippStsMemAllocErr
Нужно найти другой код? Найти другой код состояния или ошибки.