Segfault on 00_video_decode with latest jetpack

I’ve recently updated my TX2 to be the latest using NVIDIA SDK Manager, and running the samples no longer works. They worked fine before the update (not sure what the previous version was, but it was using Ubuntu 16.04).

I haven’t changed much, just installed and downloaded the latest multimedia api (28.3). When I build, I also get a lot of warning about duplicate defines, eg:

make
Compiling: video_decode_csvparser.cpp
In file included from /home/nvidia/Downloads/tx2-Tegra_Multimedia_API_R28.3.0_aarch64/tegra_multimedia_api/include/NvBuffer.h:43:0,
                 from /home/nvidia/Downloads/tx2-Tegra_Multimedia_API_R28.3.0_aarch64/tegra_multimedia_api/include/NvV4l2ElementPlane.h:53,
                 from /home/nvidia/Downloads/tx2-Tegra_Multimedia_API_R28.3.0_aarch64/tegra_multimedia_api/include/NvV4l2Element.h:50,
                 from /home/nvidia/Downloads/tx2-Tegra_Multimedia_API_R28.3.0_aarch64/tegra_multimedia_api/include/NvVideoDecoder.h:48,
                 from video_decode.h:29,
                 from video_decode_csvparser.cpp:33:
/home/nvidia/Downloads/tx2-Tegra_Multimedia_API_R28.3.0_aarch64/tegra_multimedia_api/include/v4l2_nv_extensions.h:65:0: warning: "V4L2_PIX_FMT_YUV444M" redefined
 #define V4L2_PIX_FMT_YUV444M v4l2_fourcc('Y', 'M', '4', '4')
...
In file included from /home/nvidia/Downloads/tx2-Tegra_Multimedia_API_R28.3.0_aarch64/tegra_multimedia_api/include/NvBuffer.h:39:0,
                 from /home/nvidia/Downloads/tx2-Tegra_Multimedia_API_R28.3.0_aarch64/tegra_multimedia_api/include/NvUtils.h:50,
                 from video_decode_main.cpp:30:
/usr/include/linux/videodev2.h:572:0: note: this is the location of the previous definition
 #define V4L2_PIX_FMT_YUV444M v4l2_fourcc('Y', 'M', '2', '4') /* 24  YUV444 planar */
...

I’m assuming it’s something different with the latest version of Ubuntu that’s causing the issue. Details below:

Description:	Ubuntu 18.04.2 LTS
Release:	18.04
Codename:	bionic
cat /etc/nv_tegra_release
# R32 (release), REVISION: 1.0, GCID: 14531094, BOARD: t186ref, EABI: aarch64, DATE: Wed Mar 13 07:41:08 UTC 2019
...

Segfault:

./video_decode H264 '/home/nvidia/Downloads/tx2-Tegra_Multimedia_API_R28.3.0_aarch64/tegra_multimedia_api/data/Video/sample_outdoor_car_1080p_10fps.h264'
Set governor to performance before enabling profiler
Creating decoder in blocking mode 
Failed to query video capabilities: Inappropriate ioctl for device
Opening in BLOCKING MODE 
NvMMLiteOpen : Block : BlockType = 261 
NVMEDIA: Reading sys.display-size : status: 6 
NvMMLiteBlockCreate : Block : BlockType = 261 
Starting decoder capture loop thread
Video Resolution: 1920x1080
[INFO] (NvEglRenderer.cpp:109) <renderer0> Setting Screen width 1920 height 1080
Input file read complete
Query and set capture successful
NvMediaVideoDecoderRenderPriv: failed to decode the picture
NVMEDIA: cbDecodePicture: 1449: NVMEDIAVideoDecoderRender failed!
Segmentation fault (core dumped)

Any thoughts?

Hi abc9ag3c, Could you see if https://devtalk.nvidia.com/default/topic/1048787/jetson-tx2/segmentation-fault-with-decoder/ helps?

Thanks. I had found that post, unfortunately it didn’t help.

Hi,
If you install TX2 via SDK manager, the version is r32.1 and the samples are under /usr/src/
At download center, it is https://developer.nvidia.com/embedded/dlc/l4t-multimedia-api-32-1-JAX-TX2

Ah, the samples under /usr/src/ work. Thanks!