Re: ipfw: LOR/panic with uid rules

From: Stefan Ehmann <shoesoft_at_gmx.net>
Date: Thu, 25 Sep 2008 00:20:37 +0200
On Wednesday 24 September 2008 23:40:52 Robert Watson wrote:
> On Wed, 24 Sep 2008, Stefan Ehmann wrote:
> > > issues you reported? (Possibly I have missed other similar cases as
> > > well...)
> >
> > Thanks for the patch. Unfortunately the LORs and the panic still remain.
>
> Hmm.  Is it identical, or a different stack trace?  Could you tell me what
> $FreeBSD$ appears in your tcp_input.c?  (I've committed the patch since
> it's definitely necessary, even if it doesn't fix the specific instance of
> the problem you're seeing).

I cvsup-ed and noticed the patch is already committed. I double-checked after 
the problem was still there.

The LORs seem identical. The panic backtrace is slightly different (besides the 
double panic):

#0  doadump () at pcpu.h:221
221	pcpu.h: No such file or directory.
	in pcpu.h
(kgdb) bt
#0  doadump () at pcpu.h:221
#1  0xc07ee35e in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:418
#2  0xc07ee623 in panic (fmt=Variable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:572
#3  0xc07c6b63 in knote (list=0xc4b4a2c0, hint=0, islocked=1)
    at /usr/src/sys/kern/kern_event.c:1621
#4  0xc083b23e in tty_wakeup (tp=0xc4b4a200, flags=2)
    at /usr/src/sys/kern/tty.c:1172
#5  0xc0842ffb in ttydisc_wakeup_watermark (tp=0x0)
    at /usr/src/sys/kern/tty_ttydisc.c:1122
#6  0xc0843157 in ttydisc_getc (tp=0xc4b4a200, buf=0xc4732258, len=0)
    at /usr/src/sys/kern/tty_ttydisc.c:1142
#7  0xc06f6a74 in sctty_outwakeup (tp=0xc4b4a200)
    at /usr/src/sys/dev/syscons/syscons.c:323
#8  0xc06f6fdc in scgetc (sc=0xc0e81020, flags=3)
    at /usr/src/sys/dev/syscons/syscons.c:3280
#9  0xc06f7600 in sc_cngetc (cd=0xc0c3e080)
    at /usr/src/sys/dev/syscons/syscons.c:1607
#10 0xc083eb18 in cncheckc () at /usr/src/sys/kern/tty_cons.c:607
#11 0xc083eb56 in cngetc () at /usr/src/sys/kern/tty_cons.c:585
#12 0xc04bcf45 in db_readline (lstart=0xc0cc0ac0 "", lsize=120)
    at /usr/src/sys/ddb/db_input.c:326
#13 0xc04bd91a in db_read_line () at /usr/src/sys/ddb/db_lex.c:56
#14 0xc04bc076 in db_command_loop () at /usr/src/sys/ddb/db_command.c:497
#15 0xc04bda3d in db_trap (type=3, code=0) at /usr/src/sys/ddb/db_main.c:228
#16 0xc081b596 in kdb_trap (type=3, code=0, tf=0xc47324cc)
    at /usr/src/sys/kern/subr_kdb.c:534
#17 0xc0afeed6 in trap (frame=0xc47324cc) at /usr/src/sys/i386/i386/trap.c:694
#18 0xc0ae354b in calltrap () at /usr/src/sys/i386/i386/exception.s:165
#19 0xc081b71a in kdb_enter (why=0xc0baa06c "panic", msg=0xc0baa06c "panic")
    at cpufunc.h:70
#20 0xc07ee60c in panic (fmt=0xc0ba9b72 "%s (%s): wlock already held _at_ %s:%d")
    at /usr/src/sys/kern/kern_shutdown.c:556
#21 0xc07ecae6 in _rw_rlock (rw=0xc0e5a7ec, 
    file=0xc103beed "/usr/src/sys/modules/ipfw/../../netinet/ip_fw2.c", 
    line=2020) at /usr/src/sys/kern/kern_rwlock.c:283
#22 0xc103a92a in ipfw_chk (args=0xc4732894)
    at /usr/src/sys/modules/ipfw/../../netinet/ip_fw2.c:2020
#23 0xc103b4c8 in ipfw_check_out (arg=0x0, m0=0xc47329b8, ifp=0xc4b0a000, 
    dir=2, inp=0x0)
    at /usr/src/sys/modules/ipfw/../../netinet/ip_fw_pfil.c:253
#24 0xc0899038 in pfil_run_hooks (ph=0xc0e59ac0, mp=0xc4732a28, 
    ifp=0xc4b0a000, dir=2, inp=0x0) at /usr/src/sys/net/pfil.c:79
#25 0xc08e0fd2 in ip_output (m=0xc4db8600, opt=0x0, ro=0xc4732a30, flags=0, 
    imo=0x0, inp=0x0) at /usr/src/sys/netinet/ip_output.c:452
#26 0xc0943d95 in tcp_respond (tp=0x0, ipgen=0xc4dde016, th=0xc4dde02a, 
    m=0xc4db8600, ack=0, seq=1465052506, flags=Variable "flags" is not 
available.
)
    at /usr/src/sys/netinet/tcp_subr.c:611
#27 0xc093a955 in tcp_dropwithreset (m=0xc4db8600, th=0xc4dde02a, tp=0x0, 
    tlen=1440, rstreason=3) at /usr/src/sys/netinet/tcp_input.c:2552
#28 0xc093d874 in tcp_input (m=0xc4db8600, off0=20)
    at /usr/src/sys/netinet/tcp_input.c:888
#29 0xc08df5e0 in ip_input (m=0xc4db8600)
    at /usr/src/sys/netinet/ip_input.c:666
#30 0xc0898833 in netisr_dispatch (num=2, m=0xc4db8600)
    at /usr/src/sys/net/netisr.c:178
#31 0xc0892781 in ether_demux (ifp=0xc4b0a000, m=0xc4db8600)
    at /usr/src/sys/net/if_ethersubr.c:842
#32 0xc0892bef in ether_input (ifp=0xc4b0a000, m=0xc4db8600)
    at /usr/src/sys/net/if_ethersubr.c:700
#33 0xc0764ede in vr_intr (arg=0xc4b22000) at /usr/src/sys/dev/vr/if_vr.c:1414
#34 0xc07cfb55 in intr_event_execute_handlers (p=0xc48c07d4, ie=0xc4905a80)
    at /usr/src/sys/kern/kern_intr.c:1134
#35 0xc07d07cf in ithread_loop (arg=0xc4b29a00)
    at /usr/src/sys/kern/kern_intr.c:1147
#36 0xc07cd918 in fork_exit (callout=0xc07d0730 <ithread_loop>, 
    arg=0xc4b29a00, frame=0xc4732d38) at /usr/src/sys/kern/kern_fork.c:810
#37 0xc0ae35c0 in fork_trampoline () at /usr/src/sys/i386/i386/exception.s:270
Received on Wed Sep 24 2008 - 20:20:42 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:35 UTC