Look like IPFilter problem

Artem Gelun gelun at awax.ru
Wed Oct 24 08:14:22 PDT 2007


IPNat and IPFilter are enabled.
IPFW rules are empty.

#uname -a
FreeBSD gw1.awax.corp 6.3-PRERELEASE FreeBSD 6.3-PRERELEASE #15: Wed Oct 24
10:05:34 MSD 2007     gelun at gw1.awax.corp:/usr/src/sys/i386/compile/GW  i386

OPTIONS Part of kernel config file

makeoptions     DEBUG=-g                # Build kernel with gdb(1) debug
symbols
options         KDB
options         KDB_UNATTENDED
options         SCHED_4BSD              # 4BSD scheduler
options         PREEMPTION              # Enable kernel thread preemption
options         INET                    # InterNETworking
#options        INET6                   # IPv6 communications protocols
options         FFS                     # Berkeley Fast Filesystem
options         SOFTUPDATES             # Enable FFS soft updates support
options         UFS_ACL                 # Support for access control lists
options         UFS_DIRHASH             # Improve performance on big
directories
options         MD_ROOT                 # MD is a potential root device
options         NFSCLIENT               # Network Filesystem Client
options         NFSSERVER               # Network Filesystem Server
options         NFS_ROOT                # NFS usable as /, requires
NFSCLIENT
#options        MSDOSFS                 # MSDOS Filesystem
options         CD9660                  # ISO 9660 Filesystem
options         PROCFS                  # Process filesystem (requires
PSEUDOFS)
options         PSEUDOFS                # Pseudo-filesystem framework
options         GEOM_GPT                # GUID Partition Tables.
options         COMPAT_43               # Compatible with BSD 4.3 [KEEP
THIS!]
options         COMPAT_FREEBSD4         # Compatible with FreeBSD4
options         COMPAT_FREEBSD5         # Compatible with FreeBSD5
#options        SCSI_DELAY=5            # Delay (in ms) before probing SCSI
options         KTRACE                  # ktrace(1) support
options         SYSVSHM                 # SYSV-style shared memory
options         SYSVMSG                 # SYSV-style message queues
options         SYSVSEM                 # SYSV-style semaphores
options         _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time
extensions
options         KBD_INSTALL_CDEV        # install a CDEV entry in /dev
options         ADAPTIVE_GIANT          # Giant mutex is adaptive.


##

options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=100

options         IPFILTER
options         IPFILTER_LOG

#options         SC_DISABLE_REBOOT
options         MAXUSERS=1024
options         TCP_DROP_SYNFIN


kgdb 

(kgdb) where
#0  doadump () at pcpu.h:165
#1  0xc057ff0c in boot (howto=260) at ../../../kern/kern_shutdown.c:409
#2  0xc058028d in panic (fmt=0xc077e63f "sleeping thread") at
../../../kern/kern_shutdown.c:565
#3  0xc05a8a0c in propagate_priority (td=0xc55b9a80) at
../../../kern/subr_turnstile.c:209
#4  0xc05a93ef in turnstile_wait (lock=0xc07f58c0, owner=0x0, queue=0) at
../../../kern/subr_turnstile.c:715
#5  0xc05744ac in _mtx_lock_sleep (m=0xc07f58c0, tid=3311114112, opts=0,
file=0x0, line=0) at ../../../kern/kern_mutex.c:579
#6  0xc0443648 in fr_check (ip=0xc5e7d740, hlen=20, ifp=0x0, out=1,
mp=0xdd9a6b20) at ../../../contrib/ipfilter/netinet/fil.c:2320
#7  0xc0448f6c in fr_check_wrapper (arg=0x0, mp=0x0, ifp=0x0, dir=2) at
../../../contrib/ipfilter/netinet/ip_fil_freebsd.c:171
#8  0xc0618008 in pfil_run_hooks (ph=0xc0804fa0, mp=0xdd9a6b94,
ifp=0xc5735c00, dir=2, inp=0xc5db1924) at ../../../net/pfil.c:139
#9  0xc06349c0 in ip_output (m=0xc5e7d700, opt=0xc5735c00, ro=0xdd9a6b60,
flags=0, imo=0x0, inp=0xc5db1924) at ../../../netinet/ip_output.c:679
#10 0xc063ef11 in tcp_output (tp=0xc5de3000) at
../../../netinet/tcp_output.c:1080
#11 0xc0644e2a in tcp_timer_rexmt (xtp=0xc5de3000) at
../../../netinet/tcp_timer.c:537
#12 0xc058fa16 in softclock (dummy=0x0) at ../../../kern/kern_timeout.c:290
#13 0xc0564098 in ithread_execute_handlers (p=0xc55b8a78, ie=0xc5660280) at
../../../kern/kern_intr.c:682
#14 0xc0564216 in ithread_loop (arg=0xc55816b0) at
../../../kern/kern_intr.c:765
#15 0xc0562b0f in fork_exit (callout=0xc05641a0 <ithread_loop>, arg=0x0,
frame=0x0) at ../../../kern/kern_fork.c:830
#16 0xc072d86c in fork_trampoline () at ../../../i386/i386/exception.s:208
(kgdb) up 3
#3  0xc05a8a0c in propagate_priority (td=0xc55b9a80) at
../../../kern/subr_turnstile.c:209
209                             panic("sleeping thread");
(kgdb) up 1
#4  0xc05a93ef in turnstile_wait (lock=0xc07f58c0, owner=0x0, queue=0) at
../../../kern/subr_turnstile.c:715
715             propagate_priority(td);
(kgdb) p td
$1 = (struct thread *) 0xc55b9780
(kgdb) up 1
#5  0xc05744ac in _mtx_lock_sleep (m=0xc07f58c0, tid=3311114112, opts=0,
file=0x0, line=0) at ../../../kern/kern_mutex.c:579
579                     turnstile_wait(&m->mtx_object, mtx_owner(m),
(kgdb) p m->mtx_object
$2 = {lo_class = 0xc07d3404, lo_name = 0xc076a034 "ipf filter load/unload
mutex", lo_type = 0xc076a034 "ipf filter load/unload mutex", lo_flags =
196608,
  lo_list = {tqe_next = 0x0, tqe_prev = 0x0}, lo_witness = 0x0}
(kgdb) p m
$3 = (struct mtx *) 0xc07f58c0
(kgdb) p *m
$4 = {mtx_object = {lo_class = 0xc07d3404, lo_name = 0xc076a034 "ipf filter
load/unload mutex", lo_type = 0xc076a034 "ipf filter load/unload mutex",
    lo_flags = 196608, lo_list = {tqe_next = 0x0, tqe_prev = 0x0},
lo_witness = 0x0}, mtx_lock = 3311114882, mtx_recurse = 0}
(kgdb) up 1
#6  0xc0443648 in fr_check (ip=0xc5e7d740, hlen=20, ifp=0x0, out=1,
mp=0xdd9a6b20) at ../../../contrib/ipfilter/netinet/fil.c:2320
2320            READ_ENTER(&ipf_global);
(kgdb) p ipf_global
$5 = {ipf_lkun_s = {ipf_slk = {mtx_object = {lo_class = 0xc07d3404, lo_name
= 0xc076a034 "ipf filter load/unload mutex",
        lo_type = 0xc076a034 "ipf filter load/unload mutex", lo_flags =
196608, lo_list = {tqe_next = 0x0, tqe_prev = 0x0}, lo_witness = 0x0},
      mtx_lock = 3311114882, mtx_recurse = 0}, ipf_lname = 0x0, ipf_sr = 0,
ipf_sw = 0, ipf_magic = 0}, ipf_emu = {eMrw_owner = 0xc07d3404 "s-x-\t",
    eMrw_heldin = 0xc076a034 "ipf filter load/unload mutex", eMrw_magic =
3228999732, eMrw_read = 0, eMrw_write = 3, eMrw_heldat = 0}}
(kgdb) quit

Thank you.
Artem Gelun
Awax Telecom system administrator.





More information about the freebsd-hackers mailing list