Kernel Panic in vi_capture_request_unpin

Hi, I am using the Orin Jetson Orin AGX devkit (64GB) running L4T r36.4.7 + the ZED capture card + 8x GMSL Zed cameras.

Occasionally, I run into an issue where the orin reboots. From the debug UART, I see it is caused by a kernel panic in the tegra_camera driver:

[ 1417.745141] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
[ 1417.745146] Mem abort info:
[ 1417.745147] ESR = 0x0000000096000005
[ 1417.745148] EC = 0x25: DABT (current EL), IL = 32 bits
[ 1417.745150] SET = 0, FnV = 0
[ 1417.745150] EA = 0, S1PTW = 0
[ 1417.745151] FSC = 0x05: level 1 translation fault
[ 1417.745152] Data abort info:
[ 1417.745152] ISV = 0, ISS = 0x00000005
[ 1417.745153] CM = 0, WnR = 0
[ 1417.745154] user pgtable: 4k pages, 48-bit VAs, pgdp=0000000123faa000
[ 1417.745155] [0000000000000000] pgd=08000004ea954003, p4d=08000004ea954003, pud=0000000000000000
[ 1417.745160] Internal error: Oops: 0000000096000005 [#1] PREEMPT SMP
[ 1417.745163] Modules linked in: sl_zedxone_uhd(OE) sl_zedxpro(OE) sl_zedx(OE) sl_max9295(OE) xt_conntrack xt_MASQUERADE ip6table_nat ip6table_filter ip6_tabl)
[ 1417.745213] snd_soc_tegra_machine_driver(O) crct10dif_ce snd_soc_tegra_utils(O) snd_soc_simple_card_utils tegra234_oc_event(O) tegra23x_perf_uncore(O) cam_)
[ 1417.745255] tegra_drm(O) nvhost_nvdla(O) tegra_wmark(O) videobuf2_common nvhwpm(O) cec host1x_nvhost(O) drm_kms_helper tpm_ftpm_tee v4l2loopback(OE) videod]
[ 1417.745283] CPU: 2 PID: 11402 Comm: nvargus-daemon Tainted: G W OE 5.15.148-tegra #1
[ 1417.745285] Hardware name: NVIDIA NVIDIA Jetson AGX Orin Developer Kit/Jetson, BIOS 36.4.7-gcid-42132812 09/18/2025
[ 1417.745287] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=–)
[ 1417.745289] pc : vi_capture_request_unpin+0x48/0xf0 [tegra_camera]
[ 1417.745301] lr : vi_capture_request_unpin+0x38/0xf0 [tegra_camera]
[ 1417.745309] sp : ffff800027b23c00
[ 1417.745309] x29: ffff800027b23c00 x28: ffff000217bb4d80 x27: 0000000000000000
[ 1417.745311] x26: 0000000000000000 x25: 0000000000000000 x24: 0000000000000000
[ 1417.745313] x23: ffff00008412fa98 x22: ffff0001b0b96288 x21: ffff0001b0b96000
[ 1417.745315] x20: 0000000000000000 x19: 0000000000000000 x18: ffffffffffffffff
[ 1417.745317] x17: 0000000000000000 x16: ffffad6c95ebfde0 x15: ffffad6c9744f9f2
[ 1417.745319] x14: ffffffffffffffff x13: ffffad6c9744f9e8 x12: 206c6f72746e6f63
[ 1417.745320] x11: 656820747563205b x10: ffffad6c97097870 x9 : ffff800027b23a90
[ 1417.745322] x8 : ffff800027b23a90 x7 : 656c646920736920 x6 : 656c646920736920
[ 1417.745324] x5 : ffff000fa2ac89f0 x4 : 00000000fffff7ef x3 : 0000000000000000
[ 1417.745326] x2 : ffff000217bb4d80 x1 : 0000000000000000 x0 : 0000000000000000
[ 1417.745328] Call trace:
[ 1417.745329] vi_capture_request_unpin+0x48/0xf0 [tegra_camera]
[ 1417.745336] vi_capture_shutdown+0x8c/0x100 [tegra_camera]
[ 1417.745344] vi_channel_close_ex+0x34/0xe0 [tegra_camera]
[ 1417.745351] vi_channel_close_ex+0xc4/0xe0 [tegra_camera]

I’m assuming the primary cause is the vi capture setup failure here:

[ 1412.422854] tegra194-vi5 13e00000.host1x:vi0@15c00000: failed to update control callback
[ 1412.422904] tegra194-vi5 13e00000.host1x:vi0@15c00000: vi capture setup failed
[ 1413.437857] tegra194-vi5 13e00000.host1x:vi0@15c00000: capture control message timed out
[ 1414.461912] tegra194-vi5 13e00000.host1x:vi0@15c00000: capture control message timed out
[ 1414.461922] tegra194-vi5 13e00000.host1x:vi0@15c00000: csi_stream_release: failed to disable nvcsi tpg on stream 0 virtual channel 3

kernel_log.txt (17.8 KB)

And then for some reason, memory is attempted to be unpinned even though it was never allocated in the first place. Even though the kernel panic is the second failure, it should not happen since the whole system is brought down.

I’ve attached the full logs. Can somebody please take a look?

*** Please note that this reply is generated by LLM automatically ***

Based on the provided information, it appears that you are experiencing a kernel panic issue on your Jetson Orin AGX devkit 64GB running L4T r3647, specifically with the tegracamera driver. The issue is related to the vi capture setup failure, which leads to a memory unpinning attempt, even though the memory was never allocated.

To better understand the issue, let’s break down the key points:

  1. Kernel panic: The system is experiencing a kernel panic, which is a critical error that causes the system to crash.
  2. tegracamera driver: The issue is related to the tegracamera driver, which is responsible for handling camera-related tasks.
  3. vi capture setup failure: The vi capture setup is failing, which is likely causing the kernel panic.
  4. Memory unpinning attempt: The system is attempting to unpin memory that was never allocated, which is causing the kernel panic.

Comparing this issue to other similar issues in the provided context, we can see that there are several other issues related to camera and kernel panics on the Jetson Orin platform. For example:

  • CSI-0 with MIPI 4 lane is not working properly ( Jetson Orin Nano camera, board-design): This issue is related to a camera setup failure, which could be similar to the vi capture setup failure in your case.
  • CSI Camera 0 Hangs When Trying to Collect an Image with v4l2-ctl (Jetson Orin Nano camera): This issue is related to a camera hang, which could be caused by a similar issue with the tegracamera driver.
  • Jetson Orin Nano - IMX219 not detected on JetPack 6 (Error -121) (Jetson Orin Nano camera): This issue is related to a camera detection failure, which could be caused by a similar issue with the tegracamera driver.

To troubleshoot this issue, you may want to try the following:

  1. Check the camera setup: Verify that the camera setup is correct and that the vi capture setup is properly configured.
  2. Update the tegracamera driver: Try updating the tegracamera driver to the latest version to see if it resolves the issue.
  3. Check for memory issues: Run a memory test to ensure that there are no memory-related issues that could be causing the kernel panic.
  4. Check the kernel logs: Analyze the kernel logs to see if there are any other error messages that could indicate the root cause of the issue.

It’s also recommended to reach out to NVIDIA support for further assistance, as they may be able to provide more specific guidance on troubleshooting and resolving the issue.

*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***

I have already tried these + provided the necessary logs. I’ll need some support beyond the LLM response.

hello orinlettuce,

according to the logs, it’s the kernel panic reported by NULL pointer dereference.
please try refer to below to apply 3 kernel patches for verification.
for instance,
Topic 337341: [Camera][VI] Add semaphore to avoid multi-cam race condition
Topic 337609: [Camera][VI] Memory leakage fix with error recovery
Topic 344342: [Camera][VI] kernel panic when accessing non-existent camera on developer kit

1 Like

Hi Jerry - Thanks for the response. From a short stress test, it looks like the issue is resolved with those patches. I will stress test it for longer before confirming the crash is gone.

I saw the patch from 337609 is already included in the latest L4T release.

However for 337341 and 344342, which release will they be included in? I saw 337341 is from before 36.4.2, but still not included in 36.4.7.

It would be good for these to be included in the next release so we do not have to manually patch the kernel in the future,

hello orinlettuce,

may I also know your long run test criteria?

[EDIT]

those fixes has included in the latest rel-36 code-line.
although the next r36.5 public release will include the fixes. I don’t have release plan of next JP-6 public release.

Hi Jerry - Do you have an ETA for when 337341 will be merged?

My stress tests included:

  • 10 hours of continuous streaming from 8 cameras
  • 10 hours of streaming from 6 cameras while continuously trying to reconnect to 2 other cameras while being unplugged
  • Some cycles of unplugging active cameras and making sure I don’t see a kernel panic

I ran all of these tests and everything remained stable with regards to the Tegra camera driver, so as far as I can tell the issue is resolved with these patches.

hello orinlettuce,

let me revise my previous comments.
the change from Topic 337341 for adding semaphore lock to avoid race condition has merged into rel-36 as well.
you should expect next JP-6 public release (i.e. r36.5) will include those fixes.
however, I don’t have release plan of next Jetpack-6 public release.

1 Like

Sounds good, thanks for the help.