kern/102974: if_rl on cardbus panic

Andrej Zverev andrey.zverev at electro-com.ru
Thu Sep 7 12:33:00 UTC 2006


>Number:         102974
>Category:       kern
>Synopsis:       if_rl on cardbus panic
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Sep 07 12:30:24 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Andrej Zverev
>Release:        
>Organization:
>Environment:
System: FreeBSD az.electro-com.ru 6.1-STABLE FreeBSD (stable from today)


	
>Description:
	
>How-To-Repeat:
	
>Fix:

	

--- p5.txt begins here ---
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".

Unread portion of the kernel message buffer:
rl1: <RealTek 8139 10/100BaseTX> port 0x5100-0x51ff mem 0xbc00a000-0xbc00a1ff irq 16 at device 0.0 on cardbus0


Fatal trap 12: page fault while in kernel mode
fault virtual address	= 0x10
fault code		= supervisor read, page not present
instruction pointer	= 0x20:0xc06d78e4
stack pointer	        = 0x28:0xd3ffaaf8
frame pointer	        = 0x28:0xd3ffaaf8
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		= 31 (cbb0)
trap number		= 12
panic: page fault
Uptime: 2m15s
Dumping 502 MB (2 chunks)
  chunk 0: 1MB (159 pages) ... ok
  chunk 1: 502MB (128480 pages) 486 470 454 438 422 406 390 374 358 342 326 310 294 278 262 246 230 214 198 182 166 150 134 118 102 86 70 54 38 22 6

#0  doadump () at pcpu.h:165
	in pcpu.h
(kgdb) bt
#0  doadump () at pcpu.h:165
#1  0xc0671262 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:409
#2  0xc06714f8 in panic (fmt=0xc08d6d63 "%s")
    at /usr/src/sys/kern/kern_shutdown.c:565
#3  0xc08812d4 in trap_fatal (frame=0xd3ffaab8, eva=16)
    at /usr/src/sys/i386/i386/trap.c:837
#4  0xc088103b in trap_pfault (frame=0xd3ffaab8, usermode=0, eva=16)
    at /usr/src/sys/i386/i386/trap.c:745
#5  0xc0880c79 in trap (frame=
      {tf_fs = 8, tf_es = 40, tf_ds = -629538776, tf_edi = 0, tf_esi = -1014712320, tf_ebp = -738219272, tf_isp = -738219292, tf_ebx = -1064566843, tf_edx = 16, tf_ecx = 0, tf_eax = 16, tf_trapno = 12, tf_err = 0, tf_eip = -1066567452, tf_cs = 32, tf_eflags = 590406, tf_esp = -738219068, tf_ss = -1066876136})
    at /usr/src/sys/i386/i386/trap.c:435
#6  0xc086f3fa in calltrap () at /usr/src/sys/i386/i386/exception.s:139
#7  0xc06d78e4 in strlen (str=0x10 <Address 0x10 out of bounds>)
    at /usr/src/sys/libkern/strlen.c:41
#8  0xc068c318 in kvprintf (fmt=0xc08bffc5 ": ", func=0xc068ba7c <putchar>, 
    arg=0xd3ffabe0, radix=10, ap=0xd3ffac04 "è\003")
    at /usr/src/sys/kern/subr_prf.c:681
#9  0xc068b9f7 in printf (fmt=0xc08bffc3 "%s: ")
    at /usr/src/sys/kern/subr_prf.c:297
#10 0xc06de8e9 in if_printf (ifp=0x0, 
    fmt=0xc08eaf08 "reset never completed!\n") at /usr/src/sys/net/if.c:2202
#11 0xc0787047 in rl_reset (sc=0xc384b800) at /usr/src/sys/pci/if_rl.c:721
#12 0xc0787392 in rl_attach (dev=0xc38c6380) at /usr/src/sys/pci/if_rl.c:844
#13 0xc0686558 in device_attach (dev=0xc38c6380) at device_if.h:177
#14 0xc06864f8 in device_probe_and_attach (dev=0xc38c6380)
    at /usr/src/sys/kern/subr_bus.c:2336
#15 0xc050d0de in cardbus_attach_card (cbdev=0xc334ec80)
    at /usr/src/sys/dev/cardbus/cardbus.c:500
#16 0xc05a53e2 in cbb_insert (sc=0xc3384800) at card_if.h:82
#17 0xc05a51d7 in cbb_event_thread (arg=0xc3384800)
    at /usr/src/sys/dev/pccbb/pccbb.c:488
#18 0xc065b6e4 in fork_exit (callout=0xc05a5090 <cbb_event_thread>, 
    arg=0xc3384800, frame=0xd3ffad38) at /usr/src/sys/kern/kern_fork.c:821
#19 0xc086f45c in fork_trampoline () at /usr/src/sys/i386/i386/exception.s:208
(kgdb)  
(kgdb) f 0
#0  doadump () at pcpu.h:165
165	in pcpu.h
(kgdb) f 1
#1  0xc0671262 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:409
409			doadump();
(kgdb) f 2
#2  0xc06714f8 in panic (fmt=0xc08d6d63 "%s")
    at /usr/src/sys/kern/kern_shutdown.c:565
565		boot(bootopt);
(kgdb) f 3
#3  0xc08812d4 in trap_fatal (frame=0xd3ffaab8, eva=16)
    at /usr/src/sys/i386/i386/trap.c:837
837			panic("%s", trap_msg[type]);
(kgdb) f 4
#4  0xc088103b in trap_pfault (frame=0xd3ffaab8, usermode=0, eva=16)
    at /usr/src/sys/i386/i386/trap.c:745
745			trap_fatal(frame, eva);
(kgdb) f 5
#5  0xc0880c79 in trap (frame=
      {tf_fs = 8, tf_es = 40, tf_ds = -629538776, tf_edi = 0, tf_esi = -1014712320, tf_ebp = -738219272, tf_isp = -738219292, tf_ebx = -1064566843, tf_edx = 16, tf_ecx = 0, tf_eax = 16, tf_trapno = 12, tf_err = 0, tf_eip = -1066567452, tf_cs = 32, tf_eflags = 590406, tf_esp = -738219068, tf_ss = -1066876136})
    at /usr/src/sys/i386/i386/trap.c:435
435				(void) trap_pfault(&frame, FALSE, eva);
(kgdb) f 6
#6  0xc086f3fa in calltrap () at /usr/src/sys/i386/i386/exception.s:139
139		call	trap
Current language:  auto; currently asm
(kgdb) f 7
#7  0xc06d78e4 in strlen (str=0x10 <Address 0x10 out of bounds>)
    at /usr/src/sys/libkern/strlen.c:41
41		for (s = str; *s; ++s);
Current language:  auto; currently c
(kgdb) f 8
#8  0xc068c318 in kvprintf (fmt=0xc08bffc5 ": ", func=0xc068ba7c <putchar>, 
    arg=0xd3ffabe0, radix=10, ap=0xd3ffac04 "è\003")
    at /usr/src/sys/kern/subr_prf.c:681
681					n = strlen (p);
(kgdb) f 9
#9  0xc068b9f7 in printf (fmt=0xc08bffc3 "%s: ")
    at /usr/src/sys/kern/subr_prf.c:297
297		retval = kvprintf(fmt, putchar, &pca, 10, ap);
(kgdb) f 10
#10 0xc06de8e9 in if_printf (ifp=0x0, 
    fmt=0xc08eaf08 "reset never completed!\n") at /usr/src/sys/net/if.c:2202
2202		retval = printf("%s: ", ifp->if_xname);
(kgdb) f 11
#11 0xc0787047 in rl_reset (sc=0xc384b800) at /usr/src/sys/pci/if_rl.c:721
721			if_printf(sc->rl_ifp, "reset never completed!\n");
(kgdb) f 12
#12 0xc0787392 in rl_attach (dev=0xc38c6380) at /usr/src/sys/pci/if_rl.c:844
844		rl_reset(sc);
(kgdb) f 13
#13 0xc0686558 in device_attach (dev=0xc38c6380) at device_if.h:177
	in device_if.h
(kgdb) f 13
#13 0xc0686558 in device_attach (dev=0xc38c6380) at device_if.h:177
177	in device_if.h
(kgdb) f 14
#14 0xc06864f8 in device_probe_and_attach (dev=0xc38c6380)
    at /usr/src/sys/kern/subr_bus.c:2336
2336		error = device_attach(dev);
(kgdb) f 15
#15 0xc050d0de in cardbus_attach_card (cbdev=0xc334ec80)
    at /usr/src/sys/dev/cardbus/cardbus.c:500
500				if (device_probe_and_attach(child) != 0)
(kgdb) f 16
#16 0xc05a53e2 in cbb_insert (sc=0xc3384800) at card_if.h:82
	in card_if.h
(kgdb) f 16
#16 0xc05a53e2 in cbb_insert (sc=0xc3384800) at card_if.h:82
82	in card_if.h
(kgdb) f 17
#17 0xc05a51d7 in cbb_event_thread (arg=0xc3384800)
    at /usr/src/sys/dev/pccbb/pccbb.c:488
488				cbb_insert(sc);
(kgdb) f 18
#18 0xc065b6e4 in fork_exit (callout=0xc05a5090 <cbb_event_thread>, 
    arg=0xc3384800, frame=0xd3ffad38) at /usr/src/sys/kern/kern_fork.c:821
821		callout(arg, frame);
(kgdb) f 19
#19 0xc086f45c in fork_trampoline () at /usr/src/sys/i386/i386/exception.s:208
208		call	fork_exit
Current language:  auto; currently asm
(kgdb) quit
--- p5.txt ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list