This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM625:内核崩溃问题

Guru**** 2463330 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1476187/am625-kernel-crash-issue

器件型号:AM625

工具与软件:

嗨、团队:

我正在处理 AM62x SOC。

我长时间运行我的板,但有时(大约3-4小时)得到下面的内核恐慌日志和板将重新启动.



内核日志:

[ 2336.068501] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000028
[ 2336.068505] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000004
[ 2336.068529] Mem abort info:
[ 2336.068531]   ESR = 0x0000000096000006
[ 2336.068534]   EC = 0x25: DABT (current EL), IL = 32 bits
[ 2336.077303] Mem abort info:
[ 2336.077308]   ESR = 0x0000000096000006
[ 2336.077312]   EC = 0x25: DABT (current EL), IL = 32 bits
[ 2336.077317]   SET = 0, FnV = 0
[ 2336.077319]   EA = 0, S1PTW = 0
[ 2336.077323]   FSC = 0x06: level 2 translation fault
[ 2336.077326] Data abort info:
[ 2336.077328]   ISV = 0, ISS = 0x00000006
[ 2336.077331]   CM = 0, WnR = 0
[ 2336.077335] user pgtable: 4k pages, 48-bit VAs, pgdp=0000000083d7e000
[ 2336.077340] [0000000000000028] pgd=0800000083cbd003, p4d=0800000083cbd003, pud=0800000083cb5003
[ 2336.086135]   SET = 0, FnV = 0
[ 2336.088895] , pmd=0000000000000000
[ 2336.088903] Internal error: Oops: 0000000096000006 [#1] PREEMPT SMP
[ 2336.088909] Modules linked in: overlay
[ 2336.092655]   EA = 0, S1PTW = 0
[ 2336.097937]  xhci_plat_hcd rpmsg_ctrl rpmsg_char dwc3 cdns_csi2rx
[ 2336.100747]   FSC = 0x06: level 2 translation fault
[ 2336.104465]  pru_rproc v4l2_fwnode irq_pruss_intc cfg80211 snd_soc_simple_card rfkill 8021q crct10dif_ce snd_soc_simple_card_utils garp stc
[ 2336.109888] Data abort info:
[ 2336.112839]  dwc3_am62 ti_k3_r5_remoteproc virtio_rpmsg_bus rpmsg_ns k3_j72xx_bandgap rtc_ti_k3 ti_k3_m4_remoteproc ti_k3_common j721e_csiv
[ 2336.116043]   ISV = 0, ISS = 0x00000006
[ 2336.120891]  syscopyarea sysfillrect sysimgblt pruss mcrc cdns_dphy_rx mc fb_sys_fops optee_rng rng_core cryptodev(O) fuse drm drm_panel_o6
[ 2336.123822]   CM = 0, WnR = 0
[ 2336.127637] CPU: 3 PID: 166 Comm: systemd-journal Tainted: G           O       6.1.46+ #1
[ 2336.127649] Hardware name: Texas Instruments AM625 SK (DT)
[ 2336.127655] pstate: a00000c5 (NzCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 2336.130618] user pgtable: 4k pages, 48-bit VAs, pgdp=0000000086085000
[ 2336.137037] pc : handle_percpu_devid_irq+0x54/0x130
[ 2336.137063] lr : generic_handle_domain_irq+0x2c/0x44
[ 2336.137075] sp : ffff8000094d3f70
[ 2336.137078] x29: ffff8000094d3f70
[ 2336.145768] [0000000000000004] pgd=080000008ab73003
[ 2336.148793]  x28: ffff000004400000 x27: 0000000000000000
[ 2336.148801] x26: 0000000000000000 x25: 0000000000000000 x24: 0000000000000000
[ 2336.152198] , p4d=080000008ab73003
[ 2336.158438] 
[ 2336.158440] x23: 0000000040000000 x22: 0000000000000001 x21: 0000000000000000
[ 2336.162191] , pud=080000009997c003
[ 2336.165305] x20: 0000000000000000 x19: ffff0000004004b8 x18: 0000000000000000
[ 2336.165314] x17: ffff80006e1a5000
[ 2336.171395] , pmd=0000000000000000
[ 2336.176247]  x16: ffff8000094d0000 x15: 0000000000000000
[ 2336.176254] x14: 0000000000000000 x13: 0000000000000000
[ 2336.189444] 
[ 2336.192301]  x12: 0000000000000000
[ 2336.192305] x11: 0000000000000040 x10: ffff000000008170 x9 : ffff000000008168
[ 2336.192315] x8 : ffff0000004004b8 x7 : 0000000000000000 x6 : 0000000000000000
[ 2336.359772] x5 : ffff80006e1a5000 x4 : ffff0000004004b8 x3 : ffff80006e1a5000
[ 2336.366897] x2 : 0000000000010000 x1 : ffff8000080b9d68 x0 : 0000000000000001
[ 2336.374025] Call trace:
[ 2336.376463]  handle_percpu_devid_irq+0x54/0x130
[ 2336.380989]  generic_handle_domain_irq+0x2c/0x44
[ 2336.385602]  gic_handle_irq+0x50/0x124
[ 2336.389347]  call_on_irq_stack+0x24/0x4c
[ 2336.393264]  do_interrupt_handler+0x80/0x8c
[ 2336.397437]  el0_interrupt+0x4c/0xdc
[ 2336.401010]  __el0_irq_handler_common+0x18/0x24
[ 2336.405531]  el0t_64_irq_handler+0x10/0x20
[ 2336.409619]  el0t_64_irq+0x18c/0x190
[ 2336.413190] Code: d538d083 f8636820 91000400 f8236820 (f9401681) 
[ 2336.419271] ---[ end trace 0000000000000000 ]---
[ 2336.423879] Kernel panic - not syncing: Oops: Fatal exception in interrupt
[ 2336.430738] SMP: stopping secondary CPUs
[ 2337.514454] SMP: failed to stop secondary CPUs 2-3
[ 2337.519239] Kernel Offset: disabled
[ 2337.522716] CPU features: 0x00000,00800084,0000420b
[ 2337.527581] Memory Limit: none
[ 2337.530629] ---[ end Kernel panic - not syncing: Oops: Fatal exception in interrupt ]---

U-Boot SPL 2023.04-gb0d717b732 (Dec 06 2023 - 15:11:45 +0000)

有人能告诉我为什么会出现此 内核崩溃问题以及如何 解决此问题吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、王子:

    在这3-4小时内、您的电路板上正在运行什么应用?

    您是否可以在电路板上运行"memtester 32M"几个小时、查看它是否报告了任何内存故障?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、团队:


    我在电路板中运行 memtester 32M、但没有出现任何内存故障  
    我在下面附上了1个循环的日志

     

    Loop 1:
      Stuck Address       : ok         
      Random Value        : ok
      Compare XOR         : ok
      Compare SUB         : ok
      Compare MUL         : ok
      Compare DIV         : ok
      Compare OR          : ok
      Compare AND         : ok
      Sequential Increment: ok
      Solid Bits          : testing   8[  861.957288] audit: type=1006 audit(1740394441.020:82): pid=23339 uid=0 old-auid=4294967295 auid=0 tty=(none) old-ses=4294967295 ses=16 res=1
    setting   9[  861.972654] audit: type=1300 audit(1740394441.020:82): arch=c00000b7 syscall=64 success=yes exit=1 a0=3 a1=ffffeb54b278 a2=1 a3=ffffaddda020 items=0 ppid=253 pid=23339 auid=0 uid=0 gid=0 eu
    id=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=16 comm="crond" exe="/usr/sbin/crond" key=(null)
    testing   9[  861.999882] audit: type=1327 audit(1740394441.020:82): proctitle=2F7573722F7362696E2F63726F6E64002D6E
    ok         
      Block Sequential    : ok         
      Checkerboard        : ok         
      Bit Spread          : ok         
      Bit Flip            : ok         
      Walking Ones        : ok         
      Walking Zeroes      : ok         
    

    我当前正在电路板上运行二进制文件、我观察到了 分辨率 (驻留集大小)此二进制文件的内存main_app、会随着时间的推移而不断增加。 我正在使用以下命令监视此行为:

    root@ACM1000:~# top | grep "main_app"

    21233 root 20 0 1408076 23152 5660 S 5.9 1.2 1:40.01 MAIN_APP


    增加 分辨率 内存导致系统 RAM 使用量整体增加。 此问题是否可能导致内核崩溃?"
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    增加 分辨率 内存导致系统 RAM 使用量整体增加。 此问题是否可能导致内核崩溃?"[/QUOT]

    是的、当 Linux 内存不足时是可能的。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    根据初始日志、内核似乎没有在内存不足的情况下运行。 相反、问题似乎是在内核中取消引用 NULL 指针引起的

    您能否提供有关如何调试此问题的任何解决方案或指导?"

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    根据初始日志、似乎内核没有内存不足。 相反、问题似乎是在内核中取消引用 NULL 指针引起的

    同意。 通常内存不足会导致 ok 杀手发起攻击、但不会导致取消引用 NULL 指针错误。 然而,我几乎没有机会调试房间的情况,所以我不知道会发生什么其他症状。

    我从这个取消引用 NULL 指针日志中没有获得太多信息、不确定调试中的明确方向是什么。