RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1176739 - guest will disappear after use setmaxmem set a big mem that libvirt cannot parse
Summary: guest will disappear after use setmaxmem set a big mem that libvirt cannot parse
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: libvirt
Version: 7.1
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: rc
: ---
Assignee: Ján Tomko
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-12-23 02:39 UTC by Luyao Huang
Modified: 2015-11-19 06:05 UTC (History)
4 users (show)

Fixed In Version: libvirt-1.2.16-1.el7
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-11-19 06:05:38 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2015:2202 0 normal SHIPPED_LIVE libvirt bug fix and enhancement update 2015-11-19 08:17:58 UTC

Description Luyao Huang 2014-12-23 02:39:07 UTC
description of problem:
setmaxmem can set a big mem that libvirt cannot parse

Version-Release number of selected component (if applicable):
libvirt-1.2.8-10.el7.x86_64

How reproducible:
100%

Steps to Reproduce:

1.prepare a offline vm
# virsh list --all
 Id    Name                           State
----------------------------------------------------
 -     test4                           shut off


2.setmaxmem to a big value to it:

# virsh setmaxmem test4 10000000T


3.check the guest xml:
  <memory unit='KiB'>10737418240000000</memory>


4.restart libvirtd guest will disappear
# service libvirtd restart
Redirecting to /bin/systemctl restart  libvirtd.service

# virsh setmaxmem test4 10000000T
error: failed to get domain 'test4'
error: Domain not found: no domain with matching name 'test4'

Actual results:
this value is too large to parse for libvirt
      
Expected results:
cannot set a cannot parse mem via setmaxmem

Comment 1 Ján Tomko 2015-05-05 16:10:01 UTC
Upstream patch:
https://www.redhat.com/archives/libvir-list/2015-May/msg00113.html

Comment 2 Ján Tomko 2015-05-14 15:40:31 UTC
Now pushed upstream:
commit 3511c12244beb289dd44503739d65b0e823685cd
Author:     Ján Tomko <jtomko>
CommitDate: 2015-05-14 17:17:40 +0200

    reject out of range memory in SetMemory APIs
    
    The APIs take the memory value in KiB and we store it in KiB
    internally, but we cannot parse the whole ULONG_MAX range
    on 64-bit systems, because virDomainParseScaledValue
    needs to fit the value in bytes in an unsigned long long.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1176739

git describe: v1.2.15-84-g3511c12

Comment 4 Luyao Huang 2015-07-30 09:08:04 UTC
Verify this bug with libvirt-1.2.17-2.el7.x86_64:

1. prepare a inactive guest:

# virsh domstate test4
shut off

2.
#  virsh setmaxmem test4 10000000T
error: Unable to change MaxMemorySize
error: numerical overflow: input too large: 10737418240000000


3.
# virsh setmaxmem test4 --size 9007199254740991K
error: Unable to change MaxMemorySize
error: numerical overflow: input too large: 9007199254740991

4.
# virsh setmaxmem test4 --size 9007199254740990K

5. restart libvirtd guest still exist:

# service libvirtd restart
Redirecting to /bin/systemctl restart  libvirtd.service

# virsh domstate test4
shut off

Comment 6 errata-xmlrpc 2015-11-19 06:05:38 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2015-2202.html


Note You need to log in before you can comment on or make changes to this bug.