Hi,
We are making a custom board based on imx6 sabresd. Initial revision was running on 3.0.35 kernel.
After upgrading to Freescale 3.10.17 kernel we are getting random kernel panic from system calls(PC is at fget_light on all crash)
(Some of our applications calls select and ioctls to driver)
Is this issue related to any kernel configuration changes or is it a general issue? Any clue on the reason behind this issue??
Below is the log of kernel Oops caused by a watchdog keep alive application which just calls an ioctl to keep the watchdog alive
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = ac53c000
[00000000] *pgd=3c4fa831, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#1] SMP ARM
CPU: 0 PID: 889 Comm: wdog_keep_alive Tainted: P O 3.10.17-1.0.0_ga+g232293e #1
task: ac9bcf00 ti: ac492000 task.ti: ac492000
PC is at fget_light+0x30/0xf0
LR is at SyS_ioctl+0x1c/0x64
pc : [<800da970>] lr : [<800d1a5c>] psr: 80030013
sp : ac493f80 ip : 00000000 fp : 7efd3cac
r10: 00000000 r9 : ac492000 r8 : 8000e044
r7 : 00000000 r6 : 000083b8 r5 : 00000003 r4 : 80045705
r3 : 00000000 r2 : 00000000 r1 : ac493f8c r0 : 00000003
Flags: Nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Control: 10c53c7d Table: 3c53c04a DAC: 00000015
Process wdog_keep_alive (pid: 889, stack limit = 0xac492238)
Stack: (0xac493f80 to 0xac494000)
3f80: 80045705 00000003 8000e044 00000000 00000000 00000000 000083b8 00000036
3fa0: 8000e044 8000dec0 00000000 00000000 00000003 80045705 00000000 00000000
3fc0: 00000000 00000000 000083b8 00000036 00000000 00000000 76fe8000 7efd3cac
3fe0: 00010734 7efd3c94 0000853c 76f51ccc 60030010 00000003 00000000 00000000
[<800da970>] (fget_light+0x30/0xf0) from [<8000e044>] (sys_call_table+0x0/0x5f0)
Code: e593c000 e35c0001 0a00001f e5933004 (e5932000)
---[ end trace 91fceda01df377fa ]---
Thanks
SM
Hi S M
these errors are caused by custom module, may be some wrong calls e.t.c.
One can try to debug it using attached document or
AN4553 Using Open Source Debugging Tools for Linux on i.MX Processors
Another option try latest BSP
L3.10.53_1.1.0_iMX6QDLS_Bundle : i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite,
i.MX 6Solo Linux Binary Demo Files and Linux BSP Documentation
Size (K): 1392363 Format: gz Rev #: L3.10.53_1.1.0 Modified: 1/23/2015
Wdog usage can be found in imx-test package:
Index of /buildsources/i/imx-test/imx-test-3.10.17-1.0.0
Best regards
igor
Hi Igor
The panic is at "include/linux/fdtable.h" in function fcheck_files, fdt->max_fds where fdt obtained is NULL.
At that point files->count is 0. But there is no possibility that the close of that fd happened in between because the device nodes causing the panic is opened by single application only and that application have a single main(), no extra threads.
these errors are caused by custom module, may be some wrong calls e.t.c.
What could be the wrong calls?. A custom module is there, but it just wait in poll_wait and read and write threads wake it up. Then read or write initiate from application.
Thanks
SM
Hi S M
had you tried Demo images, without custom changes ?
L3.10.53_1.1.0_iMX6QDLS_Bundle : i.MX 6Quad, i.MX 6Dual, i.MX 6DualLite,
i.MX 6Solo Linux Binary Demo Files
~igor
Hi Igor,
We are using custom board based on SabreSD for our development. It is not possible to use the Demo Images in that.
I was not having the kernel panic issue with 3.0.35 Kernel.
Thanks,
SM