Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 May 2006 10:53:36 +0400
From:      Andrej Zverev <az@FreeBSD.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   i386/97679: panic in ifconfig
Message-ID:  <E1FiQls-0005GO-5S@sunner.elcomnet.ru>
Resent-Message-ID: <200605230700.k4N70aMf016656@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         97679
>Category:       i386
>Synopsis:       panic in ifconfig
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-i386
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue May 23 07:00:35 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Andrej Zverev
>Release:        FreeBSD 6.1-RELEASE i386
>Organization:
>Environment:
System: FreeBSD sunner.elcomnet.ru 6.1-RELEASE FreeBSD 6.1-RELEASE #1: Sat May 13 23:45:05 MSD 2006 root@sunner.elcomnet.ru:/usr/obj/usr/src/sys/SUNNER i386


	
>Description:
	Trying run ifconfig at the moment then other ifconfig trying to create,
	assign ip to interface produce kernel panic
	
>How-To-Repeat:
	try write scipt, like this
	#!/usr/bin/perl
	for ($i=1; $i<4000; $i++)
	{
		system ("ifconfig create vlan$i");
		system ("ifconfig vlan$i vlan $i vlandev $parent");
		system ("ifconfig vlan$i 10.10.10.10/32");
	}

	run it, and on another terminal try run ifconfig and in one moment
	you will see panic. I don't have fix, but in Fix section avalible 
	panic trace.
	If you need any extra information, just ask.

	
>Fix:

	

--- vlans_panic.txt begins here ---
az# kgdb kernel.debug /var/crash/vmcore.1 
[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".

Unread portion of the kernel message buffer:


Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x0
fault code              = supervisor read, page not present
instruction pointer     = 0x20:0xc070e4e2
stack pointer           = 0x28:0xd6423b34
frame pointer           = 0x28:0xd6423b78
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         = 19341 (ifconfig)
trap number             = 12
panic: page fault
Uptime: 4m35s
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
165             __asm __volatile("movl %%fs:0,%0" : "=r" (td));
(kgdb) bt
#0  doadump () at pcpu.h:165
#1  0xc06900f5 in boot (howto=260) at ../../../kern/kern_shutdown.c:402
#2  0xc069038c in panic (fmt=0xc08dbb5c "%s") at ../../../kern/kern_shutdown.c:558
#3  0xc0886f64 in trap_fatal (frame=0xd6423af4, eva=0) at ../../../i386/i386/trap.c:836
#4  0xc0886ccb in trap_pfault (frame=0xd6423af4, usermode=0, eva=0) at ../../../i386/i386/trap.c:744
#5  0xc0886909 in trap (frame=
      {tf_fs = -1066401784, tf_es = 40, tf_ds = 40, tf_edi = -989071360, tf_esi = 0, tf_ebp = -700302472, tf_isp = -700302560, tf_ebx = 76, tf_edx = -984264704, tf_ecx = 0, tf_eax = 2514, tf_trapno = 12, tf_err = 0, tf_eip = -1066343198, tf_cs = 32, tf_eflags = 66118, tf_esp = -996640256, tf_ss = 0}) at ../../../i386/i386/trap.c:434
#6  0xc0875e6a in calltrap () at ../../../i386/i386/exception.s:139
#7  0xc070e4e2 in sysctl_iflist (af=0, w=0xd6423b94) at ../../../net/rtsock.c:1085
#8  0xc070ea59 in sysctl_rtsock (oidp=0xc09747c0, arg1=0xd6423c7c, arg2=4, req=0x0) at ../../../net/rtsock.c:1228
#9  0xc0697def in sysctl_root (oidp=0x0, arg1=0xd6423c7c, arg2=4, req=0xd6423c04) at ../../../kern/kern_sysctl.c:1285
#10 0xc0697fec in userland_sysctl (td=0x9d2, name=0xd6423c74, namelen=6, old=0xd6423c04, oldlenp=0xbfbfdadc, inkernel=0, new=0x0, newlen=2514, retval=0xd6423c70, flags=2514)
    at ../../../kern/kern_sysctl.c:1384
#11 0xc0697e8f in __sysctl (td=0xc3863480, uap=0xd6423d04) at ../../../kern/kern_sysctl.c:1319
#12 0xc088727b in syscall (frame=
      {tf_fs = 59, tf_es = 135397435, tf_ds = -1078001605, tf_edi = 6, tf_esi = -1077945636, tf_ebp = -1077945768, tf_isp = -700301980, tf_ebx = 672425224, tf_edx = 134889472, tf_ecx = -1077945632, tf_eax = 202, tf_trapno = 12, tf_err = 2, tf_eip = 672277867, tf_cs = 51, tf_eflags = 658, tf_esp = -1077945828, tf_ss = 59}) at ../../../i386/i386/trap.c:981
#13 0xc0875ebf in Xint0x80_syscall () at ../../../i386/i386/exception.s:200
#14 0x00000033 in ?? ()
Previous frame inner to this frame (corrupt stack?)


(kgdb) f 1
#1  0xc06900f5 in boot (howto=260) at ../../../kern/kern_shutdown.c:402
402                     doadump();
(kgdb) f 2
#2  0xc069038c in panic (fmt=0xc08dbb5c "%s") at ../../../kern/kern_shutdown.c:558
558             boot(bootopt);
(kgdb) f 3
#3  0xc0886f64 in trap_fatal (frame=0xd6423af4, eva=0) at ../../../i386/i386/trap.c:836
836                     panic("%s", trap_msg[type]);
(kgdb) f 4
#4  0xc0886ccb in trap_pfault (frame=0xd6423af4, usermode=0, eva=0) at ../../../i386/i386/trap.c:744
744                     trap_fatal(frame, eva);
(kgdb) f 5
#5  0xc0886909 in trap (frame=
      {tf_fs = -1066401784, tf_es = 40, tf_ds = 40, tf_edi = -989071360, tf_esi = 0, tf_ebp = -700302472, tf_isp = -700302560, tf_ebx = 76, tf_edx = -984264704, tf_ecx = 0, tf_eax = 2514, tf_trapno = 12, tf_err = 0, tf_eip = -1066343198, tf_cs = 32, tf_eflags = 66118, tf_esp = -996640256, tf_ss = 0}) at ../../../i386/i386/trap.c:434
434                             (void) trap_pfault(&frame, FALSE, eva);
(kgdb) f 6
#6  0xc0875e6a in calltrap () at ../../../i386/i386/exception.s:139
139             call    trap
Current language:  auto; currently asm
(kgdb) f 7
#7  0xc070e4e2 in sysctl_iflist (af=0, w=0xd6423b94) at ../../../net/rtsock.c:1085
1085                    ifa = ifaddr_byindex(ifp->if_index);
Current language:  auto; currently c
(kgdb) f 8
#8  0xc070ea59 in sysctl_rtsock (oidp=0xc09747c0, arg1=0xd6423c7c, arg2=4, req=0x0) at ../../../net/rtsock.c:1228
1228                    error = sysctl_iflist(af, &w);
(kgdb) f 9
#9  0xc0697def in sysctl_root (oidp=0x0, arg1=0xd6423c7c, arg2=4, req=0xd6423c04) at ../../../kern/kern_sysctl.c:1285
1285            error = oid->oid_handler(oid, arg1, arg2, req);
(kgdb) f 10
#10 0xc0697fec in userland_sysctl (td=0x9d2, name=0xd6423c74, namelen=6, old=0xd6423c04, oldlenp=0xbfbfdadc, inkernel=0, new=0x0, newlen=2514, retval=0xd6423c70, flags=2514)
    at ../../../kern/kern_sysctl.c:1384
1384                    error = sysctl_root(0, name, namelen, &req);
(kgdb) f 11
#11 0xc0697e8f in __sysctl (td=0xc3863480, uap=0xd6423d04) at ../../../kern/kern_sysctl.c:1319
1319            error = userland_sysctl(td, name, uap->namelen,
(kgdb) f 12
#12 0xc088727b in syscall (frame=
      {tf_fs = 59, tf_es = 135397435, tf_ds = -1078001605, tf_edi = 6, tf_esi = -1077945636, tf_ebp = -1077945768, tf_isp = -700301980, tf_ebx = 672425224, tf_edx = 134889472, tf_ecx = -1077945632, tf_eax = 202, tf_trapno = 12, tf_err = 2, tf_eip = 672277867, tf_cs = 51, tf_eflags = 658, tf_esp = -1077945828, tf_ss = 59}) at ../../../i386/i386/trap.c:981
981                     error = (*callp->sy_call)(td, args);
--- vlans_panic.txt ends here ---


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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E1FiQls-0005GO-5S>