We tested it with the source shared on May 26 with docker compose up -d.
Since the plan files are pre-compiled in the source, the test should be exactly the same as you provided recently.
Is there any difference between the setup?
We test it with Orin NX 16GB devkit with JetPack 6.1.
Is there setting have been applied between flashing and running the test?
The sources I shared yesterday are the scripts that generate the .plan files that I shared on May 26, I thought that might help. We have reproduced the problem both using the .plan files shared on the 26th and also regenerating everything on each device using the scripts from yesterday.
This is what we installed on each device after flashing:
Docker (26.1.3) (Using apt-get)
Docker Compose (2.27.1) (Using apt-get)
Nvidia runtime (1.1.12) (Using apt-get)
jetson-stats (4.3.2) (Using pip install)
As I mentioned, we used 4 devices. Three of those devices are using JetPack 6.1, and the last one is using JetPack 6.2.
The issue is reproduced in our environment with a DP display connected.
As we failed to reproduce the error without display, this issue should be related to HDA, just as your comment before.
Now our internal team is working on the issue. Will provide you with more info later.
Thanks for the feedback! This is good news; hopefully, you will be able to see what’s going on.
Here are the answers to your previous questions:
Do you flash the system to an external NVMe (since there are some NVMe timeout logs)?
As far as we know, there is no internal memory on the Jetson Orin NX, so the only ways to flash the system are either on an SD card or an NVME disk. On the four devices we have, only the DevKit has an SD card slot, so we consciously decided to use NVMe in all of the devices, including the DevKit.
Here are some details about the NMVE disks we use:
I am working on this issue as well. I’m unable to find any reference for “hda” nor registry “3510000” even by reviewing all dtsi files from the L4T on JetPack 6.1.
Is there any way to disable it after flash? I guess the registry is also specific to the devkit and should be different with a custom carrier?
We urgently need a resolution on this issue affecting all NX devices. The devices crash so frequently that they are effectively non-functional. This is not just a development issue. We are now blocked from delivering systems to clients.
We’ve been raising these issues since March, and after four months with no meaningful progress, this is now a serious threat to our business.
Please escalate if necessary to provide us with concrete guidance or fixes.
Sorry for keeping you waiting.
We did some testing and “might” found the cause of this issue.
(We are not 100% sure as it takes time to confirm if the WAR really works or not.)
We first disable the HDA function but the issue still happens (just overnight).
So HDA driver is ruled out.
Then we suspect the issue is caused by lower clocks of the DVFS or thermal slow down.
After disabling the software slowdown and DVFS, the app can run for more than 100 hours.
After some internal discussion, we think this issue is more likely related to the NVMe driver.
To solve this, we try to enable NVME threaded IRQ handling mode (nvme.use_threaded_interrupts=1)
The test has been running without issue for about one day so want to ask you to test it as well.
The NVMe WAR can be done by editing extlinux.conf or reflash with the corresponding command.
Please find the detailed information in the below document link:
VST crashes after a while when recording multiple streams on NVMe Option 1: … Option 2:
We tried to implement the fix but I’m not sure it is actually taken in account from the kernel. We had a crash this morning on one of the unit.
Please note that I tried both methods, adding nvme.use_threaded_interrupts=1 to the APPEND section of extlinux.conf and reflashing the unit by adding -p “-C nvme.use_threaded_interrupts=1” to the initrd flash parameters.
With both methods I noticed that the nvme modules parameters does not contain use_threaded_interrupts
ls -l /sys/module/nvme/parameters/
total 0
-rw-r--r-- 1 root root 4096 Jun 27 13:44 io_queue_depth
-r--r--r-- 1 root root 4096 Jun 27 13:44 max_host_mem_size_mb
-r--r--r-- 1 root root 4096 Jun 27 13:44 noacpi
-rw-r--r-- 1 root root 4096 Jun 27 13:44 poll_queues
-rw-r--r-- 1 root root 4096 Jun 27 13:44 sgl_threshold
-r--r--r-- 1 root root 4096 Jun 27 13:44 use_cmb_sqes
-rw-r--r-- 1 root root 4096 Jun 27 13:44 write_queues
The only reference is found by querying the module info
modinfo -p nvme
use_threaded_interrupts: (int)
use_cmb_sqes:use controller's memory buffer for I/O SQes (bool)
max_host_mem_size_mb:Maximum Host Memory Buffer (HMB) size per controller (in MiB) (uint)
sgl_threshold:Use SGLs when average request segment size is larger or equal to this size. Use 0 to disable SGLs. (uint)
io_queue_depth:set io queue depth, should >= 2 and < 4096
write_queues:Number of queues to use for writes. If not set, reads and writes will share a queue set.
poll_queues:Number of queues to use for polled IO.
noacpi:disable acpi bios quirks (bool)
Can you please help confirm or not this parameter is actually used by the system?
If the mode is already enabled in the testing, could you share more details about the experiments with us?
How many devices do you use and how long it takes to hit the error?
We didn’t reproduce the error with threaded IRQ mode for more than 45 hours.
Our device also met a system crash when running the app over the weekend without DISPLAY connected.
So this issue can still happen with the NVME threaded IRQ mode enabled.
To find the root cause, our internal team is dumping the kernel stack to check it further.
Will keep you updated once we get further info about the issue.