Re: page fault on today's CURRENT (tcp_usr_accept)

From: Robert Watson <rwatson_at_FreeBSD.org>
Date: Mon, 3 Apr 2006 10:54:00 +0100 (BST)
On Mon, 3 Apr 2006, Ganbold wrote:

> I've got page fault on today's CURRENT.

After looking at tcp_usr_accept(), I certainly see *a* bug, which might be the 
one you've run into.  I've committed what I believe is the fix as 
tcp_usrreq.c:1.134.  Could you pull that down and see if life gets better?

Basically, there was erroneous handling of a connection that has been 
disconnected while sitting in the accept queue before the application manages 
to call accept() on it (indeed, a race).

Robert N M Watson

>
> Fatal trap 12: page fault while in kernel mode
> fault virtual address                  = 0xa0
> fault code                                    = supervisor write, page not 
> present
> instructon pointer                     = 0x20: 0xc062bbde
> stack pointer                              = 0x28: 0xcc8efc10
> frame pointer                              = 0x28: 0xcc8efc2c
> code segment                              = base 0x0, limit 0xfffff, type 
> 0x1b
>                                                     =DPL 0, pres 1, def32 1, 
> gran 1
> processor eflags                        = interrupt enabled, resume, IOPL = 0
> current process                        = 435 (smbd)
> [thread pid 435 tid 100039]
> stopped at tcp_usr_accept+0xd6:    cmpxchgl   %ecx, 0xa0(%ebx)
>
> I'm running samba (samba-3.0.21b,1) on this test machine and there is no 
> load.
>
> FreeBSD gw.micom.mng.net 7.0-CURRENT FreeBSD 7.0-CURRENT #16: Mon Apr  3 
> 14:15:48 ULAST 2006     tsgan_at_gw.micom.mng.net:/usr/obj/usr/src/sys/GW  i386
>
> Ganbold
>
>
>
Received on Mon Apr 03 2006 - 07:54:02 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:54 UTC