kern/73719: Page fault in bpf_mtap ()

Vladimir Ivanov wawa at yandex-team.ru
Tue Nov 9 12:20:38 PST 2004


The following reply was made to PR kern/73719; it has been noted by GNATS.

From: Vladimir Ivanov <wawa at yandex-team.ru>
To: Maxim Konovalov <maxim at macomnet.ru>
Cc: bug-followup at freebsd.org
Subject: Re: kern/73719: Page fault in bpf_mtap ()
Date: Tue, 09 Nov 2004 23:12:48 +0300

 >> I don't think so. I can't say that GIANT affects system stability
 >> significantly.
 >> Anyway, we've found a bug and this bug may be fixed (e.g. with above
 >> patch).  Why not ?
 >> :-)
 >>    
 >>
 >
 >Because I do not understand what is the root of the bug and what your
 >diff fixes, do you?
 >
 >  
 >
 Hura!
 I've found my kernel debug info.
 So, we can see full picture ( bp == NULL !).
 
 
 [GDB will not be able to debug user-mode threads: 
 /usr/lib/libthread_db.so: Undefined symbol "ps_pglobal_lookup"]
 GNU gdb 6.1.1 [FreeBSD]
 Copyright 2004 Free Software Foundation, Inc.
 GDB is free software, covered by the GNU General Public License, and you are
 welcome to change it and/or distribute copies of it under certain 
 conditions.
 Type "show copying" to see the conditions.
 There is absolutely no warranty for GDB. Type "show warranty" for details.
 This GDB was configured as "i386-marcel-freebsd".
 doadump () at pcpu.h:159
 (kgdb) bt full
 #0 doadump () at pcpu.h:159
 No locals.
 #1 0xc04f44a6 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:397
 first_buf_printf = 1
 #2 0xc04f4854 in panic (fmt=0xc0648063 "%s") at 
 /usr/src/sys/kern/kern_shutdown.c:553
 td = (struct thread *) 0xc1ef0190
 bootopt = 260
 newpanic = 0
 ap = 0xc1ef0190 " ЧНа╟\034Ха"
 buf = "page fault", '\0' <repeats 245 times>
 #3 0xc062a951 in trap_fatal (frame=0xe4a98be4, eva=0) at 
 /usr/src/sys/i386/i386/trap.c:809
 code = 16
 type = 12
 ss = 16
 esp = 0
 softseg = {ssd_base = 0, ssd_limit = 1048575, ssd_type = 27, ssd_dpl = 
 0, ssd_p = 1, ssd_xx = 8, ssd_xx1 = 0, ssd_def32 = 1,
 ssd_gran = 1}
 #4 0xc062a648 in trap_pfault (frame=0xe4a98be4, usermode=0, eva=8) at 
 /usr/src/sys/i386/i386/trap.c:727
 va = 0
 vm = (struct vmspace *) 0x0
 map = 0xc0699540
 rv = 1
 ftype = 1 '\001'
 td = (struct thread *) 0xc1ef0190
 p = (struct proc *) 0xc1eefe20
 #5 0xc062a22d in trap (frame=
 {tf_fs = -983629800, tf_es = -1037172720, tf_ds = -458686448, tf_edi = 
 -1032472574, tf_esi = -1040689152, tf_ebp = -458650556, tf_isp = 
 -458650608, tf_ebx = 2048, tf_edx = 64, tf_ecx = 1514, tf_eax = 0, 
 tf_trapno = 12, tf_err = 0, tf_eip = -1068069940, tf_cs = 8, tf_eflags = 
 66182, tf_esp = -1003791136, tf_ss = 32}) at 
 /usr/src/sys/i386/i386/trap.c:417
 td = (struct thread *) 0xc1ef0190
 p = (struct proc *) 0xc1eefe20
 sticks = 0
 i = 0
 ucode = 0
 type = 12
 code = 0
 eva = 8
 #6 0xc0616c2a in calltrap () at /usr/src/sys/i386/i386/exception.s:140
 No locals.
 #7 0xc55f0018 in ?? ()
 No symbol table info available.
 #8 0xc22e0010 in ?? ()
 No symbol table info available.
 #9 0xe4a90010 in ?? ()
 No symbol table info available.
 #10 0xc275b802 in ?? ()
 No symbol table info available.
 #11 0xc1f85800 in ?? ()
 No symbol table info available.
 #12 0xe4a98c44 in ?? ()
 No symbol table info available.
 #13 0xe4a98c10 in ?? ()
 No symbol table info available.
 #14 0x00000800 in ?? ()
 No symbol table info available.
 #15 0x00000040 in ?? ()
 No symbol table info available.
 #16 0x000005ea in ?? ()
 ---Type <return> to continue, or q <return> to quit---
 No symbol table info available.
 #17 0x00000000 in ?? ()
 No symbol table info available.
 #18 0x0000000c in ?? ()
 No symbol table info available.
 #19 0x00000000 in ?? ()
 No symbol table info available.
 #20 0xc0568bcc in bpf_mtap (bp=0x0, m=0xc2740c00) at 
 /usr/src/sys/net/bpf.c:1214
 d = (struct bpf_d *) 0x800
 pktlen = 3262494722
 slen = 0
 #21 0xc056fafd in ether_input (ifp=0xc1f85800, m=0xc2740c00) at 
 /usr/src/sys/net/if_ethersubr.c:543
 eh = (struct ether_header *) 0xc275b802
 etype = 2048
 #22 0xc0480cd1 in em_process_receive_interrupts (adapter=0xc1f85800, 
 count=-5) at /usr/src/sys/dev/em/if_em.c:2867
 ifp = (struct ifnet *) 0xc1f85800
 mp = (struct mbuf *) 0xc42b5ce0
 accept_frame = 1 '\001'
 eop = 1 '\001'
 len = 64
 desc_len = 0
 prev_len_adj = 0
 i = 3251
 current_desc = (struct em_rx_desc *) 0xe4c2cb30
 #23 0xc047d9ff in em_intr (arg=0xc1f85800) at 
 /usr/src/sys/dev/em/if_em.c:1016
 loop_cnt = 3
 reg_icr = 0
 ifp = (struct ifnet *) 0xc1f85800
 adapter = (struct adapter *) 0xc1f85800
 #24 0xc04dc01f in ithread_loop (arg=0xc1e78a00) at 
 /usr/src/sys/kern/kern_intr.c:547
 ithd = (struct ithd *) 0xc1e78a00
 ih = (struct intrhand *) 0xc1fad940
 td = (struct thread *) 0xc1ef0190
 p = (struct proc *) 0xc1eefe20
 count = 0
 warming = 0
 warned = 0
 #25 0xc04dadb3 in fork_exit (callout=0xc04dbe7b <ithread_loop>, arg=0x0, 
 frame=0x0) at /usr/src/sys/kern/kern_fork.c:811
 p = (struct proc *) 0xc1eefe20
 td = (struct thread *) 0x0
 #26 0xc0616c8c in fork_trampoline () at 
 /usr/src/sys/i386/i386/exception.s:209
 No locals.
 
 


More information about the freebsd-bugs mailing list