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_at_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 _at__at_ -598,20 +598,23 _at__at_ 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 */Received on Thu Sep 30 2004 - 03:17:32 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:14 UTC