制造linux内核异常,了解Linux内核中的异常

我想在非常低的温度下调试我们的嵌入式Linux系统(< 40C)。问题是,它并不总是正确启动,我试图找出原因。经过一番分析,我看到内核启动了下面的输出期间进入恐慌:了解Linux内核中的异常

can: controller area network core (rev 20090105 abi 8)

NET: Registered protocol family 29

can: raw protocol (rev 20090105)

/opt/elinos-5.1/linux/linux-ppc-2.6.34/drivers/rtc/hctosys.c: unable to open rtc

device (rtc0)

ADDRCONF(NETDEV_UP): eth0: link is not ready

IP-Config: Complete:

device=eth0, addr=192.168.100.100, mask=255.255.255.0, gw=255.255.255.255,

host=192.168.100.100, domain=, nis-domain=(none),

bootserver=192.168.100.20, rootserver=192.168.100.20, rootpath=

Freeing unused kernel memory: 156k init

init started: BusyBox v1.6.1 (2013-06-03 11:53:03 CEST) multi-call binary

ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

udevd-work[84]: '/sbin/modprobe -bv of:NioctlTCfsl,mpc5125-ioctl' unexpect

ed exit with status 0x000b

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

Badness at /opt/elinos-5.1/linux/linux-ppc-2.6.34/kernel/sched.c:3574

NIP: c001acfc LR: c001ace4 CTR: c01c5fa4

REGS: c790f7c0 TRAP: 0700 Not tainted (2.6.34.7-ELinOS-146-ipipe)

MSR: 00021032 CR: 28000482 XER: 20000000

TASK = c3ba6cb0[71] 'udevd' THREAD: c78e0000

GPR00: 00000000 c790f870 c3ba6cb0 00000001 c790f8b8 00000008 00000000 00000000

GPR08: 00000000 c0370000 00000001 c0370000 5d0fabd2 10033420 10019a6c 00000000

GPR16: 10019328 100194d4 100194c0 1002bad0 10019328 10019474 bfa35428 100192fc

GPR24: 100321f0 00000000 00000000 c649e840 00000000 00000901 00000000 00000000

NIP [c001acfc] add_preempt_count+0x48/0xac

LR [c001ace4] add_preempt_count+0x30/0xac

Call Trace:

Instruction dump:

409e0038 54290024 8009000c 2f800000 40bc0028 48133285 2f830000 419e0068

3d20c037 8009d298 2f800000 409e0058 <0fe00000> 48000050 3d20c037 8009d130

Unable to handle kernel paging request for instruction fetch

Faulting instruction address: 0x00000000

Oops: Kernel access of bad area, sig: 11 [#1]

PREEMPT LTT NESTING LEVEL : 0

ORION

last sysfs file: /sys/devices/platform/gpio-keys-polled/input/input0/uevent

NIP: 00000000 LR: 00000000 CTR: c01c7778

REGS: c790f990 TRAP: 0400 Tainted: G W (2.6.34.7-ELinOS-146-ipipe)

MSR: 20009032 CR: 28000484 XER: 20000000

TASK = c3ba6cb0[71] 'udevd' THREAD: c78e0000

GPR00: 00000000 c790fa40 c3ba6cb0 00000008 00000008 00000008 c7912804 c0348ba4

GPR08: 00000047 c78a5414 00000000 00000004 28000482 10033420 10019a6c 00000000

GPR16: 10019328 100194d4 100194c0 1002bad0 10019328 10019474 bfa35428 100192fc

GPR24: 100321f0 00000000 c790f618 00200200 00000000 c790fa34 00200200 00000000

NIP [00000000] (null)

LR [00000000] (null)

Call Trace:

Instruction dump:

XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX

XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX

Kernel panic - not syncing: Fatal exception in interrupt

Call Trace:

Rebooting in 180 seconds..

INFO: RCU detected CPU 0 stall (t=2500 jiffies)

INFO: RCU detected CPU 0 stall (t=10000 jiffies)

INFO: RCU detected CPU 0 stall (t=17500 jiffies)

INFO: RCU detected CPU 0 stall (t=25000 jiffies)

INFO: RCU detected CPU 0 stall (t=32500 jiffies)

INFO: RCU detected CPU 0 stall (t=40000 jiffies)

System Halted, OK to turn off power

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

kernel BUG at /opt/elinos-5.1/linux/linux-ppc-2.6.34/mm/vmalloc.c:1228!

Oops: Exception in kernel mode, sig: 5 [#2]

PREEMPT LTT NESTING LEVEL : 0

ORION

last sysfs file: /sys/devices/platform/gpio-keys-polled/input/input0/uevent

NIP: c009b0cc LR: c0013518 CTR: 00000000

REGS: c790f7c0 TRAP: 0700 Tainted: G D W (2.6.34.7-ELinOS-146-ipipe)

MSR: 00029032 CR: 28000484 XER: 20000000

TASK = c3ba6cb0[71] 'udevd' THREAD: c78e0000

GPR00: 078fe000 c790f870 c3ba6cb0 00001000 00000001 00000001 c9000000 fddff000

GPR08: ffffffff 000000d0 c001018c c790e000 48000488 10033420 10019a6c 00000000

GPR16: 10019328 100194d4 100194c0 1002bad0 10019328 10019474 bfa35428 100192fc

GPR24: c001018c 000000d0 00001000 ffffffff c9000000 fddff000 00000001 00000001

NIP [c009b0cc] __get_vm_area_node+0x68/0x204

LR [c0013518] __ioremap_caller+0x90/0x134

Call Trace:

Instruction dump:

7c9e2378 93e1003c 7cbf2b78 90010044 9261000c 92810010 92a10014 92c10018

92e1001c 93410028 800b000c 5400016e <0f000000> 70a00001 41820030 7c7e0034

Kernel panic - not syncing: Fatal exception in interrupt

Call Trace:

Rebooting in 180 seconds..:

任何人可以给我一些提示如何解决这个问题?我想要的是了解系统的哪个组件(即内存芯片等)导致此故障。我会很乐意听到任何想法。谢谢。

2013-07-22

akasi

+1

/opt/elinos-5.1/linux/linux-ppc-2.6.34/drivers/rtc/hctosys.c:无法打开rtc设备(rtc0)我认为问题是这样的! rtc(实时时钟驱动程序)工作不正常,它可能是低温影响其行为? –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值