bruce_helen 发表于 2014-6-24 17:09:33

i.MX6 linux内核崩溃(已解决)

本帖最后由 FSL_TICS_ZP 于 2014-7-8 16:19 编辑

使用官方Linux version 3.0.35内核。板子是北京明远智睿的Demo开发板,北京明远智睿提供两个patch文件,一个u-boot、一个内核的。使用的是i.MX6Q四核处理器。
北京明远智睿的patch文件

在官方3.0.35内核基础上打了patch文件后板子能正常跑起来。
问题:写了一个sqlite的应用测试程序进行压力测试:多线程运行,10个线程写,10个线程读。在运行了一段时间后内核崩溃。
linux不是分为用户层和内核层了么?用户层就算指针错误也不会将内核当掉啊。所以应该是内核出问题了。从log也能看出应该是内核出问题了,smp_call_function_single这个函数相当底层了吧?它怎么会出问题呢?

崩溃log:
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = 80004000
*pgd=00000000
Internal error: Oops: 17 [#1] PREEMPT SMP
Modules linked in:
CPU: 0    Not tainted(3.0.35-2666-gbdde708 #22)
PC is at smp_call_function_single+0x60/0x1d0
LR is at twd_cpufreq_transition+0x48/0x58
pc : [<800a2898>]    lr : [<800472f4>]    psr: 60000013
sp : bfe69e20ip : 00000000fp : 805118bc
r10: bfe69ee4r9 : 80aa3cc0r8 : 805118b8
r7 : 00000000r6 : 8004717cr5 : 00000000r4 : bfe68000
r3 : 00000001r2 : 00000000r1 : 00000000r0 : 80aa3abc
Flags: nZCvIRQs onFIQs onMode SVC_32ISA ARMSegment kernel
Control: 10c53c7dTable: 4fc1804aDAC: 00000015
Process kworker/0:1 (pid: 417, stack limit = 0xbfe682f0)
Stack: (0xbfe69e20 to 0xbfe6a000)
9e20: 00000000 0011edd8 0011edd8 00000000 00000000 00000000 00000000 00000000
9e40: 80af22fc ffffffff 80add2d8 00000000 00000001 bfe69ee4 bfe69ee4 800472f4
9e60: 800472ac 80093be4 80b12bbc 80b12ba4 00000000 00000001 ffffffff 80093d00
9e80: 00000000 3b5dc100 001312d0 bfe69ee4 bfaff240 00000000 00000004 80aa3ac4
9ea0: bfe69ee4 80093d34 00000000 00000004 00000004 8037492c 00000001 8c020000
9ec0: 00000004 8006582c bfe69f04 80093c88 8c008f40 00000000 00000000 00000004
9ee0: bfe69f64 00000000 000f32a0 00060ae0 000f4201 00000000 bfe69f20 00000000
9f00: 91cfcc0a 00000002 80039f40 80aa3abc 80aa3abc 00000000 80aa3b00 80aa3cc0
9f20: 80039d90 8c008d90 80039d90 803740e8 00060ae0 803788fc 00000001 bfed23c0
9f40: 8c0082e0 8c00e800 bfe68000 00000000 8c00e805 803787e0 80b12c24 800899f8
9f60: 8c0082e8 00000001 bfe68000 bfed23c0 8c0082e0 8c0082e8 bfed23d0 bfe68000
9f80: 8003a400 8003a400 00000009 8008a230 00000013 00000000 8003a400 8003a400
9fa0: bfe69fc4 bffa1f00 bfed23c0 8008a0c0 00000013 00000000 00000000 00000000
9fc0: 00000000 8008e6d0 80041aa4 00000000 bfed23c0 00000000 00000000 00000000
9fe0: bfe69fe0 bfe69fe0 bffa1f00 8008e650 80041aa4 80041aa4 6d379997 fc75bd53
[<800a2898>] (smp_call_function_single+0x60/0x1d0) from [<800472f4>] (twd_cpufreq_transition+0x48/0x58)
[<800472f4>] (twd_cpufreq_transition+0x48/0x58) from [<80093be4>] (notifier_call_chain.isra.0+0x44/0x84)
[<80093be4>] (notifier_call_chain.isra.0+0x44/0x84) from [<80093d00>] (__srcu_notifier_call_chain+0x44/0x60)
[<80093d00>] (__srcu_notifier_call_chain+0x44/0x60) from [<80093d34>] (srcu_notifier_call_chain+0x18/0x20)
[<80093d34>] (srcu_notifier_call_chain+0x18/0x20) from [<8037492c>] (cpufreq_notify_transition+0xa0/0xe0)
[<8037492c>] (cpufreq_notify_transition+0xa0/0xe0) from [<8006582c>] (mxc_set_target+0x1b8/0x2bc)
[<8006582c>] (mxc_set_target+0x1b8/0x2bc) from [<803740e8>] (__cpufreq_driver_target+0x50/0x64)
[<803740e8>] (__cpufreq_driver_target+0x50/0x64) from [<803788fc>] (cpufreq_interactive_freq_down+0x11c/0x14c)
[<803788fc>] (cpufreq_interactive_freq_down+0x11c/0x14c) from [<800899f8>] (process_one_work+0x10c/0x38c)
[<800899f8>] (process_one_work+0x10c/0x38c) from [<8008a230>] (worker_thread+0x170/0x37c)
[<8008a230>] (worker_thread+0x170/0x37c) from [<8008e6d0>] (kthread+0x80/0x88)
[<8008e6d0>] (kthread+0x80/0x88) from [<80041aa4>] (kernel_thread_exit+0x0/0x8)
Code: e207101f a1a0c007 e5980000 e1a0c2cc (e791010c)
---[ end trace 4915b54b2a79f291 ]---
note: kworker/0:1 exited with preempt_count 1
Unable to handle kernel paging request at virtual address fffffffc
pgd = 80004000
*pgd=4fffe821, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#2] PREEMPT SMP
Modules linked in:
CPU: 0    Tainted: G      D      (3.0.35-2666-gbdde708 #22)
PC is at kthread_data+0x4/0xc
LR is at wq_worker_sleeping+0xc/0xec
pc : [<8008e890>]    lr : [<8008adb0>]    psr: 00000193
sp : bfe69b38ip : 8c008f90fp : bfe69bec
r10: bffbe8fcr9 : bffbe8fcr8 : bffbe978
r7 : 00000000r6 : bfe68000r5 : bffbe7e0r4 : 00000000
r3 : 00000000r2 : 00000000r1 : 00000000r0 : bffbe7e0
Flags: nzcvIRQs offFIQs onMode SVC_32ISA ARMSegment user
Control: 10c53c7dTable: 4fc1804aDAC: 00000015
Process kworker/0:1 (pid: 417, stack limit = 0xbfe682f0)
Stack: (0xbfe69b38 to 0xbfe6a000)
9b20:                                                       8c008f40 8050d3ac
9b40: 809d538c bfff8740 00000001 800eab9c 00000002 8bffb000 00000834 8050a50c
9b60: 80aa3cc0 8bf45700 80039f40 80039f40 800391b4 80039f40 0bfcf000 800ec0e8
9b80: 333f23cc 80076fbc bfd80520 bffbe7e0 bf827740 bfd80a24 80af2b38 bfd80520
9ba0: 00000002 bffbe7e0 00000000 80076ec0 bffbe7e0 80039260 800a289a 800b9898
9bc0: 00000000 00000000 bfe69bc8 bffbe7e0 ffffffff bffbe7d8 bff8c000 bffbe8fc
9be0: bffbe8fc bffbe8fc 809ce348 80078254 00000000 bfe69c04 bfe68000 00000001
9c00: 809ce348 bfe69c04 bfe69c04 bffbe944 00000000 bfe68000 00000000 00000001
9c20: 800a289a 00000000 800a289c bfe69c7a 809ce348 80044740 bfe682f0 0000000b
9c40: 00000008 00000000 65000001 31373032 20663130 30613161 37303063 39356520
9c60: 30303038 31652030 32633061 28206363 31393765 63303130 00002029 bfe69ee4
9c80: 805118bc 00000000 00000000 00000017 bfe69dd8 bffbe7e0 00000017 bfe69ee4
9ca0: 805118bc 805091ac bfe69dd8 8004b488 bfe69cc4 8006b5bc 8c008f40 ba30a0a0
9cc0: bfe69ce4 8006b638 ba30a0a0 8c008f40 00000001 ba30a39c 80000193 80039f40
9ce0: bfe69d14 80070c08 00000019 80aba1c0 0000d9cf 00000000 19a16dcd 00000000
9d00: 011b9adc 00000000 0000d9cf 00000000 fffffff7 00000017 80aa73e8 00000000
9d20: bfe69dd8 805118b8 20000113 bfe69ee4 805118bc 8003b384 80aa3b00 8009cff8
9d40: bfe69d64 80068058 00000000 80aba1c0 0000ae73 00000000 28e841ad 00000000
9d60: 00000000 80039f40 00000000 8006ece4 00000000 8c008f40 00000400 bfe69eb4
9d80: 00000002 00000000 00000000 00000000 00000000 00000000 bffd1680 ffffffff
9da0: 80039f40 00000000 00000000 bffc1860 00000000 80039f40 00000000 80af8e28
9dc0: 80aa3b00 0000040f 00000007 8004717c 00000000 80040990 80aa3abc 00000000
9de0: 00000000 00000001 bfe68000 00000000 8004717c 00000000 805118b8 80aa3cc0
9e00: bfe69ee4 805118bc 00000000 bfe69e20 800472f4 800a2898 60000013 ffffffff
9e20: 00000000 0011edd8 0011edd8 00000000 00000000 00000000 00000000 00000000
9e40: 80af22fc ffffffff 80add2d8 00000000 00000001 bfe69ee4 bfe69ee4 800472f4
9e60: 800472ac 80093be4 80b12bbc 80b12ba4 00000000 00000001 ffffffff 80093d00
9e80: 00000000 3b5dc100 001312d0 bfe69ee4 bfaff240 00000000 00000004 80aa3ac4
9ea0: bfe69ee4 80093d34 00000000 00000004 00000004 8037492c 00000001 8c020000
9ec0: 00000004 8006582c bfe69f04 80093c88 8c008f40 00000000 00000000 00000004
9ee0: bfe69f64 00000000 000f32a0 00060ae0 000f4201 00000000 bfe69f20 00000000
9f00: 91cfcc0a 00000002 80039f40 80aa3abc 80aa3abc 00000000 80aa3b00 80aa3cc0
9f20: 80039d90 8c008d90 80039d90 803740e8 00060ae0 803788fc 00000001 bfed23c0
9f40: 8c0082e0 8c00e800 bfe68000 00000000 8c00e805 803787e0 80b12c24 800899f8
9f60: 8c0082e8 00000001 bfe68000 bfed23c0 8c0082e0 8c0082e8 bfed23d0 bfe68000
9f80: 8003a400 8003a400 00000009 8008a230 00000013 00000000 8003a400 8003a400
9fa0: bfe69fc4 bffa1f00 bfed23c0 8008a0c0 00000013 00000000 00000000 00000000
9fc0: 00000000 8008e6d0 80041aa4 00000000 bfed23c0 00000001 00000000 00000000
9fe0: bfe69fe0 bfe69fe0 bffa1f00 8008e650 80041aa4 80041aa4 6d379997 fc75bd53
[<8008e890>] (kthread_data+0x4/0xc) from [<8008adb0>] (wq_worker_sleeping+0xc/0xec)
[<8008adb0>] (wq_worker_sleeping+0xc/0xec) from [<8050d3ac>] (__schedule+0x390/0x6c0)
[<8050d3ac>] (__schedule+0x390/0x6c0) from [<80078254>] (do_exit+0x450/0x6e8)
[<80078254>] (do_exit+0x450/0x6e8) from [<80044740>] (die+0x228/0x284)
[<80044740>] (die+0x228/0x284) from [<805091ac>] (__do_kernel_fault.part.4+0x54/0x74)
[<805091ac>] (__do_kernel_fault.part.4+0x54/0x74) from [<8004b488>] (do_page_fault+0x2b4/0x31c)
[<8004b488>] (do_page_fault+0x2b4/0x31c) from [<8003b384>] (do_DataAbort+0x34/0x9c)
[<8003b384>] (do_DataAbort+0x34/0x9c) from [<80040990>] (__dabt_svc+0x70/0xa0)
Exception stack(0xbfe69dd8 to 0xbfe69e20)
9dc0:                                                       80aa3abc 00000000
9de0: 00000000 00000001 bfe68000 00000000 8004717c 00000000 805118b8 80aa3cc0
9e00: bfe69ee4 805118bc 00000000 bfe69e20 800472f4 800a2898 60000013 ffffffff
[<80040990>] (__dabt_svc+0x70/0xa0) from [<800a2898>] (smp_call_function_single+0x60/0x1d0)
[<800a2898>] (smp_call_function_single+0x60/0x1d0) from [<800472f4>] (twd_cpufreq_transition+0x48/0x58)
[<800472f4>] (twd_cpufreq_transition+0x48/0x58) from [<80093be4>] (notifier_call_chain.isra.0+0x44/0x84)
[<80093be4>] (notifier_call_chain.isra.0+0x44/0x84) from [<80093d00>] (__srcu_notifier_call_chain+0x44/0x60)
[<80093d00>] (__srcu_notifier_call_chain+0x44/0x60) from [<80093d34>] (srcu_notifier_call_chain+0x18/0x20)
[<80093d34>] (srcu_notifier_call_chain+0x18/0x20) from [<8037492c>] (cpufreq_notify_transition+0xa0/0xe0)
[<8037492c>] (cpufreq_notify_transition+0xa0/0xe0) from [<8006582c>] (mxc_set_target+0x1b8/0x2bc)
[<8006582c>] (mxc_set_target+0x1b8/0x2bc) from [<803740e8>] (__cpufreq_driver_target+0x50/0x64)
[<803740e8>] (__cpufreq_driver_target+0x50/0x64) from [<803788fc>] (cpufreq_interactive_freq_down+0x11c/0x14c)
[<803788fc>] (cpufreq_interactive_freq_down+0x11c/0x14c) from [<800899f8>] (process_one_work+0x10c/0x38c)
[<800899f8>] (process_one_work+0x10c/0x38c) from [<8008a230>] (worker_thread+0x170/0x37c)
[<8008a230>] (worker_thread+0x170/0x37c) from [<8008e6d0>] (kthread+0x80/0x88)
[<8008e6d0>] (kthread+0x80/0x88) from [<80041aa4>] (kernel_thread_exit+0x0/0x8)
Code: eaff9868 8051182c 809d7820 e590316c (e5130004)

wangpengcheng 发表于 2014-6-24 17:14:15

看不懂啊,太深奥了!

FSL_TICS_ZP 发表于 2014-6-24 17:22:03

你好,楼主!
我会将你的问题转告给i.MX工程师,他稍后会回复你的。

fengyunyu 发表于 2014-6-24 17:33:35

linux的log看起来,晕头!

bruce_helen 发表于 2014-6-24 17:33:41

FSL_TICS_ZP 发表于 2014-6-24 17:22
你好,楼主!
我会将你的问题转告给i.MX工程师,他稍后会回复你的。

附map文件和内核文件

xwkm 发表于 2014-6-24 18:48:30

同步问题导致写了个0指针?

bruce_helen 发表于 2014-6-24 21:23:48

xwkm 发表于 2014-6-24 18:48
同步问题导致写了个0指针?

你是指CPU同步问题?这问题也太大了吧,内核发布时应该能测试出来啊!

bruce_helen 发表于 2014-6-27 06:27:48

FSL_TICS_ZP 发表于 2014-6-24 17:22
你好,楼主!
我会将你的问题转告给i.MX工程师,他稍后会回复你的。

已解决,是硬件的问题。

一共三块板,其中一块一直出,其余两块一点问题没有。可能是写flash时出的问题,硬件接触不好引起。板子已经发回厂家,等待他们测试。

rootxie 发表于 2014-6-27 08:32:40

一直觉得搞Linux是高大上的东西,自己还停留在usos rt-thread的水平

bruce_helen 发表于 2014-6-27 08:46:59

rootxie 发表于 2014-6-27 08:32
一直觉得搞Linux是高大上的东西,自己还停留在usos rt-thread的水平

我之前也是搞的uC/OS-II,有了这个基础搞linux很快就能入门,这块的知识都是相通的。
linux经过这么多年的发展,东西不是一般的多啊!各种工具,各种知识点,搞搞还是挺有意思的。

霸气侧漏 发表于 2014-6-28 23:20:09

很高深的感觉

霸气侧漏 发表于 2014-6-28 23:21:23

很高深的感觉

rootxie 发表于 2014-6-29 08:58:09

像Linux这种调试是最没有头绪的,因为实在太庞大了,这系统

bruce_helen 发表于 2014-6-29 10:49:14

rootxie 发表于 2014-6-29 08:58
像Linux这种调试是最没有头绪的,因为实在太庞大了,这系统

是的,linux内核相对于uC/OS-II这种小内核来说复杂太多,到底是几十年的积累,不是那么简单就能整明白的。

rootxie 发表于 2014-6-29 10:52:49

bruce_helen 发表于 2014-6-29 10:49
是的,linux内核相对于uC/OS-II这种小内核来说复杂太多,到底是几十年的积累,不是那么简单就能整明白的 ...

所以一般小公司还别碰Linux,不然迟不了兜着走

bruce_helen 发表于 2014-7-16 19:44:05

厂家给出的解释:eMMC FLASH坏了,重新换了一块新核心板,问题解决。

成就与价值 发表于 2014-7-16 21:45:05

晕了!{:cry:}{:cry:}{:cry:}

dspme 发表于 2015-1-13 16:57:25

请问:北京明远智睿的核心板稳定性如何,我看他们只有金手指接口的,不知有没有板对板的。
         

wenming 发表于 2015-1-13 17:16:27



qs6361036 发表于 2015-1-13 18:03:40

linux内核崩溃 ,查找问题很麻烦 !

mangocity 发表于 2015-1-13 18:09:22

这是DVFS调节失败。

Juggernaut 发表于 2015-1-13 19:07:07

wenming 发表于 2015-1-13 17:16


板子高大上啊

sch2013 发表于 2015-1-15 19:03:15

代码跑飞了,不是DDR的问题 就是FLASH读写的问题

374533905 发表于 2015-1-16 16:01:35

只能说两眼一抹黑。

gaolf_2012 发表于 2015-1-16 16:19:48

bruce_helen 发表于 2014-7-16 19:44
厂家给出的解释:eMMC FLASH坏了,重新换了一块新核心板,问题解决。

flash这么容易损坏吗?

浪里白条 发表于 2015-1-16 17:23:30

wenming 发表于 2015-1-13 17:16


核心板价格如何?

bruce_helen 发表于 2015-1-16 20:25:36

gaolf_2012 发表于 2015-1-16 16:19
flash这么容易损坏吗?

不是使用次数多了出的问题。我拿到板子还没下几次程序,可能是芯片本身就是次品。

jinyi7016 发表于 2015-2-8 21:28:30

linux一直想做呢,自己慢慢积累了

lininglive 发表于 2015-2-9 11:23:26

flash 过不了 压力测试啊 !{:sweat:}
页: [1]
查看完整版本: i.MX6 linux内核崩溃(已解决)