Re: Oops in 2.2.15pre7

From: Oleg Drokin (green@ccssu.ccssu.crimea.ua)
Date: Sat Feb 19 2000 - 16:25:53 EST


Hello!

Halvard Moe wrote:

> Oleg> I do not know is somebody told you or not, but please
> Oleg> retrieve backtrace too. Do that by makin sure "Call Trace:
> Oleg> ..." starts from new line and rerun ksymoops. It seems you
> Oleg> hitting SMP race somewhere. But it is hard to tell where it
> Oleg> came from without backtrace, too.
> No nobody has commented on the request at all. Anyway I did as you
> proposed and put Call trace on a new line, the result is appended to
> the end of the mail. I'm not an expert on interpreting this kind of
> output but it seems to me that the tulip driver is involved (All four
> of the machines have Kingston KNE100TX ethernet cards (Tulip chip) and
> therefore uses the tulip driver).
Nope, I think that tulip has nothing to do with that.
Try patch at the end of this letter, it definitely should help you.

ALAN: What do you think about backporting of locking on Fasync_list
from 2.3 to 2.2, is that needed?

> Should I repost with the Trace output or is this problem/solution
> known? If I can avoid the problem by changin ethernet cards that's
> totally acceptable to me.
No need for both, as I CC: this to linux-kernel myself.

> >>EIP: 80131dd8 <kill_fasync+c/44>
> Trace: 80169be3 <tcp_write_space+4f/54>
> Trace: 8015ccaf <sock_wfree+17/1c>
> Trace: 8015d642 <__kfree_skb+36/a0>
> Trace: a089260c <tulip_interrupt+1ec/61c>
> Trace: 80173188 <raw_v4_lookup+20/70>
> Trace: 8016580e <ip_local_deliver+16a/1b8>
> Trace: 8010b5d2 <handle_IRQ_event+5a/8c>
> Trace: 80110022 <do_level_ioapic_IRQ+62/a0>
> Code: 80131dd8 <kill_fasync+c/44> 00000000 <_EIP>: <===
> Code: 80131dd8 <kill_fasync+c/44> 0: 81 3b 01 46 00 00 cmpl $0x4601,(%ebx) <===
> Code: 80131dde <kill_fasync+12/44> 6: 74 10 je 80131df0 <kill_fasync+24/44>
> Code: 80131de0 <kill_fasync+14/44> 8: 68 a0 f0 1e 80 pushl $0x801ef0a0
> Code: 80131de5 <kill_fasync+19/44> d: e8 32 43 fe ff call 8011611c <printk+0/184>
> Code: 80131dea <kill_fasync+1e/44> 12: 83 c4 00 addl $0x0,%esp

--- net/socket.c.orig Sat Feb 19 23:15:54 2000
+++ net/socket.c Sat Feb 19 23:17:09 2000
@@ -561,7 +561,8 @@
                 /* fall through */
         case 0:
         call_kill:
- kill_fasync(sock->fasync_list, SIGIO);
+ if(sock->fasync_list != NULL)
+ kill_fasync(sock->fasync_list, SIGIO);
                 break;
         }
         return 0;

Bye,
    Oleg

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Feb 23 2000 - 21:00:24 EST