看板 DFBSD_bugs 關於我們 聯絡資訊
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 root@zeus.rumko.net:/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(umtx_sleep) (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