Panic in RELENG_7_1 with fxp(4)

Brandon Weisz lists at avioc.org
Mon Jan 5 12:33:56 UTC 2009


Pyun YongHyeon wrote:
> On Sat, Jan 03, 2009 at 10:16:58PM -0800, Garrett Cooper wrote:
>  > On Jan 3, 2009, at 5:17 PM, Brandon Weisz wrote:
>  > 
>  > >After running 7-PRERELEASE from around November 25th, I upgraded  
>  > >today to find the system panics repeatably on RELENG_7_1 sources.  I  
>  > >can boot back to the old kernel and it operates as expected.  It  
>  > >seems to be related to fxp(4).
>  > >
>  > >FreeBSD didy.internal 7.1-RELEASE FreeBSD 7.1-RELEASE #0: Sat Jan  3
>  > >18:11:18 CST 2009     bweisz at didy.internal:/usr/obj/usr/src/sys/ 
>  > >DIDY  i386
>  > >

....

>  > >
>  > >I replaced the fxp(4) card with an old xl(4) card lying on my desk  
>  > >and the panics stopped.  Is this a failing nic card or some other  
>  > >trigger?
>  > >
>  > >Brandon
>  > 
>  > Memory serves me correctly an MFC was done not too long before 7.1  
>  > release was setup.
>  > 
> 
> I don't know what MFCes were done, at least I didn't MFC any
> changes I made.
> 
>  > Let's see what Pyun says...
>  > 
> 
> I'm not sure what is root cause of this panic. If you can reliably
> reproduce the panic would you let me know?
> CURRENT has a couple of fixes for edge-cases as well as some new
> hardware features(TSO, VLAN hardware tagging and WOL etc). Would
> you try latest fxp(4) in HEAD?
> I think you can use cvsweb interface to get latest files.
> http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/fxp/if_fxp.c
> http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/fxp/if_fxpreg.h
> http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/fxp/if_fxpvar.h
> 

Hi Pyun

The system reliably panics on boot up.  I tested fxp from HEAD with the 
same result.

7.1-RELEASE = Panic
7.1-RELEASE with fxp from HEAD = Panic
7.1-PRERELEASE from Tue Nov 25 = operates as expected

This is an old card.  Some details on the card:

fxp0: <Intel 82559 Pro/100 Ethernet> port 0xd100-0xd13f mem 
0xfca03000-0xfca03fff,0xfc800000-0xfc8fffff irq 17 at device 9.0 on pci0
miibus0: <MII bus> on fxp0
inphy0: <i82555 10/100 media interface> PHY 1 on miibus0
inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp0: Ethernet address: 00:d0:b7:6c:1c:0a
fxp0: [ITHREAD]

fxp0 at pci0:0:9:0:	class=0x020000 card=0x000b8086 chip=0x12298086 rev=0x08 
hdr=0x00
     vendor     = 'Intel Corporation'
     device     = '82550/1/7/8/9 EtherExpress PRO/100(B) Ethernet Adapter'
     class      = network
     subclass   = ethernet

As a test, I unplugged the ethernet cable and the system booted fully, 
however it produced a panic as soon as I connected the cable.  This 
backtrace is from 7.1-RELEASE with fxp sources from HEAD.

Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address	= 0x40c
fault code		= supervisor read, page not present
instruction pointer	= 0x20:0xc0a950d0
stack pointer	        = 0x28:0xe4418750
frame pointer	        = 0x28:0xe4418764
code segment		= base 0x0, limit 0xfffff, type 0x1b
			= DPL 0, pres 1, def32 1, gran 1
processor eflags	= interrupt enabled, resume, IOPL = 0
current process		= 23 (irq17: fxp0)
trap number		= 12
panic: page fault
cpuid = 0
Uptime: 1m33s
Physical memory: 995 MB
Dumping 179 MB: 164 148 132 116 100 84 68 52 36 20 4

Reading symbols from /boot/kernel/vesa.ko...Reading symbols from 
/boot/kernel/vesa.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/vesa.ko
Reading symbols from /boot/kernel/accf_http.ko...Reading symbols from 
/boot/kernel/accf_http.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/accf_http.ko
Reading symbols from /boot/kernel/acpi.ko...Reading symbols from 
/boot/kernel/acpi.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/acpi.ko
Reading symbols from /boot/kernel/pflog.ko...Reading symbols from 
/boot/kernel/pflog.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/pflog.ko
Reading symbols from /boot/kernel/pf.ko...Reading symbols from 
/boot/kernel/pf.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/pf.ko
Reading symbols from /boot/kernel/nullfs.ko...Reading symbols from 
/boot/kernel/nullfs.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/nullfs.ko
Reading symbols from /boot/kernel/logo_saver.ko...Reading symbols from 
/boot/kernel/logo_saver.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/logo_saver.ko
#0  doadump () at pcpu.h:196
196		__asm __volatile("movl %%fs:0,%0" : "=r" (td));
(kgdb) list *0xc0a950d0
0xc0a950d0 is in _bus_dmamap_sync 
(/usr/src.local/sys/i386/i386/busdma_machdep.c:935).
930			CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x op 0x%x "
931			    "performing bounce", __func__, op, dmat, dmat->flags);
932	
933			if (op & BUS_DMASYNC_PREWRITE) {
934				while (bpage != NULL) {
935					bcopy((void *)bpage->datavaddr,
936					      (void *)bpage->vaddr,
937					      bpage->datacount);
938					bpage = STAILQ_NEXT(bpage, links);
939				}
(kgdb) bt
#0  doadump () at pcpu.h:196
#1  0xc079cd77 in boot (howto=260) at 
/usr/src.local/sys/kern/kern_shutdown.c:418
#2  0xc079d049 in panic (fmt=Variable "fmt" is not available.
) at /usr/src.local/sys/kern/kern_shutdown.c:574
#3  0xc0ab0f7c in trap_fatal (frame=0xe4418710, eva=1036) at 
/usr/src.local/sys/i386/i386/trap.c:939
#4  0xc0ab1200 in trap_pfault (frame=0xe4418710, usermode=0, eva=1036) 
at /usr/src.local/sys/i386/i386/trap.c:852
#5  0xc0ab1bbc in trap (frame=0xe4418710) at 
/usr/src.local/sys/i386/i386/trap.c:530
#6  0xc0a97a2b in calltrap () at 
/usr/src.local/sys/i386/i386/exception.s:159
#7  0xc0a950d0 in _bus_dmamap_sync (dmat=0xc4048880, map=0xc416e800, 
op=4) at /usr/src.local/sys/i386/i386/busdma_machdep.c:933
#8  0xc05cc72f in fxp_start_body (ifp=0xc4163000) at 
/usr/src.local/sys/dev/fxp/if_fxp.c:1525
#9  0xc05cd0f7 in fxp_start (ifp=0xc4163000) at 
/usr/src.local/sys/dev/fxp/if_fxp.c:1263
#10 0xc0831649 in if_start (ifp=0xc4163000) at 
/usr/src.local/sys/net/if.c:2768
#11 0xc083808b in ether_output_frame (ifp=0xc4163000, m=0xc43a3b00) at 
/usr/src.local/sys/net/if_ethersubr.c:405
#12 0xc083863c in ether_output (ifp=0xc4163000, m=0xc43a3b00, 
dst=0xc423b730, rt0=0xc4489364) at /usr/src.local/sys/net/if_ethersubr.c:374
#13 0xc087ecd5 in ip_output (m=0xc43a3b00, opt=0x0, ro=0xe44189ac, 
flags=Variable "flags" is not available.
) at /usr/src.local/sys/netinet/ip_output.c:554
#14 0xc08dfb6e in tcp_output (tp=0xc63651d0) at 
/usr/src.local/sys/netinet/tcp_output.c:1135
#15 0xc08dc995 in tcp_do_segment (m=0xc4178000, th=0xc41b2834, 
so=0xc633cd00, tp=0xc63651d0, drop_hdrlen=60, tlen=0) at 
/usr/src.local/sys/netinet/tcp_input.c:2358
#16 0xc08dd95e in tcp_input (m=0xc4178000, off0=20) at 
/usr/src.local/sys/netinet/tcp_input.c:846
#17 0xc087d190 in ip_input (m=0xc4178000) at 
/usr/src.local/sys/netinet/ip_input.c:665
#18 0xc08428f5 in netisr_dispatch (num=2, m=0xc4178000) at 
/usr/src.local/sys/net/netisr.c:185
#19 0xc0838861 in ether_demux (ifp=0xc4163000, m=0xc4178000) at 
/usr/src.local/sys/net/if_ethersubr.c:834
#20 0xc0838c53 in ether_input (ifp=0xc4163000, m=0xc4178000) at 
/usr/src.local/sys/net/if_ethersubr.c:692
#21 0xc05cd96c in fxp_intr (xsc=0xc4134000) at 
/usr/src.local/sys/dev/fxp/if_fxp.c:1945
#22 0xc077bd7b in ithread_loop (arg=0xc41609b0) at 
/usr/src.local/sys/kern/kern_intr.c:1088
#23 0xc07788e9 in fork_exit (callout=0xc077bbc0 <ithread_loop>, 
arg=0xc41609b0, frame=0xe4418d38) at /usr/src.local/sys/kern/kern_fork.c:804
#24 0xc0a97aa0 in fork_trampoline () at 
/usr/src.local/sys/i386/i386/exception.s:264
(kgdb)

Regards,

Brandon


More information about the freebsd-stable mailing list