any vm gurus in the house? :) (was: Fatal trap 12, at use qemu)

Juergen Lock nox at jelal.kn-bremen.de
Sun Apr 1 20:00:47 UTC 2007


In article <460D7A37.9080408 at dobrohot.org> you write:
>http://www.freebsd.org/cgi/query-pr.cgi?pr=110892
>
>Crash of system at use of the emulator "qemu"
>
>$ pkg_info -E kqemu\* qemu\*
>kqemu-kmod-1.3.0.p11
>qemu-0.9.0
>
>$ kldload aio
>$ kldload kqemu
>$ qemu -boot c -m 256 \
>-hda /usr/EMULATORS/BOCHS/disk0.img \
>-net nic,model=rtl8139 \
>-net tap \
>-std-vga \
>-soundhw es1370 \
>-win2k-hack \
>-kernel-kqemu
>
>Guest system on qemu - WinXP.

(looking at the pr...)  object is NULL, anyone have an idea how that
could have happened?  (You seem to be low on ram, maybe kqemu is
stressing the vm system in an unusual way in that case?  btw kqemu
no longer is closed source now...)  Also, is this an smp box?
You could try a few things while we wait for insights from vm gurus:
- a kernel with options INVARIANTS and maybe also WITNESS
- reducing the ram shortage by using smaller -m args to qemu,
a lighter wm, etc. (or adding ram :)
- a patch to the kqemu-kmod port to try and lower the number
of locked pages: (maybe call it files/patch-lockedpages)

Index: kqemu-freebsd.c
@@ -466,7 +466,7 @@
     switch (type) {
     case MOD_LOAD:
 	printf("kqemu version 0x%08x\n", KQEMU_VERSION);
-	max_locked_pages = physmem / 2;
+	max_locked_pages = physmem / 4;
         kqemu_gs = kqemu_global_init(max_locked_pages);
 #if __FreeBSD_version < 500000
 	if ((rc = cdevsw_add(&kqemu_cdevsw))) {

- you could also try the qemu-devel port, although i dont think
the kqemu related parts have changed...

	Juergen


More information about the freebsd-hackers mailing list