Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
For bugs related to Red Hat Enterprise Linux 5 product line. The current stable release is 5.10. For Red Hat Enterprise Linux 6 and above, please visit Red Hat JIRA https://issues.redhat.com/secure/CreateIssue!default.jspa?pid=12332745 to report new issues.

Bug 586426

Summary: Cannot install KVM guest with more than 4079 Mb memory
Product: Red Hat Enterprise Linux 5 Reporter: Chris St. Pierre <cstpierr>
Component: kvmAssignee: Gleb Natapov <gleb>
Status: CLOSED NOTABUG QA Contact: Eduardo Habkost <ehabkost>
Severity: medium Docs Contact:
Priority: low    
Version: 5.5CC: knoel, llange, virt-maint, xen-maint, ykaul
Target Milestone: rcKeywords: Reopened, Triaged
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-02-01 10:04:16 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 580946    

Description Chris St. Pierre 2010-04-27 14:38:09 UTC
Description of problem:

Attempting to install a new KVM guest with 4080 Mb of memory or more results in qemu-kvm segfaulting and the guest is not created.

Version-Release number of selected component (if applicable):

python-virtinst-0.400.3-9.el5
libvirt-0.6.3-33.el5
kvm-83-164.el5
kmod-kvm-83-164.el5

How reproducible:

Every time.

Steps to Reproduce:
1.  Install KVM.
2.  virt-install -r 4080 --hvm --prompt
  
Actual results:

Starting install...
Retrieving file .treeinfo...                                                                             |  442 B     00:00     
Retrieving file vmlinuz...                                                                               | 1.8 MB     00:00     
Retrieving file initrd.img...                                                                            | 7.1 MB     00:00     
ERROR    operation failed: could not balloon memory allocation
Domain installation may not have been
 successful.  If it was, you can restart your domain
 by running 'virsh start test'; otherwise, please
 restart your installation.
ERROR    operation failed: could not balloon memory allocation
Traceback (most recent call last):
  File "/usr/sbin/virt-install", line 889, in ?
    main()
  File "/usr/sbin/virt-install", line 751, in main
    start_time, guest.start_install)
  File "/usr/sbin/virt-install", line 813, in do_install
    dom = install_func(conscb, progresscb, wait=(not wait))
  File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 541, in start_install
    return self._do_install(consolecb, meter, removeOld, wait)
  File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 633, in _do_install
    self.domain = self.conn.createLinux(install_xml, 0)
  File "/usr/lib64/python2.4/site-packages/libvirt.py", line 974, in createLinux
    if ret is None:raise libvirtError('virDomainCreateLinux() failed', conn=self)
libvirtError: operation failed: could not balloon memory allocation
 
 
# tail -11 /var/log/messages
Apr 27 08:06:59 karlik libvirtd: 08:06:59.801: error : Domain not found: no domain with matching name 'test' 
Apr 27 08:06:59 karlik libvirtd: 08:06:59.811: error : Domain not found: no domain with matching uuid '<6�Jg-������i�' 
Apr 27 08:07:00 karlik libvirtd: 08:07:00.642: error : Domain not found: no domain with matching name 'test' 
Apr 27 08:07:00 karlik kernel: device vnet3 entered promiscuous mode
Apr 27 08:07:00 karlik kernel: kvmbr0: topology change detected, propagating
Apr 27 08:07:00 karlik kernel: kvmbr0: port 4(vnet3) entering forwarding state
Apr 27 08:07:01 karlik kernel: qemu-kvm[4396]: segfault at 0000000000000000 rip 000000000049f0a6 rsp 00007fff65f30270 error 4
Apr 27 08:07:01 karlik libvirtd: 08:07:01.773: error : operation failed: could not balloon memory allocation 
Apr 27 08:07:01 karlik kernel: kvmbr0: port 4(vnet3) entering disabled state
Apr 27 08:07:01 karlik kernel: device vnet3 left promiscuous mode
Apr 27 08:07:01 karlik kernel: kvmbr0: port 4(vnet3) entering disabled state


Expected results:

A new VM is created.

Additional info:

Installing with -r 4079 works fine.  After installation, you can edit the XML VM description and increase the memory above 4 Gb without a problem.

Comment 2 Gleb Natapov 2010-11-24 16:45:33 UTC
Are you sure kvm module is actually loaded and accessible by user running
qemu-kvm. The problem you describe is known in plane qemu.

Comment 3 Chris St. Pierre 2010-11-24 16:57:05 UTC
No idea.  I ran into this 5 months and one job ago, so I've forgotten any details I might have known and no longer use KVM.

Comment 4 Bill Burns 2010-12-01 14:53:26 UTC
Closing then, please reopen if you run across it.

Comment 5 Lutz Lange 2011-01-07 09:11:14 UTC
I have a very similar problem. Want to start a guest with 6GB ram. This will result in : 

# virsh start sat
error: Failed to start domain sat
error: operation failed: could not balloon memory allocation

# free 
Mem:       8175088     350452    7824636          0      21136     187040
-/+ buffers/cache:     142276    8032812
Swap:      8388600          0    8388600

# uname -a
Linux install.str.gls 2.6.18-194.32.1.el5 #1 SMP Mon Dec 20 10:52:42 EST 2010 x86_64 x86_64 x86_64 GNU/Linux

# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 5.5 (Tikanga)

# rpm -qa | egrep 'libvirt|kvm|kernel'
kvm-qemu-img-83-164.el5_5.30
kernel-devel-2.6.18-194.32.1.el5
etherboot-zroms-kvm-5.4.4-13.el5
libvirt-0.6.3-33.el5_5.3
kernel-2.6.18-194.17.4.el5
libvirt-0.6.3-33.el5_5.3
kvm-83-164.el5_5.30
kernel-devel-2.6.18-194.3.1.el5
kernel-2.6.18-194.3.1.el5
libvirt-python-0.6.3-33.el5_5.3
kmod-kvm-83-164.el5_5.30
kernel-devel-2.6.18-194.17.4.el5
kernel-2.6.18-194.32.1.el5
kernel-headers-2.6.18-194.32.1.el5

Comment 6 Lutz Lange 2011-01-07 09:13:52 UTC
Forgot additional infos :

# cat /etc/libvirt/qemu/sat.xml 
<domain type='qemu'>
  <name>sat</name>
  <uuid>3b6afa65-77ad-51e7-0bca-4b91c855f261</uuid>
  <memory>6291456</memory>
  <currentMemory>6291456</currentMemory>
  <vcpu>2</vcpu>
  <os>
    <type arch='x86_64' machine='rhel5.4.0'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' cache='none'/>
      <source file='/var/lib/libvirt/images/sat.img'/>
      <target dev='hda' bus='ide'/>
    </disk>
    <disk type='file' device='cdrom'>
      <target dev='hdc' bus='ide'/>
      <readonly/>
    </disk>
    <interface type='network'>
      <mac address='54:52:00:62:8e:c9'/>
      <source network='default'/>
    </interface>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target port='0'/>
    </console>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='-1' autoport='yes' keymap='en-us'/>
  </devices>
</domain>

And the part from the /var/log/messages :
Jan  7 10:12:13 install kernel: device vnet0 entered promiscuous mode
Jan  7 10:12:13 install kernel: virbr0: topology change detected, propagating
Jan  7 10:12:13 install kernel: virbr0: port 1(vnet0) entering forwarding state
Jan  7 10:12:13 install dnsmasq[3955]: failed to read /etc/resolv.conf: Permission denied
Jan  7 10:12:14 install kernel: qemu-kvm[4205]: segfault at 0000000000000000 rip 000000000049f966 rsp 00007ffffa775600 error 4
Jan  7 10:12:14 install libvirtd: 10:12:14.334: error : operation failed: could not balloon memory allocation 
Jan  7 10:12:14 install kernel: virbr0: port 1(vnet0) entering disabled state
Jan  7 10:12:14 install kernel: device vnet0 left promiscuous mode
Jan  7 10:12:14 install kernel: virbr0: port 1(vnet0) entering disabled state

Comment 7 Gleb Natapov 2011-01-07 11:44:34 UTC
Does it work with less then 4G? Do  you have kvm modules loaded and /dev/kvm has correct permissions?
Run qemu-kvm manually without libvirt for testing.

Comment 9 Gleb Natapov 2011-02-01 10:04:16 UTC
Closing. If you reopen the bug be ready to follow up on it.