DriveOS Linux Fails to Reboot

DRIVE OS Version: 7.0.3.0-41012141

Issue Description:

Board Variant: p3960-10-sw03

Rebooting DriveOS Linux from the OS (sudo reboot now) results in a fatal error, preventing the reboot from completing and the OS from coming back up. It stays stuck, repeating the rcu_preempt detected stalls on CPUs/tasks: log messages.

To get the AGX Thor Devkit to boot up again, I need to connect to /dev/ttyACM2 and run tegrareset. I’d like the OS to be able to reboot without this.

This seems like a kernel issue. Any suggestions would be greatly appreciated. Thanks in advance.

Logs

/dev/ttyACM0

GID 0: Unhandled access of sVM Error, VM ID: : 0x0
VM VCPU ID: : 0x0
Failed to handle data abort!
ize 4 for write.
Access size: 0x4
Fault IPA: 0xc98068Tegra Report Error
Reporter ID: : 0x8200
Error code: : 0x800f0000
Error attribute: : 0x20
Error report timestamp: : 0x346c09ebe1
4
ESR_EL2: 0x9393004f
��fatal error cpu:0 0
fatal error cpu:1 0
fatal error cpu:2 0
fatal error cpu:3 0
fatal error cpu:4 0
fatal error cpu:5 0
fatal error cpu:6 0
fatal error cpu:7 0
fatal error cpu:8 0
fatal error cpu:9 0
fatal error cpu:10 0
fatal error cpu:11 0
fatal error cpu:12 0
fatal error cpu:13 0
fatal error cpu:14 0
fatal error cpu:15 0
process non fatal
��[  238.339534] [TS:246155973098] rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
[  238.339539] [TS:246155977755] rcu: 	0-...!: (0 ticks this GP) idle=017c/1/0x4000000000000000 softirq=0/0 fqs=7 rcuc=5252 jiffies(starved)
[  238.339542] 	(detected by 10, t=5253 jiffies, g=6693, q=604 ncpus=14)
[  238.339561] [TS:246155999847] rcu: rcUnless rcu_preempt kthread gets sufficient CPU time, OOM is now expected behavior.0x0 ->cpu=0
[  238.339561] [TS:246156000635] rcu: RCU grace-period kthread stack dump:
[  238.339591] [TS:246156030190] rcu: Stack dump where RCU GP kthread last ran:
��[  301.359534] [TS:309175973661] rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
[  301.359537] [TS:309175976309] rcu: 	0-...!: (0 ticks this GP) idle=017c/1/0x4000000000000000 softirq=0/0 fqs=7 rcuc=21007 jiffies(starved)
[  301.359540] 	(detected by 12, t=21008 jiffies, g=6693, q=604 ncpus=14)
[  301.359553] [TS:309175991855] rcu: rcu_preempt kthread starved for 20980 jiffies! g6693 f0x2 RCU_GP_WAIT_FQS(5) ->state=0x0 ->cpu=0
[  301.359554] [TS:309175993568] rcu: 	Unless rcu_preempt kthread gets sufficient CPU time, OOM is now expected behavior.
[  301.359555] [TS:309175994559] rcu: RCU grace-period kthread stack dump:
[  301.359580] [TS:309176019596] rcu: Stack dump where RCU GP kthread last ran:

/dev/ttyACM2

ERROR: MCU_SWC_FanControl:  Ethernet Tegra 1 frames missing for consecutive = 4 times
ERROR: MCU_SWC_FanControl: count_EthFrameDrop expired
ERROR: MCU_SWC_FanControl: moving to error state
MCU_FOH: ErrReport: ErrorCode-0x800f0000 ReporterId-0x8200 Error_Attribute-0x20 Timestamp-0xd172f05

Dear @andy188 ,
If you want to reboot target, could you try common_if_testapp -mcureset . Please see SoC to MCU Communication — NVIDIA DriveOS 7.0.3 Linux SDK Developer Guide if it helps.

Thank you @SivaRamaKrishnaNV.
I created a systemd unit that runs the common_if_testapp -mcureset on reboot as a workaround.