iMX6 Kernel Oops in swapper / ktime_get()

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

iMX6 Kernel Oops in swapper / ktime_get()

988 Views
kal
Contributor II

Hi, I am seeing occasional kernel oops due to NULL pointer dereference on one of my boards. It happens about once per day, always seems to be related to ktime_get(), and always appears to be in a "swapper" process. Has anyone seen similar on the iMX6Q?

Unable to handle kernel NULL pointer dereference at virtual address 00000000^M

pgd = 80004000^M

[00000000] *pgd=00000000^M

Internal error: Oops: 17 [#1] PREEMPT SMP ARM^M

Modules linked in:^M

CPU: 3 PID: 0 Comm: swapper/3 Not tainted 3.14.28-1.0.0_ga+g91cf351 #1^M

task: a8083c00 ti: a80aa000 task.ti: a80aa000^M

PC is at ktime_get+0x4c/0x114^M

LR is at cpuidle_enter_state+0x4c/0xe4^M

pc : [<80073624>]    lr : [<804fe670>]    psr: 60070093^M

sp : a80abf58  ip : 00000017  fp : 00000000^M

r10: a80abf98  r9 : 000b6c7c  r8 : 67d8c054^M

r7 : 00000000  r6 : 00000000  r5 : 80eda200  r4 : a9362704^M

r3 : 00000000  r2 : 56c9e9f3  r1 : 80e407c8  r0 : a8011a00^M

Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel^M

Control: 10c53c7d  Table: 13b9804a  DAC: 00000015^M

Process swapper/3 (pid: 0, stack limit = 0xa80aa238)^M

Stack: (0xa80abf58 to 0xa80ac000)^M

bf40:                                                       56c9e9f3 00000000^M

bf60: ffffffff 00000000 d4f2f610 00158fb9 ab73d340 80e407c8 80e407c8 ab73d0d0^M

bf80: 00000000 67d8c054 000003f3 a80aa000 00000000 804fe670 67d8c054 000003f3^M

bfa0: 80e46254 ab73d0d0 80e3a574 ab73d0d0 00000000 00000000 00000000 80ef17a4^M

bfc0: 80e407c8 804fe7bc 00000000 a80aa000 80e3a574 8075938c a80aa030 80e943fd^M

bfe0: 80e943fd 8000f17c 00000000 80068234 80e9491c 10008664 56f7c91b 356f332a^M

[<80073624>] (ktime_get) from [<804fe670>] (cpuidle_enter_state+0x4c/0xe4)^M

[<804fe670>] (cpuidle_enter_state) from [<804fe7bc>] (cpuidle_idle_call+0xb4/0x14c)^M

[<804fe7bc>] (cpuidle_idle_call) from [<8000f17c>] (arch_cpu_idle+0x8/0x44)^M

[<8000f17c>] (arch_cpu_idle) from [<80068234>] (cpu_startup_entry+0x100/0x14c)^M

[<80068234>] (cpu_startup_entry) from [<10008664>] (0x10008664)^M

Code: e1c523d8 e5954054 e1a00006 e1cd20f0 (e5963000) ^M

bad: scheduling from the idle thread!^M

CPU: 3 PID: 0 Comm: swapper/3 Not tainted 3.14.28-1.0.0_ga+g91cf351 #1^M

[<800156f0>] (unwind_backtrace) from [<800117d4>] (show_stack+0x10/0x14)^M

Note that this is using the Fido branch of Yocto.

Many thanks

Labels (2)
0 Kudos
1 Reply

554 Views
jamesbone
NXP TechSupport
NXP TechSupport

It seems like you have reached the end of memory and have an exception from when the system attempted to swap.

Do you have the swapper turned on?  For a variety of reasons the kernel swapper should be turned off on an embedded system.

My guess is the swapper is turned on and the kernel attempted to swap and it failed.

0 Kudos