打印
[嵌入式linux]

内核oops死机问题。__list_del()函数。

[复制链接]
2367|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
samyoju|  楼主 | 2013-12-23 10:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
机器放久了,会出现oops出错死机问题。

Unable to handle kernel NULL pointer dereference at virtual address 00000004
pgd = c0004000
[00000004] *pgd=00000000
Internal error: Oops: 817 [#1]
last sysfs file: /sys/devices/w1 bus master/01-000000000000/bq27000-battery.1/power_supply/vpos3xx-bat/health
Modules linked in: wl12xx mac80211 cfg80211 compat omaplfb pvrsrvkm module_com_drv tca6416_key print_ss205 picc_drv magcard icc_driver

buzzer TCD50_TCS misc xr20_uart
CPU: 0    Not tainted  (2.6.37-00099-g59e3cbe-dirty #478)
PC is at unlink_anon_vmas+0x40/0xac
LR is at unlink_anon_vmas+0x88/0xac
pc : [<c00f59e4>]    lr : [<c00f5a2c>]    psr: a0000013
sp : c6f55e78  ip : c6f55e78  fp : c6f55e9c
r10: c07553b0  r9 : c6f66910  r8 : 00100100
r7 : 00200200  r6 : c6f65948  r5 : c6f65788  r4 : c6f65788
r3 : c051056c  r2 : 00000000  r1 : ceaf212c  r0 : ceaf2128
Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 10c5387d  Table: 83928019  DAC: 00000015

PC: 0xc00f5964:
5964  ebff7c24 ea000000 e3a05000 e1a00005 e24bd028 e89daff0 c061cd69 e1a0c00d
5984  e92dd800 e24cb004 e59f300c e1a01000 e5930000 eb0023f6 e89da800 c07553b0
59a4  e1a0c00d e92dddf0 e24cb004 e1a06000 e59f8088 e59f7088 e5b64038 e59fa084
59c4  e4145008 ea000018 e5940004 e3500000 e2801004 0a000009 e5943014 e5942010
59e4  e5823004 e5832000 e5848010 e5847014 e5903004 e1530001 1a000000 ebffffde
5a04  e594300c e1a01004 e5942008 e5823004 e5832000 e5848008 e584700c e1a04005
5a24  e59a0004 eb0023d2 e5955008 e2843008 e2455008 e1560003 1affffe2 e89dadf0
5a44  00100100 00200200 c07553b0 e1a0c00d e92dddf0 e24cb004 e59f6098 e1a04000

LR: 0xc00f59ac:
59ac  e24cb004 e1a06000 e59f8088 e59f7088 e5b64038 e59fa084 e4145008 ea000018
59cc  e5940004 e3500000 e2801004 0a000009 e5943014 e5942010 e5823004 e5832000
59ec  e5848010 e5847014 e5903004 e1530001 1a000000 ebffffde e594300c e1a01004
5a0c  e5942008 e5823004 e5832000 e5848008 e584700c e1a04005 e59a0004 eb0023d2
5a2c  e5955008 e2843008 e2455008 e1560003 1affffe2 e89dadf0 00100100 00200200
5a4c  c07553b0 e1a0c00d e92dddf0 e24cb004 e59f6098 e1a04000 e2818038 e2807038
5a6c  e591503c ea000014 e5960004 eb00264a e3500000 e2802008 e2801010 0a000017
5a8c  e5953004 e5804000 e283c004 e5803004 e594a038 e58a2004 e580a008 e580700c

SP: 0xc6f55df8:
5df8  c6f55e24 c6f55e08 c00d9994 c00d7d4c 00000000 c0876da0 ffffffff c6f55e64
5e18  c6f65948 00200200 c6f55e9c c6f55e30 c04f406c c003f274 ceaf2128 ceaf212c
5e38  00000000 c051056c c6f65788 c6f65788 c6f65948 00200200 00100100 c6f66910
5e58  c07553b0 c6f55e9c c6f55e78 c6f55e78 c00f5a2c c00f59e4 a0000013 ffffffff
5e78  c6f65910 00001000 c06b48f0 00000000 c6f65758 00008000 c6f55ed4 c6f55ea0
5e98  c00ef5e8 c00f59b0 ffffffff 00000000 c004aa28 c6f17c80 c6f65758 000412a9
5eb8  00000000 00041364 00000000 00000000 c6f55f14 c6f55ed8 c00f1290 c00ef5ac
5ed8  c6f55ee0 00000000 000000bb c06b48f0 c6f17c80 c6f17c80 00000000 00000000

IP: 0xc6f55df8:
5df8  c6f55e24 c6f55e08 c00d9994 c00d7d4c 00000000 c0876da0 ffffffff c6f55e64
5e18  c6f65948 00200200 c6f55e9c c6f55e30 c04f406c c003f274 ceaf2128 ceaf212c
5e38  00000000 c051056c c6f65788 c6f65788 c6f65948 00200200 00100100 c6f66910
5e58  c07553b0 c6f55e9c c6f55e78 c6f55e78 c00f5a2c c00f59e4 a0000013 ffffffff
5e78  c6f65910 00001000 c06b48f0 00000000 c6f65758 00008000 c6f55ed4 c6f55ea0
5e98  c00ef5e8 c00f59b0 ffffffff 00000000 c004aa28 c6f17c80 c6f65758 000412a9
5eb8  00000000 00041364 00000000 00000000 c6f55f14 c6f55ed8 c00f1290 c00ef5ac
5ed8  c6f55ee0 00000000 000000bb c06b48f0 c6f17c80 c6f17c80 00000000 00000000

FP: 0xc6f55e1c:
5e1c  00200200 c6f55e9c c6f55e30 c04f406c c003f274 ceaf2128 ceaf212c 00000000
5e3c  c051056c c6f65788 c6f65788 c6f65948 00200200 00100100 c6f66910 c07553b0
5e5c  c6f55e9c c6f55e78 c6f55e78 c00f5a2c c00f59e4 a0000013 ffffffff c6f65910
5e7c  00001000 c06b48f0 00000000 c6f65758 00008000 c6f55ed4 c6f55ea0 c00ef5e8
5e9c  c00f59b0 ffffffff 00000000 c004aa28 c6f17c80 c6f65758 000412a9 00000000
5ebc  00041364 00000000 00000000 c6f55f14 c6f55ed8 c00f1290 c00ef5ac c6f55ee0
5edc  00000000 000000bb c06b48f0 c6f17c80 c6f17c80 00000000 00000000 c6f17cb4
5efc  c004aa28 c6f54000 00000001 c6f55f2c c6f55f18 c0078d6c c00f1168 c6f17c80

R0: 0xceaf20a8:
20a8  00000024 00000025 00000026 00000001 0000002b 00000029 ffffffff 00000027
20c8  00000005 00000000 ce8a5380 ad389000 ad38a000 ceb0b5f8 ceb0bf40 0000010f
20e8  00100073 00000001 cea61dfc ceb0beac 00000000 00000000 00000000 00000000
2108  ceaf2108 ceaf2108 00000000 00000000 000ad389 00000000 00000000 00000000
2128  c6f17500 00008000 0001b000 c894a2e0 00000000 0000030f 08001875 c894a2fd
2148  00000000 00000000 ceaf2150 ceaf2150 c894a308 00000000 ceaf2160 ceaf2160
2168  00000000 c051056c 00000000 ca110ec0 00000000 00000000 c6f17c80 afd40000
2188  afd43000 c6f65de0 c6f653e8 0000010f 08100073 c6f65405 c6f65dfc 00000000

R1: 0xceaf20ac:
20ac  00000025 00000026 00000001 0000002b 00000029 ffffffff 00000027 00000005
20cc  00000000 ce8a5380 ad389000 ad38a000 ceb0b5f8 ceb0bf40 0000010f 00100073
20ec  00000001 cea61dfc ceb0beac 00000000 00000000 00000000 00000000 ceaf2108
210c  ceaf2108 00000000 00000000 000ad389 00000000 00000000 00000000 c6f17500
212c  00008000 0001b000 c894a2e0 00000000 0000030f 08001875 c894a2fd 00000000
214c  00000000 ceaf2150 ceaf2150 c894a308 00000000 ceaf2160 ceaf2160 00000000
216c  c051056c 00000000 ca110ec0 00000000 00000000 c6f17c80 afd40000 afd43000
218c  c6f65de0 c6f653e8 0000010f 08100073 c6f65405 c6f65dfc 00000000 cea08d00

R3: 0xc05104ec:
04ec  75735f32 72775f6d 5f657469 61746164 00000000 7366666a 75735f32 72705f6d
050c  7365636f 75735f73 61645f6d 00006174 7366666a 75735f32 63735f6d 735f6e61
052c  6f6e6d75 00006564 7366666a 75735f32 64615f6d 766b5f64 00006365 7366666a
054c  75735f32 6e695f6d 00007469 656b616d 7365725f 61767265 6e6f6974 00000000
056c  00000000 00000000 c00d5088 c01d3f98 00000000 66696275 6d765f73 6761705f
058c  6b6d5f65 74697277 00000065 75706f70 6574616c 6761705f 00000065 64616572
05ac  6f6c625f 00006b63 725f6f64 70646165 00656761 66696275 6f645f73 6c75625f
05cc  65725f6b 00006461 775f6f64 65746972 65676170 00000000 c01d5538 c01d4fb8

R4: 0xc6f65708:
5708  b0013000 c3965230 c6f65288 0000010f 00100073 c6f65c9d c396524c c6f652a4
5728  00000000 00000000 00000000 00000000 c39bcf70 c39bcf70 c6f6a5c8 00000000
5748  000b000a 00000000 00000000 00000000 c6f17c80 00008000 0001b000 c6f65910
5768  00000000 0000030f 08001875 c6f6592d 00000000 00000000 c6f65780 c6f65780
5788  00000000 ceaf2128 c6f65790 c6f65790 00000000 c051056c 00000000 ca134f40
57a8  00000000 00000000 c8325840 b0009000 b000a000 c6f65338 c39655f8 0000010f
57c8  08100873 c6f65355 00000000 00000000 c39650f8 c6f66360 00000000 00000000
57e8  c39bcb08 c39bcb08 c6f6a468 c051056c 00000009 ceaf3c40 00000000 00000000

R5: 0xc6f65708:
5708  b0013000 c3965230 c6f65288 0000010f 00100073 c6f65c9d c396524c c6f652a4
5728  00000000 00000000 00000000 00000000 c39bcf70 c39bcf70 c6f6a5c8 00000000
5748  000b000a 00000000 00000000 00000000 c6f17c80 00008000 0001b000 c6f65910
5768  00000000 0000030f 08001875 c6f6592d 00000000 00000000 c6f65780 c6f65780
5788  00000000 ceaf2128 c6f65790 c6f65790 00000000 c051056c 00000000 ca134f40
57a8  00000000 00000000 c8325840 b0009000 b000a000 c6f65338 c39655f8 0000010f
57c8  08100873 c6f65355 00000000 00000000 c39650f8 c6f66360 00000000 00000000
57e8  c39bcb08 c39bcb08 c6f6a468 c051056c 00000009 ceaf3c40 00000000 00000000

R6: 0xc6f658c8:
58c8  c6f66650 0000010f 00100071 c6f65a34 00000000 00000000 00000000 00000000
58e8  00000000 00000000 c39bc610 c39bc610 c6f6a948 00000000 0004002b 00000000
5908  00000000 00000000 c6f17c80 0001b000 0001c000 c6f66910 c6f65758 0000010f
5928  08101873 c39652a4 c6f6692c c6f65774 c6f65938 c6f65938 00000000 c894a2e0
5948  c39bc4d8 c39bc4d8 c6f6a8b8 c051056c 00000013 ca134f40 00000000 00000000
5968  c6f17980 00008000 00009000 c6f65ee8 00000000 0000030f 08001875 c6f65f05
5988  00000000 00000000 c6f65990 c6f65990 c6f65f10 00000000 c6f659a0 c6f659a0
59a8  00000000 c051056c 00000000 ca1349c0 00000000 00000000 c6f17c80 afa03000

R9: 0xc6f66890:
6890  00000000 00000000 c6f66898 c6f66898 c6f6a5c8 00000000 0000000a 00000000
68b0  00000000 00000000 c8325840 b0001000 b0009000 c6f66338 ca10a338 0000030f
68d0  08000875 00000001 c6f651f4 c6f65cf4 c3965620 cea795c8 00000000 00000000
68f0  c6f668f0 c6f668f0 00000000 c051056c 00000001 ca143740 00000000 00000000
6910  c6f17c80 0001c000 00021000 c3965288 c6f65910 0000010f 00100073 c6f6592d
6930  00000000 00000000 00000000 00000000 00000000 00000000 c6f66948 c6f66948
6950  00000000 00000000 0000001c 00000000 00000000 00000000 c8325840 afc00000
6970  afc01000 c6f66c80 c6f65128 0000030f 08100075 c6f66c44 c6f66c9c ca1066c4

R10: 0xc0755330:
5330  0000000f 00000000 c09ed100 00000000 c09ed180 00000000 00000000 00000001
5350  00000001 c09ed000 c09ed040 c09ed080 c09ed0c0 00000008 00008000 0000002c
5370  00000000 c09e5000 0008f7fc c07e3000 00000000 00000000 00000000 0008ffff
5390  00010000 0000f800 d0000000 00000000 000412a9 00000000 00000001 00000000
53b0  cf000e40 cf000dc0 00000ac4 ce80d3c0 c81f360c f8000000 c6f072c0 00000001
53d0  b0000000 0f800000 00000001 00000080 c07553f0 00000002 00000080 c07557f8
53f0  80000000 0f800000 00000000 00000000 00000000 00000000 00000000 00000000
5410  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Process sleep (pid: 4225, stack limit = 0xc6f542f0)
Stack: (0xc6f55e78 to 0xc6f56000)
5e60:                                                       c6f65910 00001000
5e80: c06b48f0 00000000 c6f65758 00008000 c6f55ed4 c6f55ea0 c00ef5e8 c00f59b0
5ea0: ffffffff 00000000 c004aa28 c6f17c80 c6f65758 000412a9 00000000 00041364
5ec0: 00000000 00000000 c6f55f14 c6f55ed8 c00f1290 c00ef5ac c6f55ee0 00000000
5ee0: 000000bb c06b48f0 c6f17c80 c6f17c80 00000000 00000000 c6f17cb4 c004aa28
5f00: c6f54000 00000001 c6f55f2c c6f55f18 c0078d6c c00f1168 c6f17c80 c896f0c0
5f20: c6f55f54 c6f55f30 c007cab8 c0078d3c c896f0c0 00000000 c896f0c0 00000000
5f40: 00000002 000000f8 c6f55f7c c6f55f58 c007e238 c007c984 400ab000 c004aa28
5f60: c6f54000 00000000 c6f55f84 c6f55f78 c6f55f94 c6f55f80 c007e730 c007e080
5f80: 00000000 bed67ce4 c6f55fa4 c6f55f98 c007e778 c007e6b8 00000000 c6f55fa8
5fa0: c004a880 c007e76c 00000000 bed67ce4 00000000 00001000 afd46300 afd46300
5fc0: 00000000 bed67ce4 00000002 000000f8 00000000 00000000 00000000 00000000
5fe0: ffffff44 bed67cc0 afd1ceeb afd0af4c 60000010 00000000 00010074 000026f0
Backtrace:
[<c00f59a4>] (unlink_anon_vmas+0x0/0xac) from [<c00ef5e8>] (free_pgtables+0x48/0xac)
[<c00ef5a0>] (free_pgtables+0x0/0xac) from [<c00f1290>] (exit_mmap+0x134/0x1a0)
[<c00f115c>] (exit_mmap+0x0/0x1a0) from [<c0078d6c>] (mmput+0x3c/0xd8)
[<c0078d30>] (mmput+0x0/0xd8) from [<c007cab8>] (exit_mm+0x140/0x14c)
r5:c896f0c0 r4:c6f17c80
[<c007c978>] (exit_mm+0x0/0x14c) from [<c007e238>] (do_exit+0x1c4/0x638)
r7:000000f8 r6:00000002 r5:00000000 r4:c896f0c0
[<c007e074>] (do_exit+0x0/0x638) from [<c007e730>] (do_group_exit+0x84/0xb4)
[<c007e6ac>] (do_group_exit+0x0/0xb4) from [<c007e778>] (sys_exit_group+0x18/0x20)
r5:bed67ce4 r4:00000000
[<c007e760>] (sys_exit_group+0x0/0x20) from [<c004a880>] (ret_fast_syscall+0x0/0x30)
Code: e2801004 0a000009 e5943014 e5942010 (e5823004)
---[ end trace ff8af2fde797dcc4 ]---
Kernel panic - not syncing: Fatal exception
Backtrace:
[<c004ee1c>] (dump_backtrace+0x0/0x110) from [<c04f1e6c>] (dump_stack+0x18/0x1c)
r7:00000001 r6:c00f59e6 r5:c071b168 r4:c071b168
[<c04f1e54>] (dump_stack+0x0/0x1c) from [<c04f1ed4>] (panic+0x64/0x180)
[<c04f1e70>] (panic+0x0/0x180) from [<c004f1f8>] (die+0x2cc/0x320)
r3:00000001 r2:c0685ea7 r1:c6f55c58 r0:c0609963
[<c004ef2c>] (die+0x0/0x320) from [<c00524b4>] (__do_kernel_fault+0x6c/0x8c)
[<c0052448>] (__do_kernel_fault+0x0/0x8c) from [<c04f6020>] (do_page_fault+0x294/0x2b8)
r9:20000113 r8:00000000 r7:00000004 r6:c896f0c0 r5:c06b466c
r4:c6f55e30
[<c04f5d8c>] (do_page_fault+0x0/0x2b8) from [<c003f2a4>] (do_DataAbort+0x3c/0xa0)
[<c003f268>] (do_DataAbort+0x0/0xa0) from [<c04f406c>] (__dabt_svc+0x4c/0x60)
Exception stack(0xc6f55e30 to 0xc6f55e78)
5e20:                                     ceaf2128 ceaf212c 00000000 c051056c
5e40: c6f65788 c6f65788 c6f65948 00200200 00100100 c6f66910 c07553b0 c6f55e9c
5e60: c6f55e78 c6f55e78 c00f5a2c c00f59e4 a0000013 ffffffff
r7:00200200 r6:c6f65948 r5:c6f55e64 r4:ffffffff
[<c00f59a4>] (unlink_anon_vmas+0x0/0xac) from [<c00ef5e8>] (free_pgtables+0x48/0xac)
[<c00ef5a0>] (free_pgtables+0x0/0xac) from [<c00f1290>] (exit_mmap+0x134/0x1a0)
[<c00f115c>] (exit_mmap+0x0/0x1a0) from [<c0078d6c>] (mmput+0x3c/0xd8)
[<c0078d30>] (mmput+0x0/0xd8) from [<c007cab8>] (exit_mm+0x140/0x14c)
r5:c896f0c0 r4:c6f17c80
[<c007c978>] (exit_mm+0x0/0x14c) from [<c007e238>] (do_exit+0x1c4/0x638)
r7:000000f8 r6:00000002 r5:00000000 r4:c896f0c0
[<c007e074>] (do_exit+0x0/0x638) from [<c007e730>] (do_group_exit+0x84/0xb4)
[<c007e6ac>] (do_group_exit+0x0/0xb4) from [<c007e778>] (sys_exit_group+0x18/0x20)
r5:bed67ce4 r4:00000000
[<c007e760>] (sys_exit_group+0x0/0x20) from [<c004a880>] (ret_fast_syscall+0x0/0x30)

我用gdb调试,出错行是在函数__list_del()函数里面。

GNU gdb (Sourcery G++ Lite 2009q1-203) 6.8.50.20081022-cvs
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi".
For bug reporting instructions, please see:
<https://support.codesourcery.com/GNUToolchain/>...
(gdb)
(gdb) l *0xc00f59e4
0xc00f59e4 is in unlink_anon_vmas (include/linux/list.h:88).
83       * This is only for internal list manipulation where we know
84       * the prev/next entries already!
85       */
86      static inline void __list_del(struct list_head * prev, struct list_head * next)
87      {
88              next->prev = prev;
89              prev->next = next;
90      }
91
92      /**
(gdb)

是在88行。next->prev = prev;

还有几个其它的oops信息,但是出错行都是在__list_del里面!!!!

请大家帮看一下是什么问题,应该从哪里入手。。

相关帖子

沙发
shuiketu| | 2013-12-27 20:33 | 只看该作者
Unable to handle kernel NULL pointer dereference at virtual address 00000004
是正解,楼主机器里的代码肯定对一个空指针进行了非法操作,引起kernel panic的原因可能是代码原因,也可能是硬件引起的。如果楼主机器里的代码开始时是没问题的,那就可能是硬件出了问题。如果是代码问题,楼主可以将代码反汇编,查看Code: e2801004 0a000009 e5943014 e5942010 (e5823004) 中提到的位置。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

35

帖子

2

粉丝