内核崩溃的原因?无法处理虚拟地址 ebfeb0a0 处的内核分页请求

内核崩溃的原因?无法处理虚拟地址 ebfeb0a0 处的内核分页请求

这是关于 imx6q、2GB Alliance Memory(4Gb x 4、4 个 RAM 芯片)定制硬件设计,与 nitrogen6_max 最相似。该硬件稳定,可以无故障运行 Yocto。

但现在它不稳定,并且会随机出现内核崩溃。我在这里附上了内核日志。这是内存问题吗?当我使用 addr2line 进行程序计数器解码时,它会在不同场合显示 >>Prepare_to wait_event、netlink_compare_arg_init <<。对此有什么想法吗?

内核日志

Unable to handle kernel paging request at virtual address ebfeb0a0
pgd = b3fd4fff
[ebfeb0a0] *pgd=187e2722(bad)
Internal error: Oops: 80000005 [#1] PREEMPT SMP ARM
Modules linked in: brcmfmac brcmutil cfg80211 usb_f_ecm g_ether usb_f_rndis libcomposite u_ether videobuf2_dma_sg ov5642_camera ov5640_camera_mipi_int mxc_v4l2_capture ipu_bg_overlay_sdc atmel_mxt_ts ipu_still ipu_prp_enc ipu_csi_enc tc358743_h2c_bridge ov5640_subdev_camera goodix ipu_fg_overlay_sdc tsc2004 ili210x ft5x06_ts egalax_ts v4l2_int_device tw6869 videobuf2_dma_contig videobuf2_memops gpio_keys galcore(O)
CPU: 1 PID: 104 Comm: cryptomgr_test Tainted: G           O    4.1.15-1.0.0_ga+yocto+g76c24a0 #8
Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
task: ce564600 ti: fedf4000 task.ti: ce5be000
PC is at 0xebfeb0a0
LR is at printk+0x90/0xac
pc : [<ebfeb0a0>]    lr : [<8085a290>]    psr: 20030193
sp : fedf6170  ip : fedf6170  fp : fedf6194
r10: 00000001  r9 : fedf62c0  r8 : ebfeb0a0
r7 : a9277bff  r6 : 80a8c8f8  r5 : 80d02508  r4 : ebfeb0a0
r3 : fedf6000  r2 : 5aede52e  r1 : fedf619c  r0 : 80a8c8f8
Flags: nzCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 10c5387d  Table: 5e7cc04a  DAC: 00000015
Process cryptomgr_test (pid: 104, stack limit = 0xce5be210)
Stack: (0xfedf6170 to 0xce5c0000)
Backtrace: invalid frame pointer 0xfedf6194
Code: bad PC value
---[ end trace 2854d5881dd1d8c6 ]---
Fixing recursive fault but reboot is needed!
INFO: rcu_preempt detected stalls on CPUs/tasks:
        3: (6 GPs behind) idle=c63/140000000000000/0 softirq=12514/12514 fqs=1387
        (detected by 1, t=2102 jiffies, g=9717, c=9716, q=38)
Task dump for CPU 3:
swapper/3       R running      0     0      1 0x00000002
Backtrace:
[<8085c670>] (__schedule) from [<8085cbc4>] (schedule+0x44/0x9c)
 r9:ce0a9fa8 r8:00000001 r7:d0f23ed0 r6:809028c0 r5:80d025e8 r4:ce0a8000
[<8085cb80>] (schedule) from [<8085cfa8>] (schedule_preempt_disabled+0x18/0x24)
 r5:80d025e8 r4:ce0a8000
[<8085cf90>] (schedule_preempt_disabled) from [<801681ac>] (cpu_startup_entry+0x134/0x330)
[<80168078>] (cpu_startup_entry) from [<8010e348>] (secondary_start_kernel+0x150/0x15c)
 r7:80d51308
[<8010e1f8>] (secondary_start_kernel) from [<1010154c>] (0x1010154c)
 r5:00000015 r4:5e08806a
Unable to handle kernel paging request at virtual address ebfeb0a0
pgd = b3fd4fff
[ebfeb0a0] *pgd=187e2722(bad)
Internal error: Oops: 80000005 [#1] PREEMPT SMP ARM
Modules linked in: brcmfmac brcmutil cfg80211 usb_f_ecm g_ether usb_f_rndis libcomposite u_ether videobuf2_dma_sg ov5642_camera ov5640_camera_mipi_int mxc_v4l2_capture ipu_bg_overlay_sdc atmel_mxt_ts ipu_still ipu_prp_enc ipu_csi_enc tc358743_h2c_bridge ov5640_subdev_camera goodix ipu_fg_overlay_sdc tsc2004 ili210x ft5x06_ts egalax_ts v4l2_int_device tw6869 videobuf2_dma_contig videobuf2_memops gpio_keys galcore(O)
CPU: 1 PID: 104 Comm: cryptomgr_test Tainted: G           O    4.1.15-1.0.0_ga+yocto+g76c24a0 #8
Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
task: ce564600 ti: fedf4000 task.ti: ce5be000
PC is at 0xebfeb0a0
LR is at printk+0x90/0xac
pc : [<ebfeb0a0>]    lr : [<8085a290>]    psr: 20030193
sp : fedf6170  ip : fedf6170  fp : fedf6194
r10: 00000001  r9 : fedf62c0  r8 : ebfeb0a0
r7 : a9277bff  r6 : 80a8c8f8  r5 : 80d02508  r4 : ebfeb0a0
r3 : fedf6000  r2 : 5aede52e  r1 : fedf619c  r0 : 80a8c8f8
Flags: nzCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 10c5387d  Table: 5e7cc04a  DAC: 00000015
Process cryptomgr_test (pid: 104, stack limit = 0xce5be210)
Stack: (0xfedf6170 to 0xce5c0000)
Backtrace: invalid frame pointer 0xfedf6194
Code: bad PC value
---[ end trace 2854d5881dd1d8c6 ]---
Fixing recursive fault but reboot is needed!
INFO: rcu_preempt detected stalls on CPUs/tasks:
        3: (6 GPs behind) idle=c63/140000000000000/0 softirq=12514/12514 fqs=1387
        (detected by 1, t=2102 jiffies, g=9717, c=9716, q=38)
Task dump for CPU 3:
swapper/3       R running      0     0      1 0x00000002
Backtrace:
[<8085c670>] (__schedule) from [<8085cbc4>] (schedule+0x44/0x9c)
 r9:ce0a9fa8 r8:00000001 r7:d0f23ed0 r6:809028c0 r5:80d025e8 r4:ce0a8000
[<8085cb80>] (schedule) from [<8085cfa8>] (schedule_preempt_disabled+0x18/0x24)
 r5:80d025e8 r4:ce0a8000
[<8085cf90>] (schedule_preempt_disabled) from [<801681ac>] (cpu_startup_entry+0x134/0x330)
[<80168078>] (cpu_startup_entry) from [<8010e348>] (secondary_start_kernel+0x150/0x15c)
 r7:80d51308
[<8010e1f8>] (secondary_start_kernel) from [<1010154c>] (0x1010154c)

r5:00000015 r4:5e08806a

此致敬礼,库鲁努。

相关内容