yv9200 发表于 2014-12-11 15:56

谁知道这个oops错误,如何分析,最好能把问题定位清楚的方法,求大神支招!!!

dmesg信息如下
CPU 3 Unable to handle kernel paging request at virtual address 0000000000007068, epc == ffffffffc001cb78, ra == ffffffffc001ca50
Oops[#1]:
Cpu 3
$ 0   : 0000000000000000 000000000047d998 0000000000007068 000000000000000c
$ 4   : 0000000000000020 000000000047d998 0000000000000000 ffffffffc001ca0c
$ 8   : 0000000c00007068 0000000000000000 0000000000000000 0000000000000000
$12   : 0000000000000008 ffffffff80305a98 ffffffff80432f1c 0000000000000000
$16   : 98000000f99cdc00 000000000047d978 000000000047d9f8 ffffffffc0045600
$20   : 000000000047d978 0000000000000000 0000000000002828 000000002cf5a178
$24   : 0000000000000000 ffffffff805ce1c4                                 
$28   : 98000000f98ec000 98000000f98efdc0 000000007fb4b490 ffffffffc001ca50
Hi    : 0000000000000000
Lo    : 003d08d859ce4b00
epc   : ffffffffc001cb78 $L98+0x4/0x10
   Not tainted
ra    : ffffffffc001ca50 $L85+0x30/0x6c
Status: 7000fce3    KX SX UX KERNEL EXL IE
Cause : 10000008
BadVA : 0000000000007068
PrId: 00006305 (ICT Loongson-3A5)
Modules linked in: vdriver
Process runPlugins (pid: 3035, threadinfo=98000000f98ec000, task=98000000f96b06c8, tls=000000002ba3b150)
Stack : 0000000000000000 0000000000000000 98000000f95eccc0 0000000000000000
         98000000f95eccc0 0000000000000009 0000000000000000 ffffffffc0045600
         000000000047d978 0000000000000000 0000000000002828 000000002cf5a178
         000000007fb4b490 ffffffff80433054 000000007fb4b490 98000000f9e59440
         0000000000000001 000000002beac000 0000000031a66e84 0000000000000014
         0000000000000000 ffffffff803eb7e0 000000007fb4c768 000000007fb4b760
         0000000000000000 000000002cf5e7f8 000000002cf5abb8 0000000000000000
         0000000000002828 ffffffff80303c24 0000000000000000 000000007000fce0
         0000000000000fd6 0000000000007068 0000000000000009 ffffffffc0045600
         000000000047d978 000000000047d998 0000000000000000 0000000000000000
         ...
Call Trace:
[<ffffffffc001cb78>] $L98+0x4/0x10
[<ffffffffc001ca50>] $L85+0x30/0x6c


Code: 08007400ae0200189e020000 <8c420000> 08007400ae0200189e0300008c6200000002103c
Disabling lock debugging due to kernel taint
最好能说说cpu3那列都是做什么的。

瀚海书香 发表于 2014-12-12 09:12

回复 1# yv9200
epc   : ffffffffc001cb78 $L98+0x4/0x10

不知道你的EPC怎么不现实函数名啊?

如果有函数名,可以通过objdump -S somefile.o导出对应的汇编代码和偏移,找对出错的代码行,从代码行分析

   

arm-linux-gcc 发表于 2014-12-12 10:38

建议打开CONFIG_KALLSYMS和CONFIG_KALLSYMS_ALL,看oops更方便一些

breakCU 发表于 2014-12-12 12:32

objdump看看吧,锁和抢占控制对么?

baron_zz 发表于 2014-12-13 16:16

以前遇到过一次oops错误,从Log中可以看到SP指针,然后再用addr2line工具,找到对应的函数。

hejianet 发表于 2014-12-14 12:25

版内有篇文章,把文本的代码段 Code:   翻译成汇编

gaojl0728 发表于 2014-12-30 13:11

没有符号其他都是瞎扯
页: [1]
查看完整版本: 谁知道这个oops错误,如何分析,最好能把问题定位清楚的方法,求大神支招!!!