Project

General

Profile

Actions

Bug #1558

closed

vkernel stuck in umtxsl state when booting from a NFS root mount

Added by rumcic about 15 years ago. Updated over 14 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:

Description

When booting a vkernel with '-n 1' I'm not sure when was the last time that it
got stuck, while booting with '-n 2' fails in most if not all cases.

I can either get a useful backtrace:
0x080bccf2 in lwkt_process_ipiq () at /usr/src/sys/kern/lwkt_ipiq.c:471
471 for (n = 0; n < ncpus; ++n) {
Current language: auto; currently c
(gdb) bt
#0 0x080bccf2 in lwkt_process_ipiq () at /usr/src/sys/kern/lwkt_ipiq.c:471
#1 0x080bceb9 in lwkt_send_ipiq3 (target=0x41400000, func=0x80b1428
<systimer_intr>, arg1=0x83c958c, arg2=0) at /usr/src/sys/kern/lwkt_ipiq.c:189
#2 0x081dcc58 in vktimer_intr (dummy=0x0, frame=0x0)
at /usr/src/sys/platform/vkernel/platform/systimer.c:218
#3 0x081d70cd in kqueue_intr (arg=0x0, frame=0x0)
at /usr/src/sys/platform/vkernel/platform/kqueue.c:201
#4 0x08091df3 in ithread_handler (arg=0x1)
at /usr/src/sys/kern/kern_intr.c:807
#5 0x080bb547 in lwkt_deschedule_self (td=Cannot access memory at address 0x8
) at /usr/src/sys/kern/lwkt_thread.c:271

Or it gets stuck in umtxsl state and never does anything useful (and the
backtrace doesn't seem useful to me):
./kernel.debug m 128m -I
tap0:bridge0 -e 'boot.netif.ip=192.168.250.235:boot.netif.netmask=255.255.255.0:boot.netif.hwaddr="00:be:0e:1d:00:00":boot.nfsroot.server=192.168.250.1:boot.nfsroot.path=/var/vkernel/vkernel_root' -v -r
neki.img -r neki2.img -n 2
Using memory file: /var/vkernel/memimg.000000
KVM mapped at 0x40000000-0x80000000
TAP UNIT 0
Copyright (c) 2003-2009 The DragonFly Project.
Copyright (c) 1992-2003 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
Slab ZoneSize set to 64KB
Leaving critical section, allowing interrupts
DragonFly v2.5.1.25.gec87c-DEVELOPMENT #64: Mon Oct 5 11:08:28 CEST 2009
:/usr/obj/usr/src/sys/MYVKERNEL
real memory = 134217728 (131072K bytes)
avail memory = 127180800 (124200K bytes)
DragonFly/MP: Multiprocessor
cpu0 (BSP)
cpu1 (AP)
initclocks
Finish MP startup
SMP: AP CPU #1 Launched!
Active CPU Mask: 00000003
objcache(exec-args): too small for ncpus, adjusting cluster_limit 16
>32
start scheduler helpers on cpus: 0 1
start dummy scheduler helpers on cpus: 0 1
vkd0: type 0xa5, start 1048576, end = 1048575, size 0
vkd0: C/H/S start 1/0/1 (0) != start 1048576: invalid
vkd0: C/H/S end 0/0/0 (4294967295) != end 1048575: invalid
vkd1: type 0xa5, start 1048576, end = 1048575, size 0
vkd1: C/H/S start 1/0/1 (0) != start 1048576: invalid
vkd1: C/H/S end 0/0/0 (4294967295) != end 1048575: invalid
vke0: bpf attached
vke0: MAC address: 00:be:0e:1d:00:00
md0: Malloc disk
Device configuration finished.
lo0: bpf attached
ip: MPSAFE
arp: MPSAFE
PXE: Warning, no NFS handle passed from loader
vinum: loaded
Mounting root from nfs:
nfs_mountroot: interface vke0 ip 192.168.250.235 bcast 192.168.250.255 mask
255.255.255.0
NFS_ROOT: 192.168.250.1:/var/vkernel/vkernel_root
NFS_ROOT: No FH passed from loader, attempting mount rpc...success!
Mounting devfs
start_init: trying /sbin/init
load: 0.07 cmd: sh 2 [getblk] 0.00u 0.00s 0% 504k
load: 0.07 cmd: sh 2 [getblk] 0.00u 0.00s 0% 504k
load: 0.07 cmd: sh 2 [getblk] 0.00u 0.00s 0% 504k

on host machine top shows:
94798 root 152 0 1030M 11192K umtxsl 0 0:00 0.00% 0.00% kernel.debug

gdb ./kernel.debug 94798
GNU gdb 6.7.1
Copyright (C) 2007 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i386-dragonfly"...
Attaching to program: /usr/obj/usr/src/sys/MYVKERNEL/kernel.debug, process
94798
Reading symbols from /usr/lib/libthread_xu.so.2...done.
Loaded symbols for /usr/lib/libthread_xu.so.2
Reading symbols from /usr/lib/libc.so.7...done.
Loaded symbols for /usr/lib/libc.so.7
Reading symbols from /usr/libexec/ld-elf.so.2...done.
Loaded symbols for /usr/libexec/ld-elf.so.2
0x282a9223 in umtx_sleep () at umtx_sleep.S:2
2 RSYSCALL
(gdb) bt
#0 0x282a9223 in umtx_sleep () at umtx_sleep.S:2
#1 0x081d3cb9 in cpu_idle ()
at /usr/src/sys/platform/vkernel/i386/cpu_regs.c:722
#2 0x00000000 in ?? ()
Current language: auto; currently asm
--
Regards,
Rumko

Actions

Also available in: Atom PDF