Skip to content

Agnocast Kernel Panic Report on Jetson AGX Orin #947

@emuemuJP

Description

@emuemuJP

When I followed Autoware installation, I encounterd this issue.

Environment

Item Value
Device NVIDIA Jetson AGX Orin Developer Kit
JetPack R36.4.4 (L4T R36, REVISION: 4.4)
Kernel 5.15.148-tegra
Architecture aarch64

uname -a

Linux araya-desktop 5.15.148-tegra #1 SMP PREEMPT Mon Jun 16 08:24:48 PDT 2025 aarch64 aarch64 aarch64 GNU/Linux

/etc/nv_tegra_release

# R36 (release), REVISION: 4.4, GCID: 41062509, BOARD: generic, EABI: aarch64, DATE: Mon Jun 16 16:07:13 UTC 2025
# KERNEL_VARIANT: oot

modinfo agnocast

filename:       /lib/modules/5.15.148-tegra/updates/dkms/agnocast.ko
license:        Dual BSD/GPL
vermagic:       5.15.148-tegra SMP preempt mod_unload modversions aarch64

Issue Summary

sudo modprobe agnocast causes immediate kernel panic due to NULL pointer dereference in agnocast_init_device() function.

Steps to Reproduce

  1. Install agnocast via DKMS (module builds successfully)
  2. Run sudo modprobe agnocast
  3. System immediately panics and reboots

Crash Analysis

Error Overview

Item Value
Error Type Internal error: Oops (Kernel Panic)
Error Code 0000000096000044
Trigger modprobe agnocast
Module State agnocast(OE+) (crashed during load)

Error Code Breakdown

ESR: 0x96000044 (ARM64 Exception Syndrome Register)
├── EC (Exception Class): 0x25 = Data Abort from current EL
└── DFSC (Data Fault Status Code): 0x04 = Translation fault, level 0

pgd=0000000000000000, p4d=0000000000000000

Root Cause: NULL pointer write access - the module attempted to write data to an uninitialized or NULL pointer address.

Crash Location

agnocast_init_device+0x80/0xb0 [agnocast]
    ↑
agnocast_init+0x40/0x8c [agnocast]  (module_init entry point)
Item Value
Crash Function agnocast_init_device
Offset 0x80 / 0xb0 (byte 128 of 176)
Crash Instruction f9001801 (STR - store register)
Cause Write to NULL/invalid address

Kernel Logs

Oops Message

<1>[  708.857756] [000000000000001f] pgd=0000000000000000, p4d=0000000000000000
<0>[  708.857766] Internal error: Oops: 0000000096000044 [#1] PREEMPT SMP

Modules Linked

agnocast(OE+) nvidia_drm(O) nvidia_modeset(O) lzo_rle lzo_compress zram zsmalloc nvme_fabrics uvcvideo joydev videobuf2_vmalloc ramoops reed_solomon bridge stp llc usb_f_ncm usb_f_mass_storage algif_hash algif_skcipher af_alg bnep usb_f_acm u_serial usb_f_rndis u_ether libcomposite rtk_btusb(O) btusb btrtl btintel btbcm snd_soc_tegra186_dspk(O) snd_soc_tegra210_admaif(O) snd_soc_tegra186_asrc(O) snd_soc_tegra210_mvc(O) snd_soc_tegra_pcm snd_soc_tegra210_mixer(O) snd_soc_tegra186_arad(O) snd_soc_tegra210_ope(O) snd_soc_tegra210_afc(O) snd_soc_tegra210_dmic(O) snd_soc_tegra210_adx(O) snd_soc_tegra210_amx(O) snd_soc_tegra210_sfc(O) snd_soc_tegra210_i2s(O) tegra210_adma snd_soc_tegra210_ahub(O) ...

CPU/Hardware Info

CPU: 6 PID: 5440 Comm: modprobe Tainted: G           OE     5.15.148-tegra #1
Hardware name: NVIDIA NVIDIA Jetson AGX Orin Developer Kit/Jetson, BIOS 36.4.4-gcid-41062509 06/16/2025
pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)

Full Call Trace

Call trace:
 agnocast_init_device+0x80/0xb0 [agnocast]
 agnocast_init+0x40/0x8c [agnocast]
 do_one_initcall+0x54/0x2e0
 do_init_module+0x54/0x250
 load_module+0x2060/0x24f0
 __do_sys_init_module+0x29c/0x2e0
 __arm64_sys_init_module+0x2c/0x50
 invoke_syscall+0x5c/0x150
 el0_svc_common.constprop.0+0x64/0x120
 do_el0_svc+0x74/0xb0
 el0_svc+0x28/0x90
 el0t_64_sync_handler+0xac/0x130
 el0t_64_sync+0x1a4/0x1a8

Crash Instruction

Code: f9001660 b9402262 b0ffffe1 91020021 (f9001801)

Panic Finalization

---[ end trace 81806e6a825172ee ]---
Kernel panic - not syncing: Oops: Fatal exception
SMP: stopping secondary CPUs
Kernel Offset: 0x39395a770000 from 0xffff800008000000
PHYS_OFFSET: 0x80000000
CPU features: 0x0,000005c1,a3332e5a
Memory Limit: none

Possible Causes

  1. Missing NULL check: Memory allocation failure in agnocast_init_device() not properly handled
  2. ARM64/Jetson incompatibility: Module may be developed/tested primarily on x86_64
  3. Kernel API differences: Tegra kernel (5.15.148-tegra) may have different behavior than upstream

Suggested Investigation Points

For developers reviewing agnocast_init_device():

  • Check code around offset 0x80 (the STR instruction causing the fault)
  • Verify all memory allocations have proper NULL checks
  • Review any ARM64-specific code paths
  • Test with CONFIG_DEBUG_INFO enabled for better symbols

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions