"Failed to load jTegra library" on read only filesystem


I’m trying to track down an issue we’re having loading the tegra libraries on a read only filesystem (squashfs).

The app seg faults with the following:

dlopen: Failed to load jTegra library fo[ 806.021189] pgd = ffffffc0f7a90000
r Tegra Acceleration
[ 806.027401] [00000008] *pgd=000000017c773003, *pmd=0000000000000000
[ 806.035809] Library at 0x7f9599fc3c: 0x7f9599d000 /usr/lib/tegra-egl/libEGL.so.1
[ 806.043267] Library at 0x7f9783adc4: 0x7f9782d000 /lib/ld-2.21.so
[ 806.049465] vdso base = 0x7f97856000
Segmentation fault

The app works fine on a read-write filesystem so I can only assume it is trying to modify something but I’m having a hard time tracking it down.

Any help is greatly appreciated.

The GDB output points to the __eglTeardownVendor method in libEGL but still no idea what could be causing it.

GDB output:

0x0000007fb6145c3c in __eglTeardownVendor () from /usr/lib64/libEGL.so.1
(gdb) bt
#0 0x0000007fb6145c3c in __eglTeardownVendor () from /usr/lib64/libEGL.so.1
#1 0x0000007fb7fe0dc4 in _dl_fini () from /lib/ld-linux-aarch64.so.1
#2 0x0000007fb641a17c in __run_exit_handlers () from /lib64/libc.so.6
#3 0x0000007fb641a1a4 in exit () from /lib64/libc.so.6
#4 0x0000007fb6714740 in ?? () from /usr/lib64/libnvjpeg.so
#5 0x0000007fb66f1038 in jpeg_CreateCompress () from /usr/lib64/libnvjpeg.so
#6 0x00000000008848a4 in NvJPEGEncoder::NvJPEGEncoder(char const*) ()
#7 0x000000000088490c in NvJPEGEncoder::createJPEGEncoder(char const*) ()
#8 0x0000000000802868 in NvidiaTX1JpegEncoder::NvidiaTX1JpegEncoder(char const*) ()

Hi aharley,
We will check and give more detail. However, the lib is not specially designed for read-only system, we may not have plan to have it work for read-only.

Thanks DaneLLL,

I’ll continue looking into it while I wait for more info.

Hi aharley,
It requires WR permission to /dev/nvhost-nvjpg