vimage kernel broken

Marko Zec zec at icir.org
Mon May 26 11:26:37 UTC 2008


On Saturday 24 May 2008 23:11:50 Kris Kennaway wrote:
> Julian Elischer wrote:
> > On May 24, 2008, at 8:30 AM, Kris Kennaway wrote:
> >> I tried to boot a kernel taken from the vimage p4 branch, but it
> >> panics when starting lockd during multiuser boot:
> >
> > this is believable.
> > Particularly as I see you are using IPv6 and I don't have IPv6 test
> > facilities.
> >
> > nlm? hmm what were you doing?
>
> As mentioned, just booting the system with rpc.lockd enabled in
> rc.conf. A kernel with IPv6 compiled in is all that's needed.

Hi,

I can't reproduce this with the latest p4 / vimage sources:

tca51% uname -a
FreeBSD tca51.tel.fer.hr 8.0-CURRENT FreeBSD 8.0-CURRENT #0: Mon May 26 
11:32:09 CEST 2008     
marko at tca51.tel.fer.hr:/u/marko/p4/vimage/src/sys/i386/compile/VIMAGE  
i386

tca51% ifconfig
bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 
1500
        options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
        ether 00:11:25:3b:89:76
        inet6 fe80::211:25ff:fe3b:8976%bge0 prefixlen 64 scopeid 0x2
        inet 192.168.200.51 netmask 0xffffff00 broadcast 192.168.200.255
        inet6 a:2::51 prefixlen 64
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
        inet 127.0.0.1 netmask 0xff000000

tca51% cat /etc/rc.conf
keyrate="fast"
moused_enable="YES"
ifconfig_bge0="inet 192.168.200.51/24"
hostname="tca51.tel.fer.hr"
sshd_enable="YES"
sendmail_enable="NONE"
syslogd_flags="-ss"

ipv6_enable="YES"
ipv6_network_interfaces="auto"
ipv6_defaultrouter="NO"
ipv6_ifconfig_bge0="a:2::51 prefixlen 64"

rpcbind_enable="YES"
nfs_client_enable="YES"
nfs_server_enable="YES"
rpc_statd_enable="YES"
rpc_lockd_enable="YES"

tca51% cat /etc/exports
/usr -ro

tca51% showmount
Hosts on localhost:
a:2::101

tca51% ps -ax|fgrep rpc
  581  ??  Is     0:00.03 /usr/sbin/rpcbind
  639  ??  Ss     0:01.57 /usr/sbin/rpc.statd
  645  ??  Ss     0:00.01 rpc.lockd: server (rpc.lockd)
  850  p0  R+     0:00.00 fgrep rpc


What is it that I'm missing to trigger this panic?

BTW capturing the output of "show pcpu" and "show vnets" from the KDB 
prompt would be useful.  In general, curvnet must point to a regular 
vnet structure while executing any networking code, otherwise it must 
be set to NULL.

Thanks,

Marko


> Kris
>
> >> Kris
> >>
> >> ----
> >> Starting lockd.
> >>
> >>
> >> Fatal trap 12: page fault while in kernel mode
> >> cpuid = 0; apic id = 00
> >> fault virtual address   = 0x0
> >> fault code              = supervisor read, page not present
> >> instruction pointer     = 0x20:0xc08afb8e
> >> stack pointer           = 0x28:0xc6f3f8a8
> >> frame pointer           = 0x28:0xc6f3f8fc
> >> 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         = 764 (rpc.lockd)
> >> [thread pid 764 tid 100047 ]
> >> Stopped at      sa6_recoverscope+0x7e:  movl    0(%eax),%edi
> >> db> wh
> >> Tracing pid 764 tid 100047 td 0xc71cbcc0
> >> sa6_recoverscope(c71e0c00,1c,2,0,c82c0c4c,...) at
> >> sa6_recoverscope+0x7e in6_sockaddr(0,c6f3f930,1f8,0,0,...) at
> >> in6_sockaddr+0x6d
> >> in6_getsockaddr(c833c318,c6f3f98c,c833c318,c6f3f9e8,c6f3f9a0,...)
> >> at in6_getsockaddr+0x89
> >> in6_mapped_sockaddr(c833c318,c6f3f98c,c71cbd64,c0afde50,c6f3f9a0,.
> >>..) at in6_mapped_sockaddr+0x5c
> >> __rpc_socket2sockinfo(c833c318,c6f3f9e8,c0c09db4,4,c0ad9548,...)
> >> at __rpc_socket2sockinfo+0x28
> >> clnt_dg_create(c833c318,c6f3faa4,186a0,4,0,...) at
> >> clnt_dg_create+0x3f nlm_get_rpc(c6f3fc04,1c,2,0,c7080800,...) at
> >> nlm_get_rpc+0xb8
> >> nlm_syscall(c71cbcc0,c6f3fcfc,10,c71cbcc0,c0b93370,...) at
> >> nlm_syscall+0x227
> >> syscall(c6f3fd38) at syscall+0x2a3
> >> Xint0x80_syscall() at Xint0x80_syscall+0x20
> >> --- syscall (154, FreeBSD ELF32, nlm_syscall), eip = 0x280e315b,
> >> esp = 0xbfbfedbc, ebp = 0xbfbfee88 ---




More information about the freebsd-virtualization mailing list