Date: Sun, 21 Jan 1996 22:52:02 -0600 (CST) From: "Mike Pritchard" <mpp@mpp.minn.net> To: freebsd-current@freebsd.org Subject: Re: Fatal double fault Message-ID: <199601220452.WAA00260@mpp.minn.net> In-Reply-To: <199601220259.UAA00228@mpp.minn.net> from "Mike Pritchard" at Jan 21, 96 08:59:23 pm
next in thread | previous in thread | raw e-mail | index | archive | help
Mike Pritchard wrote:
>
> The interesting this is that my machine died just at the same point
> where I've been having lockups when starting my PPP connection.
> For the past several days or so I've been getting lockup where
> everything is sleeping on "lockrd" (something in the vm code)
> just as my PPP connection is established. I suspect that the above
> crash is related.
After some playing around, I came up with a little shell script
that will lock my machine up consistently, although it doesn't
look like the same hang as above. If you run about 4 of these:
#!/bin/sh
while [ 1 ]
do
(
ifconfig ppp0 up
ipfw addf ldeny all from 10.1.1.1 via ppp0
) &
(
ifconfig ppp0 inet 204.157.201.242 204.157.201.18 down
ipfw flush firewall >/dev/null 2>&1 /dev/null &
)
done
the machine will eventually lock up. A little poking around with
the debugger shows that it is looping in netinet/in.c in in_control,
around line 390 or so:
/*
* Multicast address kludge:
* If there were any multicast addresses attached to this
* interface address, either move them to another address
* on this interface, or save them until such time as this
* interface is reconfigured for IP.
*/
IFP_TO_IA(oia->ia_ifp, ia);
if (ia) { /* there is another address */
struct in_multi *inm;
for(inm = oia->ia_multiaddrs.lh_first; inm;
inm = inm->inm_entry.le_next) {
IFAFREE(&inm->inm_ia->ia_ifa);
ia->ia_ifa.ifa_refcnt++;
inm->inm_ia = ia;
LIST_INSERT_HEAD(&ia->ia_multiaddrs, inm,
inm_entry);
}
FREE(mk, M_IPMADDR);
} else { /* last address on this if deleted, save */
struct in_multi *inm;
Here is some netstat & ifconfig output:
Script started on Sun Jan 21 22:43:55 1996
1% netstat -rn
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
127.0.0.1 127.0.0.1 UH 1 0 lo0
204.157.201.5 204.157.201.242 UH 0 0 ppp0
204.157.201.242 127.0.0.1 UGHS 0 0 lo0
224/4 204.157.201.242 US 0 0 ppp0
2% ifconfig ppp0
ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
inet 204.157.201.242 --> 204.157.201.5 netmask 0xffffff00
3% exit
Script done on Sun Jan 21 22:44:05 1996
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199601220452.WAA00260>
