[libvirt] qemu error: Could not allocate dynamic translator buffer

Richard W.M. Jones rjones at redhat.com
Tue Nov 8 13:20:11 UTC 2011


I'm getting a very odd error from qemu:

2011-11-08 13:06:03.403: starting up
LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin QEMU_AUDIO_DRV=none /usr/bin/qemu-system-x86_64 -S -M pc-0.14 -no-kvm -m 1024 -smp 1,sockets=1,cores=1,threads=1 -name fedora15_x86_64 -uuid a88161b0-c4c9-42bf-a7b5-5bccf8b65197 -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/fedora15_x86_64.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-reboot -kernel /var/lib/libvirt/images/fedora15_x86_64-kernel -initrd /var/lib/libvirt/images/fedora15_x86_64-ramdisk -append method=http://mirror.bytemark.co.uk/fedora/linux/releases/15/Fedora/x86_64/os/ ks=file:/ks.cfg -drive file=/var/lib/libvirt/images/fedora15_x86_64.dsk,if=none,id=drive-virtio-disk0,format=raw -device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0 -netdev tap,fd=24,id=hostnet0 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:26:9f:d6,bus=pci.0,addr=0x3 -chardev socket,id=charserial0,host=127.0.0.1,port=64900,server,nowait -device isa-serial,chardev=charserial0,id=serial0 -usb -vnc 127.0.0.1:0 -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
Could not allocate dynamic translator buffer
2011-11-08 13:06:04.062: shutting down

Now I understand that qemu gives this error when it cannot allocate
memory, specifically it can't mmap a TCG translation buffer.  800 MBytes
according to the source code.

However the guest where I'm running this command has plenty of free
memory available:

$ free -m
             total       used       free     shared    buffers     cached
Mem:          5659        872       4787          0         26        351
-/+ buffers/cache:        493       5166
Swap:         1983          0       1983

That's surely easily enough for 1G of RAM + a translation buffer?

Anyway, my question is this: Can I somehow get libvirt to strace qemu
and put that output somewhere?  I tried the strace trick here:

https://fedoraproject.org/wiki/How_to_debug_Virtualization_problems#strace

but for some reason it doesn't trace into the qemu process.  Not sure
why, since surely the qemu process is a child of libvirtd?

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming blog: http://rwmj.wordpress.com
Fedora now supports 80 OCaml packages (the OPEN alternative to F#)
http://cocan.org/getting_started_with_ocaml_on_red_hat_and_fedora




More information about the libvir-list mailing list