Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 25 Mar 2007 13:48:58 -0400
From:      Nicolas Blais <nb_root@videotron.ca>
To:        freebsd-current@freebsd.org
Subject:   Re: Latest -current complete lockup (tcp changes?)
Message-ID:  <200703251348.58972.nb_root@videotron.ca>
In-Reply-To: <20070325165843.GA1558@kobe.laptop>
References:  <20070324124732.GA767@nagual.pp.ru> <20070325165843.GA1558@kobe.laptop>

next in thread | previous in thread | raw e-mail | index | archive | help
--nextPart5596178.avFzQm9Z5a
Content-Type: text/plain;
  charset="iso-8859-7"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

> The panic happens after a small amount of network activity, inside the
> TCP SACK code:
>
> -------------------------------------------------------------------------=
=2D-
> Physical memory: 495 MB
> Dumping 54 MB: 39 23 7
>
> #0  doadump () at pcpu.h:172
> 172     pcpu.h: No such file or directory.
>         in pcpu.h
> (kgdb) bt
> #0  doadump () at pcpu.h:172
> #1  0xc048043f in db_fncall (dummy1=3D-747300744, dummy2=3D0,
> dummy3=3D-1065545344, dummy4=3D0xd3751854 "@\037\206=C0") at
> /home/build/src/sys/ddb/db_command.c:486 #2  0xc048024b in db_command
> (last_cmdp=3D0xc07dec24, cmd_table=3D0x0) at
> /home/build/src/sys/ddb/db_command.c:401 #3  0xc0480306 in db_command_loop
> () at /home/build/src/sys/ddb/db_command.c:453 #4  0xc0481f51 in db_trap
> (type=3D3, code=3D0) at /home/build/src/sys/ddb/db_main.c:222 #5  0xc058a=
574 in
> kdb_trap (type=3D3, code=3D0, tf=3D0xd37519ec) at
> /home/build/src/sys/kern/subr_kdb.c:502 #6  0xc07164c9 in trap
> (frame=3D0xd37519ec) at /home/build/src/sys/i386/i386/trap.c:621 #7=20
> 0xc070041b in calltrap () at /home/build/src/sys/i386/i386/exception.s:139
> #8  0xc058a29b in kdb_enter (msg=3D0x12 <Address 0x12 out of bounds>) at
> cpufunc.h:60 #9  0xc056b628 in panic (fmt=3D0xc0776652 "%s: SACK invalid"=
) at
> /home/build/src/sys/kern/kern_shutdown.c:547 #10 0xc0627513 in
> tcp_sack_doack (tp=3D0xc300f740, to=3D0xd3751ac8, th_ack=3D3759729646) at
> /home/build/src/sys/netinet/tcp_sack.c:374 #11 0xc0623f88 in tcp_do_segme=
nt
> (m=3D0xc310ca00, th=3D0xc3140834, so=3D0xc3020570, tp=3D0xc300f740, drop_=
hdrlen=3D52,
> tlen=3D138) at /home/build/src/sys/netinet/tcp_input.c:1900 #12 0xc0622f0=
1 in
> tcp_input (m=3D0xc310ca00, off0=3D20) at
> /home/build/src/sys/netinet/tcp_input.c:1004 #13 0xc061c3a5 in ip_input
> (m=3D0xc310ca00) at /home/build/src/sys/netinet/ip_input.c:662 #14 0xc05e=
e3c4
> in netisr_dispatch (num=3D2, m=3D0x0) at /home/build/src/sys/net/netisr.c=
:278
> #15 0xc05e7f85 in ether_demux (ifp=3D0xc2a55800, m=3D0xc310ca00) at
> /home/build/src/sys/net/if_ethersubr.c:829 #16 0xc05e7dc5 in ether_input
> (ifp=3D0xc2a55800, m=3D0xc310ca00) at
> /home/build/src/sys/net/if_ethersubr.c:687 #17 0xc04bdb18 in fxp_intr_body
> (sc=3D0xc2a74000, ifp=3D0xc2a55800, statack=3D0 '\0', count=3D-1) at
> /home/build/src/sys/dev/fxp/if_fxp.c:1705 #18 0xc04bd871 in fxp_intr
> (xsc=3D0xc2a74000) at /home/build/src/sys/dev/fxp/if_fxp.c:1526 #19
> 0xc0556d85 in ithread_execute_handlers (p=3D0xc2a4f480, ie=3D0xc2976800) =
at
> /home/build/src/sys/kern/kern_intr.c:682 #20 0xc0556eab in ithread_loop
> (arg=3D0xc2a7bad0) at /home/build/src/sys/kern/kern_intr.c:766 #21 0xc055=
5e84
> in fork_exit (callout=3D0xc0556e44 <ithread_loop>, arg=3D0xc2a7bad0,
> frame=3D0xd3751d38) at /home/build/src/sys/kern/kern_fork.c:814 #22
> 0xc0700490 in fork_trampoline () at
> /home/build/src/sys/i386/i386/exception.s:205 (kgdb) up 10
> #10 0xc0627513 in tcp_sack_doack (tp=3D0xc300f740, to=3D0xd3751ac8,
> th_ack=3D3759729646) at /home/build/src/sys/netinet/tcp_sack.c:374 374   =
   =20
>      KASSERT(to->to_flags & TOF_SACK, ("%s: SACK invalid", __func__));
> (kgdb) list
> 369             struct sackhole *cur, *temp;
> 370             struct sackblk sack, sack_blocks[TCP_MAX_SACK + 1], *sblk=
p;
> 371             int i, j, num_sack_blks;
> 372
> 373             INP_LOCK_ASSERT(tp->t_inpcb);
> 374             KASSERT(to->to_flags & TOF_SACK, ("%s: SACK invalid",
> __func__)); 375
> 376             num_sack_blks =3D 0;
> 377             /*
> 378              * If SND.UNA will be advanced by SEG.ACK, and if SACK
> holes exist, (kgdb)
> -------------------------------------------------------------------------=
=2D-
>
> Disabling SACK lets me use my laptop again:
>
>     net.inet.tcp.sack.enable=3D0
>
> without any panics.

Same here. If you want to quickly crash your system,=20
net.inet.tcp.sack.enable=3D1 and start a torrent :)

I couldn't find what was causing my desktop to crash until I STOPPED trying=
 to=20
restart my torrent after boot :) . Though net.inet.tcp.sack.enable=3D0 fixe=
d=20
it.

Nicolas.

=2D-=20
=46reeBSD 7.0-CURRENT #17: Sun Mar 25 10:07:13 EDT 2007    =20
root@clk01a:/usr/obj/usr/src/sys/CLK01A=20
PGP? : http://plaintext.clkroot.net/security/nb_root.asc

--nextPart5596178.avFzQm9Z5a
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (FreeBSD)

iD8DBQBGBrYK4wTBlvcsbJURAto2AKCmfkFrHnhTed/eNgTkaEWKYJsjlQCfTVzO
KFSgUTUojrrhtzgHA2dTu54=
=kFja
-----END PGP SIGNATURE-----

--nextPart5596178.avFzQm9Z5a--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200703251348.58972.nb_root>