Как исправить аварийное завершение nvv4l2decoder с ошибкой SIGSEGV на Jetson AGX Xavier

Как исправить аварийное завершение nvv4l2decoder с ошибкой SIGSEGV на Jetson AGX Xavier

Инженеры и разработчики встраиваемых мультимедийных комплексов на базе вычислительного модуля NVIDIA Jetson AGX Xavier под управлением дистрибутива Jetson Linux 35.6.5 (входящего в состав пакета JetPack 5.1.7) столкнулись с систематическими аварийными сбоями процессов декодирования. Ошибка проявляется как сигнал SIGSEGV в библиотеке libnvmmlite_video.so при непрерывной обработке чересстрочных видеопотоков формата 1080i H.264 через аппаратно-ускоренный плагин nvv4l2decoder среды GStreamer.

При развертывании многопоточных видеосерверов видеонаблюдения и ретрансляции телевизионного вещания формата MPEG-TS с чересстрочной разверткой 1080i на платформе Jetson AGX Xavier инженеры фиксируют регулярное падение хост-процесса конвейера GStreamer. Сбой происходит с кодом завершения SIGSEGV в собственном рабочем потоке декодера. Трассировка вызовов указывает на обращение по нулевому или поврежденному указателю внутри закрытых библиотек libnvmmlite_video.so и libnvvideo.so, вызываемых через синтаксический анализатор libnvparser.so при штатном входном потоке без потерь пакетов.

Причины сбоя и механизм деградации буфера кадров

Анализ логики декодирования показал, что критическая уязвимость локализована в открытой части плагина gst-v4l2, а именно в функции gst_v4l2_video_dec_clean_older_frames исходного файла gstv4l2videodec.c. При обработке чересстрочных потоков H.264 отдельные полукадры или кадры-призраки могут формироваться без корректной временной метки представления PTS. В стандартной кодовой базе условие проверки отсекает кадры только по строгому сравнению tmp->pts < timestamp, игнорируя факт невалидности метки.

В результате кадры с некорректным состоянием таймстемпа остаются в пуле буферов декодера и не вычищаются вовремя. Когда внутренний менеджер памяти пытается передать такой буфер в аппаратный декодер через закрытые низкоуровневые интерфейсы libnvmmlite, происходит разыменование некорректного адреса памяти, приводящее к фатальному сбою всего приложения через несколько часов непрерывной эксплуатации.

Инструкция по наложению патча и сборке плагина

Официальные представители службы технической поддержки NVIDIA подтвердили наличие данной проблемы в ветке JetPack 5 и предоставили корректирующий патч для открытого исходного кода gst-v4l2, а также рекомендации по пересборке разделяемой библиотеки libgstnvvideo4linux2.so на целевой системе.

Для устранения проблемы необходимо скачать архив исходных кодов Driver Package (BSP) Sources со страницы выпуска Jetson Linux R35.6.5 и распаковать пакет gst-nvvideo4linux2_src.tbz2. После распаковки откройте файл gst-v4l2/gstv4l2videodec.c и найдите функцию очистки устаревших кадров gst_v4l2_video_dec_clean_older_frames. В теле цикла замените условие сравнения временных меток, добавив явную проверку макросом GST_CLOCK_TIME_IS_VALID. Новая конструкция должна отбрасывать кадр, если метка времени задана и при этом PTS является недействительным либо строго меньше текущего порога timestamp.

После внесения изменений выполните компиляцию библиотеки командой make в каталоге с исходными кодами плагина. Скомпилированный файл libgstnvvideo4linux2.so необходимо скопировать с заменой в системный каталог /usr/lib/aarch64-linux-gnu/gstreamer-1.0/, предварительно создав резервную копию оригинального файла. Завершающим шагом очистите кэш реестра плагинов GStreamer, удалив файл registry.aarch64.bin в домашнем каталоге пользователя, после чего перезапустите фоновые службы декодирования.

Источники

Редакция: Soft-Buy.ru
Дата публикации: 10.09.2026. Дата обновления: 10.09.2026.
Как проверяли: первоисточники, официальные публикации, документацию, changelog или профильные материалы, использованные в статье.
Важно: материал носит редакционный характер; рекламные, партнёрские и неподтверждённые источники не используются в автоматическом workflow публикации.

Случайные статьи

Инсайдерские источники раскрыли ключевые технические характеристики и экономические параметры флагманского мобильного процессора Apple A20 Pro. Чипсет ляжет в основу будущей линейк...
Разработчики Xiaomi официально подтвердили запуск проекта HyperOS 4. В рамках инициативы «Zero-Legacy» новая операционная система будет полностью переписана на языках Rust и Flutte...
Компания Motorola расширила программу бета-тестирования операционной системы Android 17 с обновленным интерфейсом Hello UI. К списку поддерживаемых устройств присоединились свежие ...
NVIDIA заключила соглашение с ведущими инвестиционными фондами BlackRock, Blackstone и Goldman Sachs о создании финансовой платформы объемом $500 млрд. Средства пойдут на постройку...
Статья Игровые проекторы Epson добавлена с разрешения редакции сайта Игромания.Автор: Павел Шубский. Компания Epson предлагает выкинуть громоздкий дорогой домашний телевизор и за...