On Sat, 16 Dec 2006, Tai-hwa Liang wrote: >>>> Please open a PR that describes your configuration, includes your kernel >>>> config (since it seems quite customized), any loader.conf settings, a >>>> detailed description of the problem, and the output. I'd be quite >>>> interested >>> >>> Okay, I'll file a PR once I can collect more information with the serial >>> console(probably weekend). For now our system administrator is pretty >>> nervous about my suggestion on turning debug.mpsafenet back to 1. ;) >> >> Thanks. > > Okay, I filed the collected data as kern/106805. Looks to me that the > lockup does related to the WITNESS warning I've observed. Indeed, as you surmise, it looks like pf is holding a lock over entry to the network stack, which is a bad idea as pf locks normally follow most other locks in the network stack in the global lock order. Mark has assigned the PR to freebsd-pf, so hopefully it will be picked up there. If no one has picked it up in a couple of weeks, please ping me and I can investigate myself; since I don't use pf and am unfamiliar with the internals, it's probably better if someone who is an expert in pf internals takes the first cut at this. Thanks for the excellent problem report! Robert N M Watson Computer Laboratory University of Cambridge > > db> trace > Tracing pid 924 tid 100042 td 0xc653e480 > kdb_enter(c0685297) at kdb_enter+0x2b > siointr1(c6539400,c071fec0,0,c06850a1,56e,...) at siointr1+0xce > siointr(c6539400) at siointr+0x21 > intr_execute_handlers(c63ea4c8,e6c308d0,4,e6c30920,c0621693,...) at > intr_execute_handlers+0xe1 > lapic_handle_intr(38) at lapic_handle_intr+0x2e > Xapic_isr1() at Xapic_isr1+0x33 > --- interrupt, eip = 0xc04edf41, esp = 0xe6c30914, ebp = 0xe6c30920 --- > _mtx_lock_sleep(c698ce80,c653e480,0,c698a1b6,18f2) at _mtx_lock_sleep+0x115 > _mtx_lock_flags(c698ce80,0,c698a1b6,18f2,c698ce80,...) at > _mtx_lock_flags+0xa2 > pf_test(2,c64bb800,e6c30a78,0,c755d000,...) at pf_test+0x81 > pf_check_out(0,e6c30a78,c64bb800,2,c755d000) at pf_check_out+0x3d > pfil_run_hooks(c071a420,e6c30af4,c64bb800,2,c755d000,...) at > pfil_run_hooks+0xc9 > ip_output(c687d700,0,e6c30ac0,0,0,c755d000) at ip_output+0x83a > tcp_output(c7558740) at tcp_output+0xe0d > tcp_disconnect(c7558740) at tcp_disconnect+0xe0 > tcp_usr_disconnect(c72776f4,e6c30bf0,c0531e2c,c72776f4,c6edf480,...) at > tcp_usr_disconnect+0x6b > sodisconnect(c72776f4) at sodisconnect+0x26 > soclose(c72776f4) at soclose+0x48 > soo_close(c6edf480,c653e480) at soo_close+0x4b > fdrop_locked(c6edf480,c653e480,c63d5084,0,c0667839,...) at fdrop_locked+0x88 > fdrop(c6edf480,c653e480,6ac,c06d02e0,0,...) at fdrop+0x24 > closef(c6edf480,c653e480,0,0,39,...) at closef+0x367 > close(c653e480,e6c30d04) at close+0x1a6 > syscall(3b,3b,3b,0,39,...) at syscall+0x22f > Xint0x80_syscall() at Xint0x80_syscall+0x1f > --- syscall (6, FreeBSD ELF32, close), eip = 0x2830e9af, esp = 0xbfbe88dc, > ebp = 0xbfbe88f8 --- > > -- > Cheers, > > Tai-hwa Liang >Received on Sat Dec 16 2006 - 12:05:15 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:04 UTC