svn commit: r215166 - in head: . sys/conf sys/netinet sys/netinet/cc sys/sys

Lawrence Stewart lstewart at freebsd.org
Sat Nov 13 11:15:07 UTC 2010


On 11/13/10 20:40, Mikolaj Golub wrote:
> 
> On Fri, 12 Nov 2010 06:41:56 +0000 (UTC) Lawrence Stewart wrote:
> 
>  LS> Author: lstewart
>  LS> Date: Fri Nov 12 06:41:55 2010
>  LS> New Revision: 215166
>  LS> URL: http://svn.freebsd.org/changeset/base/215166
> 
>  LS> Log:
>  LS>   This commit marks the first formal contribution of the "Five New TCP Congestion
>  LS>   Control Algorithms for FreeBSD" FreeBSD Foundation funded project. More details
>  LS>   about the project are available at: http://caia.swin.edu.au/freebsd/5cc/
> 
> It looks like the code needs improvement to work with VIMAGE :-)
> 
> options VIMAGE
> 
> jail -i -c vnet persist path=/
> 
> panic: lock "cc_list" 0xc101c418 already initialized
> 
> #0  doadump () at pcpu.h:231
> #1  0xc04f26b9 in db_fncall (dummy1=-1064234614, dummy2=0, dummy3=-1, 
>     dummy4=0xca54b688 "\234╤Tй") at /usr/src/sys/ddb/db_command.c:548
> #2  0xc04f2aef in db_command (last_cmdp=0xc0e7957c, cmd_table=0x0, dopager=0)
>     at /usr/src/sys/ddb/db_command.c:445
> #3  0xc04f2ba4 in db_command_script (command=0xc0e7a484 "call doadump")
>     at /usr/src/sys/ddb/db_command.c:516
> #4  0xc04f6df0 in db_script_exec (scriptname=0xca54b794 "kdb.enter.panic", warnifnotfound=Variable "warnifnotfound" is not available.)
>     at /usr/src/sys/ddb/db_script.c:302
> #5  0xc04f6ed7 in db_script_kdbenter (eventname=0xc0d2410e "panic")
>     at /usr/src/sys/ddb/db_script.c:324
> #6  0xc04f4b28 in db_trap (type=3, code=0) at /usr/src/sys/ddb/db_main.c:228
> #7  0xc0910fbe in kdb_trap (type=3, code=0, tf=0xca54b918) at /usr/src/sys/kern/subr_kdb.c:546
> #8  0xc0c3d7c6 in trap (frame=0xca54b918) at /usr/src/sys/i386/i386/trap.c:732
> #9  0xc0c2647c in calltrap () at /usr/src/sys/i386/i386/exception.s:168
> #10 0xc091118a in kdb_enter (why=0xc0d2410e "panic", msg=0xc0d2410e "panic") at cpufunc.h:71
> #11 0xc08dcd14 in panic (fmt=0xc0d27986 "lock \"%s\" %p already initialized")
>     at /usr/src/sys/kern/kern_shutdown.c:574
> #12 0xc0911bd4 in lock_init (lock=0xc147b204, class=0xc0e23a00, name=0xc0d3f215 "cc_list", 
>     type=0x0, flags=2228224) at /usr/src/sys/kern/subr_lock.c:81
> #13 0xc08daf5d in rw_init_flags (rw=0xc101c418, name=0xc0d3f215 "cc_list", opts=0)
>     at /usr/src/sys/kern/kern_rwlock.c:195
> #14 0xc0a0d0c2 in cc_init () at /usr/src/sys/netinet/cc/cc.c:182
> #15 0xc0a7a4fd in tcp_init () at /usr/src/sys/netinet/tcp_subr.c:281
> #16 0xc0940e59 in protosw_init (pr=0x0) at /usr/src/sys/kern/uipc_domain.c:157
> #17 0xc0940e87 in domain_init (arg=0xc0e34280) at /usr/src/sys/kern/uipc_domain.c:174
> #18 0xc0940ee1 in vnet_domain_init (arg=0xc0e34280) at /usr/src/sys/kern/uipc_domain.c:190
> #19 0xc09adb2e in vnet_sysinit () at /usr/src/sys/net/vnet.c:625
> #20 0xc09ae1ef in vnet_alloc () at /usr/src/sys/net/vnet.c:254
> #21 0xc08ba41a in kern_jail_set (td=0xc306d870, optuio=0xc2d66a80, flags=0)
>     at /usr/src/sys/kern/kern_jail.c:1244
> #22 0xc08bbd00 in jail_set (td=0xc306d870, uap=0xca54bcec) at /usr/src/sys/kern/kern_jail.c:489
> #23 0xc091e903 in syscallenter (td=0xc306d870, sa=0xca54bce4)
>     at /usr/src/sys/kern/subr_trap.c:318
> #24 0xc0c3cebf in syscall (frame=0xca54bd28) at /usr/src/sys/i386/i386/trap.c:1095
> #25 0xc0c26511 in Xint0x80_syscall () at /usr/src/sys/i386/i386/exception.s:266
> #26 0x00000033 in ?? ()
> 

Gah, didn't occur to me that cc_init() could be called multiple times. I
think I know how to fix it but probably won't get to look at this until
tomorrow.

Thanks for the report.

Cheers,
Lawrence


More information about the svn-src-all mailing list