您的位置:首页 > 运维架构 > Linux

ARM linux 异常分析(一)-- __initt编译属性错误

2016-08-10 23:02 525 查看
linux 异常分析工具(一)

分析 :

    1. 调用dma_contiguous_early_fixup 后内核oops

   错误类型提示Internal error: Oops - undefined instruction: 0 [#1] PREEMPT SMP ARM

   

   undefined instruction 意味着函数未定义,查看Sysmap 该函数是存在的。

   

   后面才发现问题出在函数的编译属性上: void __init dma_contiguous_early_fixup

   __init __init 宏最常用的地方是驱动模块初始化函数的定义处,其目的是将驱动模块的初始化函数放入名叫

   .init.text的输入段。当内核启动完毕后,这个段中的内存会被释放掉供其他使用。 因此第二次调用该函数后,text已经不存在,所以才会报错

   

[  240.570037] Internal error: Oops - undefined instruction: 0 [#1] PREEMPT SMP ARM

[  240.600068] CPU: 0    Tainted: G           O  (3.4.39 #17)

[  240.600068] PC is at dma_contiguous_early_fixup+0x4/0x2c

[  240.600068] LR is at cma_recreate_area+0x140/0x1c0

[  240.600068] pc : [<c08bce94>]    lr : [<c032e9c4>]    psr: 20000013

[  240.600068] sp : d583ddd0  ip : 00000000  fp : d583dde4

[  240.600068] r10: 00000000  r9 : d583c000  r8 : c000e2e8

[  240.600068] r7 : 00000009  r6 : d45bd300  r5 : 00009400  r4 : d58ce700

[  240.600068] r3 : 0005d000  r2 : 00056000  r1 : 02400000  r0 : 5d000000

[  240.600068] Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user

[  240.600068] Control: 10c5387d  Table: 5442006a  DAC: 00000015

[  240.600068] 

[  240.600068] PC: 0xc08bce14:

[  240.600068] ce14  04050705 100f0f08 02010808 0e050738 0f400705 080f0607 0f03053d 05090503

[  240.600068] ce34  04030f03 112b4ac8 0d620f2d 04050510 0c0d0206 0c020315 16041c10 0a010110

[  240.600068] ce54  1129040b 05070302 0405100d 0d020603 0103150d 041c100c 16010e18 01112b04

[  240.600068] ce74  1d040504 0d080d0c 1607060b 1113070f 1207110e 120f040e 000f1206 3c000e00

[  240.600068] ce94  f600e8ff 1500d100 2e001b00 3f003300 53004f00 5b005700 63005f00 6d006700

[  240.600068] ceb4  00007300 070617b7 07061533 26071716 27070627 07273736 16173627 23373617

[  240.600068] ced4  33171627 07062315 35231533 23272633 17273335 16233733 23153317 23153315

[  240.600068] cef4  23353335 23153307 23153315 23352315 23353335 23353337 23353315 23153337

[  240.600068] 

[  240.600068] LR: 0xc032e944:

[  240.600068] e944  e1500003 ba000028 e30810d0 ebf76fdf e3500000 e584001c 1a000003 e59f10d0

[  240.600068] e964  e59f00d0 eb0c1fe8 ea00001f e59f00c8 eb0c3b50 e5941018 e5942020 e594001c

[  240.600068] e984  ebfd48e5 e594301c e5845004 e5845010 e5843014 e59f00a0 eb0c3ac5 e594300c

[  240.600068] e9a4  e5941010 e0511003 0a000004 e5942000 e1a01601 e0833002 e1a00603 eb163932

[  240.600068] e9c4  e5943010 e5941008 e0511003 01a00001 089da830 e5940000 e3a02000 e0830000

[  240.600068] e9e4  eb16925c e3500000 089da830 e59f4038 e5d43003 e3530001 0a000008 e59f002c

[  240.600068] ea04  e300111b ebf3e521 e3a03001 e3e00000 e5c43003 e89da830 e3e00015 e89da830

[  240.600068] ea24  e3e00000 e89da830 c0a273cc c0981ad6 c07befbc c06a74c8 c07befda c0953ff8

[  240.600068] 

[  240.600068] SP: 0xd583dd50:

[  240.600068] dd50  c032111c d44eab28 d59ab9c0 c031d634 c032111c c1844bc0 c08bce98 20000013

[  240.600068] dd70  c000df94 00000000 d583dde4 d583dd88 c000dcec c000820c 5d000000 02400000

[  240.600068] dd90  00056000 0005d000 d58ce700 00009400 d45bd300 00000009 c000e2e8 d583c000

[  240.600068] ddb0  00000000 d583dde4 00000000 d583ddd0 c032e9c4 c08bce94 20000013 ffffffff

[  240.600068] ddd0  be8cca10 be8cca14 d583dec4 d583dde8 c0323004 c032e890 d5a1df10 d583ded8

[  240.600068] ddf0  00000000 00000000 d583de14 d583de08 c012ae24 c012ac94 d583de2c d583de18

[  240.600068] de10  c0119254 c012adfc 00000000 d583ded8 d583de74 d583de30 c011d008 c0119238

[  240.600068] de30  d0aaa005 d5a1df10 d541e3c0 00000022 c011b534 d44eab28 d583de74 d583ded8

[  240.600068] 

[  240.600068] FP: 0xd583dd64:

[  240.600068] dd64  c1844bc0 c08bce98 20000013 c000df94 00000000 d583dde4 d583dd88 c000dcec

[  240.600068] dd84  c000820c 5d000000 02400000 00056000 0005d000 d58ce700 00009400 d45bd300

[  240.600068] dda4  00000009 c000e2e8 d583c000 00000000 d583dde4 00000000 d583ddd0 c032e9c4

[  240.600068] ddc4  c08bce94 20000013 ffffffff be8cca10 be8cca14 d583dec4 d583dde8 c0323004

[  240.600068] dde4  c032e890 d5a1df10 d583ded8 00000000 00000000 d583de14 d583de08 c012ae24

[  240.600068] de04  c012ac94 d583de2c d583de18 c0119254 c012adfc 00000000 d583ded8 d583de74

[  240.600068] de24  d583de30 c011d008 c0119238 d0aaa005 d5a1df10 d541e3c0 00000022 c011b534

[  240.600068] de44  d44eab28 d583de74 d583ded8 d583c000 ffffff9c d0aaa000 d583df60 d0aaa000

[  240.600068] 

[  240.600068] R4: 0xd58ce680:

[  240.600068] e680  d58ce9c0 d495c4c0 00000000 d5931000 00000006 00000005 00000000 00000002

[  240.600068] e6a0  00000002 00000003 ffffffff 00000005 00000006 ffffffff ffffffff 00000000

[  240.600068] e6c0  d58fcb40 d58ce6c4 d58ce6c4 d58cf208 00000000 c094794c d592d6c8 00000001

[  240.600068] e6e0  00000003 00000000 00000000 00000000 00000000 00000000 00000000 00000000

[  240.600068] e700  00056000 00009400 0000a000 00007000 00009400 cc7b6000 d592f000 cc7b6000

[  240.600068] e720  00000e00 00000000 00000100 00000000 00000000 00000000 00000000 00000000

[  240.600068] e740  d58fcc40 d58ce744 d58ce744 d58ce900 00000000 c094794c d592d708 00000001

[  240.600068] e760  00000003 00000000 00000000 00000000 00000000 00000000 00000000 00000000

[  240.600068] 

[  240.600068] R6: 0xd45bd280:

[  240.600068] d280  00002cf6 00100100 00200200 00000001 d49aec80 00000000 d0e96e00 c8509e80

[  240.600068] d2a0  00000000 00000001 e23000a4 5f444d50 00000010 00000000 00000000 00000000

[  240.600068] d2c0  bf05f000 bf094000 00000004 d0c0fdcd d45bd78c d4be340c d45bd798 d4be3418

[  240.600068] d2e0  0006ab5c 00001e02 d44b4580 00001e02 0006ab78 00001e02 0006ab86 00001e02

[  240.600068] d300  d2bf8900 00000000 00000000 d59ab9c0 00000000 00000001 00000000 00000000

[  240.600068] d320  d45bd320 d45bd320 00000000 c0797754 d583b9c0 00000001 d5578a20 00000000

[  240.600068] d340  6761742d 6c6c612f 6e6e6977 482f7265 38485f33 3038415f 6e75592f 2e32534f

[  240.600068] d360  2f302e32 34707362 322e342e 2d31312d 34366667 64643866 0006ac00 00001e02

[  240.600068] 

[  240.600068] R8: 0xc000e268:

[  240.600068] e268  e3570f5f e24fef7d 3798f107 e28d1008 e3a08000 e357080f e2270000 2a001327

[  240.600068] e288  ea00ee6c e24ee004 e58de03c eaffff79 e1a02007 e28d1008 e3a00000 eb000aac

[  240.600068] e2a8  e28fe014 e1a07000 e28d1008 e3570f5f 3891000f 3798f107 eaffffec e5ad0008

[  240.600068] e2c8  e1a02007 e1a0100d e3a00001 eb000aa0 eaffff80 e320f000 c09348c4 c000e99c

[  240.600068] e2e8  c003ba7c c002c908 c000e900 c010f694 c010f70c c010e8c0 c010d56c c0049c40

[  240.600068] e308  c010e910 c011dce4 c011dad0 c000e910 c010e220 c0049c40 c011d95c c010e490

[  240.600068] e328  c007b5cc c0049c40 c0049c40 c010f004 c0037a9c c012c9d4 c0049c40 c007b6b4

[  240.600068] e348  c007bb54 c0049c40 c0033fd4 c0049c40 c0049c40 c003cdc4 c0049c40 c0049c40

[  240.600068] 

[  240.600068] R9: 0xd583bf80:

[  240.600068] bf80  00000010 00040000 00000000 00000000 40408040 00000000 00000000 00400010

[  240.600068] bfa0  00000000 00000000 00400000 00000000 00000000 40001000 00000000 00000000

[  240.600068] bfc0  40001000 00000000 00000000 40004400 00000000 00000000 00040000 00000000

[  240.600068] bfe0  00000000 40000000 00000000 00000000 00040000 00000000 00000000 00000840

[  240.600068] c000  00000002 00000002 00000000 d583b9c0 c0935ec0 00000000 00000015 d583b9c0

[  240.600068] c020  c1217500 d583c000 00000000 c0933778 00000000 d4bf7e40 d583db1c d583da88

[  240.600068] c040  c063e6cc 00000000 00000000 00000000 00000000 00000000 01010000 00000000

[  240.600068] c060  0003b96c 00000000 00000000 00000000 00000000 00000000 00000000 00000000

[  240.600068] Process init (pid: 1, stack limit = 0xd583c2f8)

[  240.600068] Stack: (0xd583ddd0 to 0xd583e000)

[  240.600068] ddc0:                                     be8cca10 be8cca14 d583dec4 d583dde8

[  240.600068] dde0: c0323004 c032e890 d5a1df10 d583ded8 00000000 00000000 d583de14 d583de08

[  240.600068] de00: c012ae24 c012ac94 d583de2c d583de18 c0119254 c012adfc 00000000 d583ded8

[  240.600068] de20: d583de74 d583de30 c011d008 c0119238 d0aaa005 d5a1df10 d541e3c0 00000022

[  240.600068] de40: c011b534 d44eab28 d583de74 d583ded8 d583c000 ffffff9c d0aaa000 d583df60

[  240.600068] de60: d0aaa000 c011d574 d583decc d583de78 c011d574 c011d1e4 d583de9c c002f294

[  240.600068] de80: 00000076 00000000 d583dea4 d5a1df10 d564a118 c0057d34 d583debc 09400000

[  240.600068] dea0: c000f088 d59ab9c0 be8cca14 d45bd300 00000009 c000e2e8 d583df04 d583dec8

[  240.600068] dec0: c03223cc c0322c9c c0057d0c c007b56c d583def4 0000000b be8cca10 c007b56c

[  240.600068] dee0: 00000001 00000001 d44eab28 be8cca14 c1844bc0 00000009 d583df7c d583df08

[  240.600068] df00: c011fb58 c0321e84 60000013 d0aaa000 d583df44 d583df20 c0109e70 c02915f4

[  240.600068] df20: c092ccc4 00000009 c1844bc0 d0aaa000 00000020 d44eab28 d583df54 d583df48

[  240.600068] df40: c0119fe0 c0110c50 00000001 c1844bc0 d583df7c d583df60 c1844bc0 be8cca14

[  240.600068] df60: c0084906 00000009 c000e2e8 d583c000 d583dfa4 d583df80 c011fc14 c011f604

[  240.600068] df80: c000e2e8 00000001 be8ccbb0 00000094 be8ccb90 00000036 00000000 d583dfa8

[  240.600068] dfa0: c000e080 c011fbd8 be8ccbb0 00000094 00000009 c0084906 be8cca14 be8cc9f0

[  240.600068] dfc0: be8ccbb0 00000094 be8ccb90 00000036 00000000 00000000 00000000 0003a8c4

[  240.600068] dfe0: 0003b968 be8cc9e0 00025a1b 00029eec 20000010 00000009 00000000 00000000

[  240.600068] [<c032e9c4>] (cma_recreate_area+0x140/0x1c0) from [<c0323004>] (sunxi_ion_ioctl+0x374/0x3c8)

[  240.600068] [<c0323004>] (sunxi_ion_ioctl+0x374/0x3c8) from [<c03223cc>] (ion_ioctl+0x554/0x5dc)

[  240.600068] [<c03223cc>] (ion_ioctl+0x554/0x5dc) from [<c011fb58>] (do_vfs_ioctl+0x560/0x5d4)

[  240.600068] [<c011fb58>] (do_vfs_ioctl+0x560/0x5d4) from [<c011fc14>] (sys_ioctl+0x48/0x6c)

[  240.600068] [<c011fc14>] (sys_ioctl+0x48/0x6c) from [<c000e080>] (ret_fast_syscall+0x0/0x30)

[  240.600068] Code: 1207110e 120f040e 000f1206 3c000e00 (f600e8ff) 

root@dolphin_aliyun_p1:/ # [  241.552450] ---[ end trace a7cb2b6c83ce925e ]---

[  241.575882] Kernel panic - not syncing: Fatal exception

[  241.581865] CPU1: stopping

[  241.584896] [<c0016c18>] (unwind_backtrace+0x0/0xec) from [<c06364d0>] (dump_stack+0x20/0x24)

[  241.591792] [<c06364d0>] (dump_stack+0x20/0x24) from [<c0014530>] (handle_IPI+0x17c/0x304)

[  241.591792] [<c0014530>] (handle_IPI+0x17c/0x304) from [<c0008590>] (gic_handle_irq+0x60/0x68)

[  241.591792] [<c0008590>] (gic_handle_irq+0x60/0x68) from [<c000dc40>] (__irq_svc+0x40/0x70)

[  241.591792] Exception stack(0xd4a23de8 to 0xd4a23e30)

[  241.591792] 3de0:                   d2bf8ec0 600b0013 d4a23d88 00000000 d2bf8ec0 600b0013

[  241.591792] 3e00: 00000001 00000001 000000c3 00000000 d0c60230 d4a23e3c d4a23e40 d4a23e30

[  241.591792] 3e20: c005246c c063f488 600b0013 ffffffff

[  241.591792] [<c000dc40>] (__irq_svc+0x40/0x70) from [<c063f488>] (_raw_spin_unlock_irqrestore+0x2c/0x54)

[  241.591792] [<c063f488>] (_raw_spin_unlock_irqrestore+0x2c/0x54) from [<c005246c>] (__wake_up_sync_key+0x5c/0x64)

[  241.591792] [<c005246c>] (__wake_up_sync_key+0x5c/0x64) from [<c0483fb0>] (sock_def_readable+0x58/0x80)

[  241.591792] [<c0483fb0>] (sock_def_readable+0x58/0x80) from [<c04b8d20>] (netlink_broadcast_filtered+0x2d4/0x3ec)

[  241.591792] [<c04b8d20>] (netlink_broadcast_filtered+0x2d4/0x3ec) from [<c02845a8>] (kobject_uevent_env+0x2e4/0x434)

[  241.591792] [<c02845a8>] (kobject_uevent_env+0x2e4/0x434) from [<c02cc900>] (vsync_thread+0x74/0xb8)

[  241.591792] [<c02cc900>] (vsync_thread+0x74/0xb8) from [<c00484f0>] (kthread+0x9c/0xa8)

[  241.591792] [<c00484f0>] (kthread+0x9c/0xa8) from [<c000f2d8>] (kernel_thread_exit+0x0/0x8)

[  241.736940] [hotplug]: cpu(0) try to kill cpu(1)

[  242.742216] [hotplug]: try to kill cpu:1 failed!

[  252.030012] ------------[ cut here ]------------

[  252.035143] WARNING: at kernel/watchdog.c:255 watchdog_timer_fn+0x118/0x2e4()

[  252.040004] Watchdog detected hard LOCKUP on cpu 1

[  252.040004] Modules linked in: snd_usb_audio snd_usbmidi_lib snd_hwdep sunxi_sndspdif sndspdif sunxi_spdma sunxi_spdif uvcvideo videobuf_dma_contig videobuf_core 8189fs yunos_multi_ir(O) bt_sleep yunos)

[  252.040004] [<c0016c18>] (unwind_backtrace+0x0/0xec) from [<c06364d0>] (dump_stack+0x20/0x24)

[  252.040004] [<c06364d0>] (dump_stack+0x20/0x24) from [<c0027e7c>] (warn_slowpath_common+0x5c/0x74)

[  252.040004] [<c0027e7c>] (warn_slowpath_common+0x5c/0x74) from [<c0027f50>] (warn_slowpath_fmt+0x40/0x48)

[  252.040004] [<c0027f50>] (warn_slowpath_fmt+0x40/0x48) from [<c009d554>] (watchdog_timer_fn+0x118/0x2e4)

[  252.040004] [<c009d554>] (watchdog_timer_fn+0x118/0x2e4) from [<c004c6cc>] (__run_hrtimer+0x184/0x298)

[  252.040004] [<c004c6cc>] (__run_hrtimer+0x184/0x298) from [<c004d2c0>] (hrtimer_interrupt+0x12c/0x294)

[  252.040004] [<c004d2c0>] (hrtimer_interrupt+0x12c/0x294) from [<c00151b8>] (arch_timer_handler+0x44/0x4c)

[  252.040004] [<c00151b8>] (arch_timer_handler+0x44/0x4c) from [<c00a1684>] (handle_percpu_devid_irq+0x128/0x1f4)

[  252.040004] [<c00a1684>] (handle_percpu_devid_irq+0x128/0x1f4) from [<c009dbe4>] (generic_handle_irq+0x3c/0x50)

[  252.040004] [<c009dbe4>] (generic_handle_irq+0x3c/0x50) from [<c000f084>] (handle_IRQ+0x88/0xc8)

[  252.040004] [<c000f084>] (handle_IRQ+0x88/0xc8) from [<c0008574>] (gic_handle_irq+0x44/0x68)

[  252.040004] [<c0008574>] (gic_handle_irq+0x44/0x68) from [<c000dc40>] (__irq_svc+0x40/0x70)

[  252.040004] Exception stack(0xd583dbb8 to 0xd583dc00)

[  252.040004] dba0:                                                       d583dc1c 00000000

[  252.040004] dbc0: 00000001 c0984848 d583dc1c 00005dbf 000024b8 00000013 c0947934 00000018

[  252.040004] dbe0: c0984e80 d583dc14 d583dc18 d583dc00 c0280098 c028003c a0030013 ffffffff

[  252.040004] [<c000dc40>] (__irq_svc+0x40/0x70) from [<c028003c>] (read_current_timer+0x28/0x48)

[  252.040004] [<c028003c>] (read_current_timer+0x28/0x48) from [<c0280098>] (__timer_delay+0x3c/0x5c)

[  252.040004] [<c0280098>] (__timer_delay+0x3c/0x5c) from [<c02800e4>] (__timer_const_udelay+0x2c/0x34)

[  252.040004] [<c02800e4>] (__timer_const_udelay+0x2c/0x34) from [<c06368d4>] (panic+0x1b4/0x1f0)

[  252.040004] [<c06368d4>] (panic+0x1b4/0x1f0) from [<c0012b80>] (die+0x2c8/0x334)

[  252.040004] [<c0012b80>] (die+0x2c8/0x334) from [<c0012c48>] (arm_notify_die+0x5c/0x60)

[  252.040004] [<c0012c48>] (arm_notify_die+0x5c/0x60) from [<c0008384>] (do_undefinstr+0x184/0x1a8)

[  252.040004] [<c0008384>] (do_undefinstr+0x184/0x1a8) from [<c000dcec>] (__und_svc_finish+0x0/0x14)

[  252.040004] Exception stack(0xd583dd88 to 0xd583ddd0)

[  252.040004] dd80:                   5d000000 02400000 00056000 0005d000 d58ce700 00009400

[  252.040004] dda0: d45bd300 00000009 c000e2e8 d583c000 00000000 d583dde4 00000000 d583ddd0

[  252.040004] ddc0: c032e9c4 c08bce94 20000013 ffffffff

[  252.040004] [<c000dcec>] (__und_svc_finish+0x0/0x14) from [<c08bce94>] (dma_contiguous_early_fixup+0x4/0x2c)

[  252.040004] ---[ end trace a7cb2b6c83ce925f ]---
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: