Re: -BETA6 panic with xorp multicast routing daemon
From: Robert Watson (rwatson_at_freebsd.org)
Date: 09/30/04
- Previous message: Sean McNeil: "Careful with bind9 and ldap"
- In reply to: Dikshie: "-BETA6 panic with xorp multicast routing daemon"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Thu, 30 Sep 2004 01:16:30 -0400 (EDT) To: Dikshie <dikshie@ppk.itb.ac.id>
On Thu, 30 Sep 2004, Dikshie wrote:
> I got my -BETA6 panic when run xorp routing daemon.
> Panic: mutex Giant not owned at /usr/src/sys/netinet/ip_mroute.c:2672
>
> I've included:
> options MROUTING
> options PIM
> for multicast purpose and:
>
> options KDB
> options KDB_TRACE
> options DDB #Enable the kernel debugger
> options DDB_NUMSYM
> options GDB
>
> for debugging. but my box didnt save core to /var/crash.
> any suggestions ?
>From the nature of the panic, it sounds like you're running with
NET_WITH_GIANT, debug.mpsafenet=0 in loader.conf, or that the setting has
been forced by running with a kernel component that relies on Giant over
the network stack?
Try the attached patch, please.
Robert N M Watson FreeBSD Core Team, TrustedBSD Projects
robert@fledge.watson.org Principal Research Scientist, McAfee Research
Index: ip_mroute.c
===================================================================
RCS file: /home/ncvs/src/sys/netinet/ip_mroute.c,v
retrieving revision 1.108
diff -u -r1.108 ip_mroute.c
--- ip_mroute.c 27 Aug 2004 18:33:07 -0000 1.108
+++ ip_mroute.c 30 Sep 2004 05:00:17 -0000
@@ -598,20 +598,23 @@
static void
ip_mrouter_reset(void)
{
+ int callout_flag;
+
bzero((caddr_t)mfctable, sizeof(mfctable));
bzero((caddr_t)nexpire, sizeof(nexpire));
pim_assert = 0;
mrt_api_config = 0;
- callout_init(&expire_upcalls_ch, CALLOUT_MPSAFE);
+ callout_flag = debug_mpsafenet ? CALLOUT_MPSAFE : 0;
+ callout_init(&expire_upcalls_ch, callout_flag);
bw_upcalls_n = 0;
bzero((caddr_t)bw_meter_timers, sizeof(bw_meter_timers));
- callout_init(&bw_upcalls_ch, CALLOUT_MPSAFE);
- callout_init(&bw_meter_ch, CALLOUT_MPSAFE);
+ callout_init(&bw_upcalls_ch, callout_flag);
+ callout_init(&bw_meter_ch, callout_flag);
- callout_init(&tbf_reprocess_ch, CALLOUT_MPSAFE);
+ callout_init(&tbf_reprocess_ch, callout_flag);
}
static struct mtx mrouter_mtx; /* used to synch init/done work */
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
- Previous message: Sean McNeil: "Careful with bind9 and ldap"
- In reply to: Dikshie: "-BETA6 panic with xorp multicast routing daemon"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]