我们正在测试在嵌入式Linux上运行的防火墙应用程序。在测试过程中的某一点,Linux的挂起(死机),我们在控制台上看到如下:这是Linux内核崩溃吗?我如何解决它?
TCHDOG: eth0 (fsl-gianfar): transmit queue 0 timed out
------------[ cut here ]------------ WARNING: at net/sched/sch_generic.c:279 Modules linked in: CPU: 0 PID: 0 Comm:
swapper/0 Not tainted 3.12.19-rt30-gc29fe1a #27 task: c08f9300 ti:
effea000 task.ti: c093a000 NIP: c052a98c LR: c052a98c CTR: c0327948
REGS: effebe60 TRAP: 0700 Not tainted (3.12.19-rt30-gc29fe1a) MSR:
00029000 <CE,EE,ME> CR: 44044022 XER: 20000000
GPR00: c052a98c effebf10 c08f9300 0000003f c128c484 c128c9d0 c0328b54
00021000 GPR08: 00000001 00000001 0099b000 00000312 24044024 0f003103
effea000 c07f6f28 GPR16: 00000100 00200000 c0940000 c08f0000 001631a5
00000000 000000a4 ffffffff GPR24: 00000000 00000000 effea000 00000004
c0940000 c0940000 c74d0000 00000000 NIP [c052a98c]
dev_watchdog+0x2dc/0x2ec LR [c052a98c] dev_watchdog+0x2dc/0x2ec Call
Trace: [effebf10] [c052a98c] dev_watchdog+0x2dc/0x2ec (unreliable)
[effebf40] [c005194c] call_timer_fn.isra.29+0x28/0x84 [effebf60]
[c0051b28] run_timer_softirq+0x180/0x1fc [effebfa0] [c004a5e8]
__do_softirq+0x100/0x1cc [effebff0] [c000d6e8] call_do_softirq+0x24/0x3c [c093be60] [c0004920] do_softirq+0x90/0xb8
[c093be80] [c004afb4] irq_exit+0xa4/0xc8 [c093be90] [c0009c10]
timer_interrupt+0x1a4/0x1d0 [c093bec0] [c000f594]
ret_from_except+0x0/0x18
--- Exception: 901 at arch_cpu_idle+0x24/0x5c
LR = arch_cpu_idle+0x24/0x5c [c093bf80] [c00ac4ec] rcu_idle_enter+0xac/0xec (unreliable) [c093bf90] [c0086b00]
cpu_startup_entry+0x120/0x170 [c093bfc0] [c08a97a8]
start_kernel+0x2f0/0x304 [c093bff0] [c00003fc] skpinv+0x2e8/0x324
Instruction dump: 4e800421 80fe0204 4bffff44 7fc3f378 4bfe72e5
7fc4f378 7c651b78 3c60c085 7fe6fb78 38632bf0 4cc63182 48184835
<0fe00000> 39200001 993c9c37 4bffffb4
---[ end trace d3f58d6e7db83823 ]---
它是一个内核崩溃?是什么造成的?我如何解决它?如果您需要其他信息,请告诉我。
这确实是内核崩溃。 – 0andriy 2015-04-01 15:09:13
这次事故的原因是什么?如何解决它? – Jay 2015-04-02 03:38:15
尝试重现最新的内核,即4.0-rc6。 – 0andriy 2015-04-02 10:45:56