Что означает статус Intel IPP -189 (ippStsRegExpErr)?

 
Предыдущий Следующий
ippStsRegExpOptionsErr ippStsRegExpMatchLimitErr

ippStsRegExpErr

Что означает ippStsRegExpErr

ippStsRegExpErr означает: RegExp: структура pRegExpState содержит недопустимые данные. Для ippStsRegExpErr статус относится к устаревшему API регулярных выражений Intel IPP и указывает либо на синтаксис шаблона, либо на параметры компиляции, состояние matcher или установленный лимит сопоставления.

Для ippStsRegExpErr анализируйте строку шаблона в том виде, в котором она реально передана IPP после обработки литералов, JSON, конфигурации и escape-последовательностей. Текст в исходном коде и runtime-строка могут различаться.

При разборе ippStsRegExpErr исходная техническая страница отдельно связывает статус с pRegExpState. Для ippStsRegExpErr сохраните эти значения вместе с точной функцией и версией Intel IPP, чтобы не потерять специфичный для вызова контекст.

Что проверить

  • При диагностике ippStsRegExpErr запишите точные байты шаблона, options, кодировку и результат функции компиляции состояния RegExp.
  • При диагностике ippStsRegExpErr проверьте скобки, классы символов, квантификаторы, метасимволы и escaping с учётом поддерживаемого IPP подмножества синтаксиса.
  • При диагностике ippStsRegExpErr для ошибки состояния проверьте размер, выравнивание и время жизни буфера, а также отсутствие использования после неудачной компиляции.
  • При диагностике ippStsRegExpErr для лимита сопоставления уменьшите вход до минимального примера и ищите вложенные повторения или неоднозначные альтернативы, вызывающие чрезмерный backtracking.

Для ippStsRegExpErr подтвердите исправление на исходном проблемном шаблоне и на отрицательном тесте, который по-прежнему воспроизводит соответствующую синтаксическую или ресурсную границу.

Документация для ippStsRegExpErr


Нужно найти другой код? Найти другой код состояния или ошибки.