Hide Forgot
Description of problem: If set migrate_set_downtime with negative number in qmp, qmp do not give any warning or error message. I also test with other illegal number, such as "00.1234" and "abc" and so on, it will give some error messages. { "execute": "migrate_set_downtime", "arguments": { "value": 00.1234}} {"error": {"class": "GenericError", "desc": "Invalid JSON syntax"}} {"error": {"class": "GenericError", "desc": "Invalid JSON syntax"}} {"error": {"class": "GenericError", "desc": "Expected 'object' in QMP input"}} {"error": {"class": "GenericError", "desc": "Invalid JSON syntax"}} {"error": {"class": "GenericError", "desc": "Invalid JSON syntax"}} { "execute": "migrate_set_downtime", "arguments": { "value": abc }} {"error": {"class": "GenericError", "desc": "Invalid JSON syntax"}} Version-Release number of selected component (if applicable): qemu-kvm-1.5.3-2.el7.x86_64 3.10.0-18.el7.x86_64 How reproducible: 100% Steps to Reproduce: 1.run qemu-kvm with following command. # /usr/libexec/qemu-kvm -monitor stdio -qmp tcp:0:4445,server,nowait 2.run "migrate_set_downtime" with negative number inside qmp. { "execute": "migrate_set_downtime", "arguments": { "value": -2342345346}} { "execute": "migrate_set_downtime", "arguments": { "value": -0.2342}} 3.observe the return result inside qmp. Actual results: {"return": {}} {"return": {}} Expected results: When run "migrate_set_downtime" with negative number, qmp will give some warning or error message. Additional info:
Direct usage of QMP will not be supported in RHEL7 and libvirt should protect us from this kind of usage. In fact, QMP negative numbers (signed) are used sometimes at the JSON level and then converted to signed internally, to workaround a limit on the size accepted by the JSON parser. Which is probably not the case here, but anyway, closing as WONTFIX because this will not be a supported scenario in RHEL7.