The argus_camera
application from the NVIDIA Jetson Linux Multimedia samples crashes every time it is executed immediately with a segmentation fault.
Steps to reproduce:
- Install a fresh system to the Jetson TX2 with the Linux JetPack 4.4 including all of the Jetson SDK Components
- After the initial user setup and all the SDK components are installed, including the Multimedia API sources from
nvidia-l4t-jetson-multimedia-api_32.4.3-20200625213407_arm64.deb
, compile theargus_camera
application
sudo apt-get install libgtk-3-dev libjpeg-dev
cp -a /usr/src/jetson_multimedia_api ~/
cd ~/jetson_multimedia_api/argus/cmake/
cmake ..
make
sudo make install
- Execute the argus_camera application from the command line
/usr/local/bin/argus_camera
The program will get a segmentation fault immediately after executing, before starting any video stream.
Executing Argus Sample Application (argus_camera)
Argus Version: 0.97.3 (multi-process)
Segmentation fault (core dumped)
I have verified this multiple times. There was no issue with the argus_camera application on L4T R32.4.2 (JetPack 4.4 DP). I used the exact same procedure installing everything and compiling, and the argus_camera application works perfectly well on L4T R32.4.2, but is broken with the userspace libraries/applications that are installed with L4T R32.4.3.
I captured the coredump along with a gdb session output (in case that is easier to quickly diagnose) from the crashing argus_camera. The problem is in jetson_multimedia_api/argus/apps/camera/modules/Dispatcher.cpp @ line 945 where iCameraProperties->getFocusPositionRange() is called. I do not have the source for libnvargus_socketclient.so, but the SIGSEGV occurs at the same program counter every time inside of libnvargus_socketclient.so.
Here is the capture of the gdb session which gives the back trace, stack, and register information: argus_camera_gdb_info.txt (9.1 KB)
Here is the actual coredump file (not a txt file, it is bzip2 compressed): argus_camera.core.bz2 (2.2 MB)
Again, this is a completely unmodified L4T R32.4.3 system, other than the compilation of the argus_camera
application, but here is some information from the system:
cat /etc/nv_tegra_release
# R32 (release), REVISION: 4.3, GCID: 21589087, BOARD: t186ref, EABI: aarch64, DATE: Fri Jun 26 04:34:27 UTC 2020
$ md5sum /usr/sbin/nvargus-daemon
fa5b39d1a502edf75145a3c0de58a865 /usr/sbin/nvargus-daemon
$ md5sum /usr/lib/aarch64-linux-gnu/tegra/libnvargus*
730af64f91e53d3632691209403bef4f /usr/lib/aarch64-linux-gnu/tegra/libnvargus.so
b8825bf3c2e2d253506e018893b6be87 /usr/lib/aarch64-linux-gnu/tegra/libnvargus_socketclient.so
ce04b1cb57540f36a55cf99796a137da /usr/lib/aarch64-linux-gnu/tegra/libnvargus_socketserver.so
$ dpkg -l nvidia-l4t-camera
ii nvidia-l4t-camera 32.4.3-20200625213 arm64 NVIDIA Camera Package
Here are the application binaries from the argus multimedia that I compiled: Argus_Multimedia_binary_apps_R32.4.3_aarch64.tbz2 (3.1 MB) → not a txt file, tarred bzip2 compressed data of all the argus applications