阅读:1436回复:8
请问这个系统错误是何原因引起的?
<.....> 函数名字<....>
..... <0> Kernel panic:Aiee,Killing interrupt handler! In interrupt handler-not syncing! 是何原因引起的这种错误呢? 当出现系统错误时,系统就会死机,只好从启机,我如何用ksymoops来调试这系统错误呢?来找出原因呢? |
|
沙发#
发布于:2002-11-08 11:43
中断不同步。
有一种可能是你的某个中断没有回到高电平,系统一直处于中断里。 还有可能是你内核配置的问题。是否新加了什么设备。而该设备驱动访问了非法内存。 |
|
板凳#
发布于:2002-11-08 15:47
是这样的,我在调试网卡驱动程序,用ifup eth0网卡端口激活,它执行了我的程序中的发送函数,正常按我的想法是应该执行我的发送中断函数,可系统没执行这一步!而出现了系统错误。这一证明我的包虽然放到缓冲区里了,但没法出去,为何?
我感觉有点像你说的第一点,因为第二点我在调试过程当中出现过,和这个信息不一样,你认为遇到这种情况,我如何去处理? |
|
地板#
发布于:2002-11-08 15:58
是这样的,我在调试网卡驱动程序,用ifup eth0网卡端口激活,它执行了我的程序中的发送函数,正常按我的想法是应该执行我的发送中断函数,可系统没执行这一步!而出现了系统错误。这一证明我的包虽然放到缓冲区里了,但没法出去,为何? 在你的中断处理程序里加个printk,或适当udelay点时间,看看能否有改观。时序问题的可能性较大。 你是说没有到中断处理函数就死了? |
|
地下室#
发布于:2002-11-08 16:07
是的,系统还没进入我的中断函数,就出现了系统错误!这种情况如何解决?
|
|
5楼#
发布于:2002-11-08 16:21
不清楚该怎么解决。 :(
如果你gdb熟,就用gdb调试你的程序吧。 |
|
6楼#
发布于:2002-11-11 16:23
感觉象是你的程序在中断处理函数中发生了页面错误或是死循环,把函数中的内容都删掉,看看会不会发生这种错误。如果会的话就考虑一下request_irq用的对不对,是不是把中断挂到不知名的地方去了,最好用static申明中断处理函数,避免命名冲突。
|
|
7楼#
发布于:2002-11-12 22:04
你说的,我现在程序中都已经做好了,我在初始化中有一项是dev->time_out = ***_time_out,如果把这一项屏蔽了,就不出现错误,这个会与中断冲突吗?为什么一加上这个函数就会出现这个错误呢?
|
|
8楼#
发布于:2002-11-13 10:38
net_device结构好像没有time_out啊,只有tx_timeout,而且通常网卡驱动都不用的。
|
|