|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [qemu-mainline bisection] complete test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm
branch xen-unstable
xen branch xen-unstable
job test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm
test guest-saverestore
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
Tree: qemuu git://git.qemu.org/qemu.git
Tree: xen git://xenbits.xen.org/xen.git
*** Found and reproduced problem changeset ***
Bug is in tree: qemuu git://git.qemu.org/qemu.git
Bug introduced: a67bfbb9e41e089caec61384c625e8a61a5f270f
Bug not present: 42d58e7c6760cb9c55627c28ae538e27dcf2f144
commit a67bfbb9e41e089caec61384c625e8a61a5f270f
Merge: 42d58e7 489653b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jun 2 18:23:28 2015 +0100
Merge remote-tracking branch
'remotes/armbru/tags/pull-monitor-2015-06-02' into staging
Monitor patches
# gpg: Signature made Tue Jun 2 09:16:07 2015 BST using RSA key ID
EB918653
# gpg: Good signature from "Markus Armbruster <armbru@xxxxxxxxxx>"
# gpg: aka "Markus Armbruster <armbru@xxxxxxxxxxxx>"
* remotes/armbru/tags/pull-monitor-2015-06-02: (21 commits)
monitor: Change return type of monitor_cur_is_qmp() to bool
monitor: Rename monitor_ctrl_mode() to monitor_is_qmp()
monitor: Turn int command_mode into bool in_command_mode
monitor: Drop do_qmp_capabilities()'s superfluous QMP check
monitor: Unbox Monitor member mc and rename to qmp
monitor: Rename monitor_control_read(), monitor_control_event()
monitor: Rename handle_user_command() to handle_hmp_command()
monitor: Limit QError use to command handlers
monitor: Inline monitor_has_error() into its only caller
monitor: Wean monitor_protocol_emitter() off mon->error
monitor: Propagate errors through invalid_qmp_mode()
monitor: Propagate errors through qmp_check_input_obj()
monitor: Propagate errors through qmp_check_client_args()
monitor: Drop unused "new" HMP command interface
monitor: Use trad. command interface for HMP pcie_aer_inject_error
monitor: Use traditional command interface for HMP device_add
monitor: Use traditional command interface for HMP drive_del
monitor: Convert client_migrate_info to QAPI
monitor: Improve and document client_migrate_info protocol error
monitor: Clean up after previous commit
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 489653b5db17679fd61b740dd289c798bb25d7b9
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Mar 6 20:01:05 2015 +0100
monitor: Change return type of monitor_cur_is_qmp() to bool
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 9f3982f2dcd96753d57d0ac64bd1ae3b37a90eb3
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Mar 6 19:56:38 2015 +0100
monitor: Rename monitor_ctrl_mode() to monitor_is_qmp()
... and change return type to bool.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit f994b2587f081693b017ebd03b362d162d3108b3
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Mar 6 19:51:51 2015 +0100
monitor: Turn int command_mode into bool in_command_mode
While there, inline the pointless qmp_cmd_mode() wrapper.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 6a50636f35ba677c747f2f6127b0dba994b039ca
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Mar 6 19:49:41 2015 +0100
monitor: Drop do_qmp_capabilities()'s superfluous QMP check
Superfluous since commit 30f5041 removed it from HMP.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 74358f2a1647b239d87340ea0024f9d2efa266ca
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Mar 6 19:35:59 2015 +0100
monitor: Unbox Monitor member mc and rename to qmp
While there, rename its type as well, from MonitorControl to
MonitorQMP.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit c83fe23b58199a6d4a938305cb0fc45fe7729b61
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Mar 6 19:20:51 2015 +0100
monitor: Rename monitor_control_read(), monitor_control_event()
... to monitor_qmp_read(), monitor_qmp_event().
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 7ef6cf6341c453021939c909adf2d62d9dc25fd5
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Mar 6 19:12:36 2015 +0100
monitor: Rename handle_user_command() to handle_hmp_command()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 710aec915d208246891b68e2ba61b54951edc508
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Mar 6 11:28:00 2015 +0100
monitor: Limit QError use to command handlers
The previous commits narrowed use of QError to handle_qmp_command()
and its helpers monitor_protocol_emitter(), build_qmp_error_dict().
Narrow it further to just the command handler call: instead of
converting Error to QError throughout handle_qmp_command(), convert
the QError gotten from the command handler to Error, and switch the
helpers from QError to Error.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 452e0300a3521f13b6c4ba0b99a8cea3a29209f1
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Mar 6 19:11:13 2015 +0100
monitor: Inline monitor_has_error() into its only caller
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 70ea0c58991ae44b5a1e67d9c189d79029168cb1
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Mar 6 10:47:08 2015 +0100
monitor: Wean monitor_protocol_emitter() off mon->error
Move mon->error handling to its caller handle_qmp_command().
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 4086182fcd9b106345b5cc535d78bcc6d13a7683
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri May 29 10:27:16 2015 +0200
monitor: Propagate errors through invalid_qmp_mode()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit ba0510aad43148e5284cb52fcc7a0103b5e0af4d
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Mon Mar 2 18:41:43 2015 +0100
monitor: Propagate errors through qmp_check_input_obj()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 326283aa5d4d51d576185af4cbbdc29f648cd766
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Mon Mar 2 18:39:09 2015 +0100
monitor: Propagate errors through qmp_check_client_args()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 8a4f501c09bcb8b5a220699e378aa8fb7ec178e4
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Mar 5 18:50:05 2015 +0100
monitor: Drop unused "new" HMP command interface
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 04e00c92ef75629a241ebc50537f75de0867928d
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Mar 5 17:48:49 2015 +0100
monitor: Use trad. command interface for HMP pcie_aer_inject_error
All QMP commands use the "new" handler interface (mhandler.cmd_new).
Most HMP commands still use the traditional interface (mhandler.cmd),
but a few use the "new" one. Complicates handle_user_command() for no
gain, so I'm converting these to the traditional interface.
pcie_aer_inject_error's implementation is split into the
hmp_pcie_aer_inject_error() and pcie_aer_inject_error_print(). The
former is a peculiar crossbreed between HMP and QMP handler. On
success, it works like a QMP handler: store QDict through ret_data
parameter, return 0. Printing the QDict is left to
pcie_aer_inject_error_print(). On failure, it works more like an HMP
handler: print error to monitor, return negative number.
To convert to the traditional interface, turn
pcie_aer_inject_error_print() into a command handler wrapping around
hmp_pcie_aer_inject_error(). By convention, this command handler
should be called hmp_pcie_aer_inject_error(), so rename the existing
hmp_pcie_aer_inject_error() to do_pcie_aer_inject_error().
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 318660f84a0a26451750aee68ab7dcf88731637d
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Mar 5 17:24:48 2015 +0100
monitor: Use traditional command interface for HMP device_add
All QMP commands use the "new" handler interface (mhandler.cmd_new).
Most HMP commands still use the traditional interface (mhandler.cmd),
but a few use the "new" one. Complicates handle_user_command() for no
gain, so I'm converting these to the traditional interface.
For device_add, that's easy: just wrap the obvious hmp_device_add()
around do_device_add().
monitor_user_noop() is now unused, drop it.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 072ebe6b0351060b33287454fdef625fe79c858f
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Mar 5 17:00:56 2015 +0100
monitor: Use traditional command interface for HMP drive_del
All QMP commands use the "new" handler interface (mhandler.cmd_new).
Most HMP commands still use the traditional interface (mhandler.cmd),
but a few use the "new" one. Complicates handle_user_command() for no
gain, so I'm converting these to the traditional interface.
For drive_del, that's easy: hmp_drive_del() sheds its unused last
parameter, and its return value, which the caller ignored anyway.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit b8a185bc9a8ecbdc74fd64672e4abdd09a558e1c
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Mar 5 17:29:02 2015 +0100
monitor: Convert client_migrate_info to QAPI
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 13cadefbda71e119db79fe0b7a4efd26a6d005bd
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Mar 5 19:16:58 2015 +0100
monitor: Improve and document client_migrate_info protocol error
Protocol must be spice, vnc isn't implemented. Fix up documentation.
Attempts to use vnc or any other unknown protocol yield the misleading
error message "Invalid parameter 'protocol'". Improve it to
"Parameter 'protocol' expects spice".
Cc: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by. Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 84add864ebd2e6f3c645948ab595d8454165ebc5
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Mar 5 16:45:15 2015 +0100
monitor: Clean up after previous commit
Inline qmp_call_cmd() along with its helper handler_audit() into its
only caller handle_qmp_command(), and simplify the result.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 65207c59d99f2260c5f1d3b9c491146616a522aa
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Mar 5 14:35:26 2015 +0100
monitor: Drop broken, unused asynchronous command interface
The asynchronous monitor command interface goes back to commit 940cc30
(Jan 2010). Added a third case to command execution. The hope back
then according to the commit message was that all commands get
converted to the asynchronous interface, killing off the other two
cases. Didn't happen.
The initial asynchronous commands balloon and info balloon were
converted back to synchronous long ago (commit 96637bc and d72f32),
with commit messages calling the asynchronous interface "not fully
working" and "deprecated". The only other user went away in commit
3b5704b.
New code generally uses synchronous commands and asynchronous events.
What exactly is still "not fully working" with asynchronous commands?
Well, here's a bug that defeats actual asynchronous use pretty
reliably: the reply's ID is wrong (and has always been wrong) unless
you use the command synchronously! To reproduce, we need an
asynchronous command, so we have to go back before commit 3b5704b.
Run QEMU with spice:
$ qemu-system-x86_64 -nodefaults -S -spice
port=5900,disable-ticketing -qmp stdio
{"QMP": {"version": {"qemu": {"micro": 94, "minor": 2, "major": 2},
"package": ""}, "capabilities": []}}
Connect a spice client in another terminal:
$ remote-viewer spice://localhost:5900
Set up a migration destination dummy in a third terminal:
$ socat TCP-LISTEN:12345 STDIO
Now paste the following into the QMP monitor:
{ "execute": "qmp_capabilities", "id": "i0" }
{ "execute": "client_migrate_info", "id": "i1", "arguments": {
"protocol": "spice", "hostname": "localhost", "port": 12345 } }
{ "execute": "query-kvm", "id": "i2" }
Produces two replies immediately, one to qmp_capabilities, and one to
query-kvm:
{"return": {}, "id": "i0"}
{"return": {"enabled": false, "present": true}, "id": "i2"}
Both are correct. Two lines of debug output from libspice-server not
shown.
Now EOF socat's standard input to make it close the connection. This
makes the asynchronous client_migrate_info complete. It replies:
{"return": {}}
Bug: "id": "i1" is missing. Two lines of debug output from
libspice-server not shown. Cherry on top: storage for the missing ID
is leaked.
Get rid of this stuff before somebody hurts himself with it.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
For bisection revision-tuple graph see:
http://logs.test-lab.xenproject.org/osstest/results/bisect.qemu-mainline.test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm.guest-saverestore.html
Revision IDs in each graph node refer, respectively, to the Trees above.
----------------------------------------
Searching for failure / basis pass:
57925 fail [host=italia1] / 57815 ok.
Failure / basis pass flights: 57925 / 57815
(tree with no url: ovmf)
(tree with no url: seabios)
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
Tree: qemuu git://git.qemu.org/qemu.git
Tree: xen git://xenbits.xen.org/xen.git
Latest 13253707013a08ce5a279ebd029fa10230172458
c530a75c1e6a472b0eb9558310b518f0dfcd8860
4de1422ea306832b6ef2cba34e9febb73dd139a7
3b730f570c5872ceea2137848f1d4554d4847441
d6b6bd8374ac30597495d457829ce7ad6e8b7016
Basis pass 13253707013a08ce5a279ebd029fa10230172458
c530a75c1e6a472b0eb9558310b518f0dfcd8860
4de1422ea306832b6ef2cba34e9febb73dd139a7
3fc827d591679f3e262b9d1f8b34528eabfca8c0
d6b6bd8374ac30597495d457829ce7ad6e8b7016
Generating revisions with ./adhoc-revtuple-generator
git://xenbits.xen.org/linux-pvops.git#13253707013a08ce5a279ebd029fa10230172458-13253707013a08ce5a279ebd029fa10230172458
git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860
git://xenbits.xen.org/staging/qemu-xen-unstable.git#4de1422ea306832b6ef2cba34e9febb73dd139a7-4de1422ea306832b6ef2cba34e9febb73dd139a7
git://git.qemu.org/qemu.git#3fc827d591679f3e262b9d1f8b34528eabfca8c0-3b730f570c5872ceea2137848f1d4554d4847441
git://xenbits.xen.org/xen.git#d6b6bd8374ac30597495d457829ce7ad6e8b7016-d6b6bd8374ac30597495d457829ce7ad6e8b7016
+ exec
+ sh -xe
+ cd /home/osstest/repos/qemu
+ git remote set-url origin git://cache:9419/git://git.qemu.org/qemu.git
+ git fetch -p origin +refs/heads/*:refs/remotes/origin/*
+ exec
+ sh -xe
+ cd /home/osstest/repos/qemu
+ git remote set-url origin git://cache:9419/git://git.qemu.org/qemu.git
+ git fetch -p origin +refs/heads/*:refs/remotes/origin/*
Loaded 1002 nodes in revision graph
Searching for test results:
57872 []
57815 pass 13253707013a08ce5a279ebd029fa10230172458
c530a75c1e6a472b0eb9558310b518f0dfcd8860
4de1422ea306832b6ef2cba34e9febb73dd139a7
3fc827d591679f3e262b9d1f8b34528eabfca8c0
d6b6bd8374ac30597495d457829ce7ad6e8b7016
57925 fail 13253707013a08ce5a279ebd029fa10230172458
c530a75c1e6a472b0eb9558310b518f0dfcd8860
4de1422ea306832b6ef2cba34e9febb73dd139a7
3b730f570c5872ceea2137848f1d4554d4847441
d6b6bd8374ac30597495d457829ce7ad6e8b7016
58109 pass 13253707013a08ce5a279ebd029fa10230172458
c530a75c1e6a472b0eb9558310b518f0dfcd8860
4de1422ea306832b6ef2cba34e9febb73dd139a7
3fc827d591679f3e262b9d1f8b34528eabfca8c0
d6b6bd8374ac30597495d457829ce7ad6e8b7016
58122 fail 13253707013a08ce5a279ebd029fa10230172458
c530a75c1e6a472b0eb9558310b518f0dfcd8860
4de1422ea306832b6ef2cba34e9febb73dd139a7
d2ceeb1d68ed8b005892408fcdb533f578aae081
d6b6bd8374ac30597495d457829ce7ad6e8b7016
58117 fail 13253707013a08ce5a279ebd029fa10230172458
c530a75c1e6a472b0eb9558310b518f0dfcd8860
4de1422ea306832b6ef2cba34e9febb73dd139a7
3b730f570c5872ceea2137848f1d4554d4847441
d6b6bd8374ac30597495d457829ce7ad6e8b7016
58152 pass 13253707013a08ce5a279ebd029fa10230172458
c530a75c1e6a472b0eb9558310b518f0dfcd8860
4de1422ea306832b6ef2cba34e9febb73dd139a7
5f7a5a0edc4a2f65293658eb540290ddf9a1988a
d6b6bd8374ac30597495d457829ce7ad6e8b7016
58127 pass 13253707013a08ce5a279ebd029fa10230172458
c530a75c1e6a472b0eb9558310b518f0dfcd8860
4de1422ea306832b6ef2cba34e9febb73dd139a7
747d009dcac37ce7372b58b21c168f0ad66cf7be
d6b6bd8374ac30597495d457829ce7ad6e8b7016
58154 fail 13253707013a08ce5a279ebd029fa10230172458
c530a75c1e6a472b0eb9558310b518f0dfcd8860
4de1422ea306832b6ef2cba34e9febb73dd139a7
a67bfbb9e41e089caec61384c625e8a61a5f270f
d6b6bd8374ac30597495d457829ce7ad6e8b7016
58131 pass 13253707013a08ce5a279ebd029fa10230172458
c530a75c1e6a472b0eb9558310b518f0dfcd8860
4de1422ea306832b6ef2cba34e9febb73dd139a7
0e7ef22136955169a0fd03c4e41af95662352733
d6b6bd8374ac30597495d457829ce7ad6e8b7016
58135 pass 13253707013a08ce5a279ebd029fa10230172458
c530a75c1e6a472b0eb9558310b518f0dfcd8860
4de1422ea306832b6ef2cba34e9febb73dd139a7
9718e4ae362d2f221ec028cdacefafc593ef1357
d6b6bd8374ac30597495d457829ce7ad6e8b7016
58160 pass 13253707013a08ce5a279ebd029fa10230172458
c530a75c1e6a472b0eb9558310b518f0dfcd8860
4de1422ea306832b6ef2cba34e9febb73dd139a7
42d58e7c6760cb9c55627c28ae538e27dcf2f144
d6b6bd8374ac30597495d457829ce7ad6e8b7016
58139 pass 13253707013a08ce5a279ebd029fa10230172458
c530a75c1e6a472b0eb9558310b518f0dfcd8860
4de1422ea306832b6ef2cba34e9febb73dd139a7
a88a3f887181605f4487a22bdfb7d87ffafde5d9
d6b6bd8374ac30597495d457829ce7ad6e8b7016
58162 fail 13253707013a08ce5a279ebd029fa10230172458
c530a75c1e6a472b0eb9558310b518f0dfcd8860
4de1422ea306832b6ef2cba34e9febb73dd139a7
a67bfbb9e41e089caec61384c625e8a61a5f270f
d6b6bd8374ac30597495d457829ce7ad6e8b7016
58142 pass 13253707013a08ce5a279ebd029fa10230172458
c530a75c1e6a472b0eb9558310b518f0dfcd8860
4de1422ea306832b6ef2cba34e9febb73dd139a7
ac9d32e39664e060cd1b538ff190980d57ad69e4
d6b6bd8374ac30597495d457829ce7ad6e8b7016
58164 pass 13253707013a08ce5a279ebd029fa10230172458
c530a75c1e6a472b0eb9558310b518f0dfcd8860
4de1422ea306832b6ef2cba34e9febb73dd139a7
42d58e7c6760cb9c55627c28ae538e27dcf2f144
d6b6bd8374ac30597495d457829ce7ad6e8b7016
58147 pass 13253707013a08ce5a279ebd029fa10230172458
c530a75c1e6a472b0eb9558310b518f0dfcd8860
4de1422ea306832b6ef2cba34e9febb73dd139a7
42d58e7c6760cb9c55627c28ae538e27dcf2f144
d6b6bd8374ac30597495d457829ce7ad6e8b7016
58165 fail 13253707013a08ce5a279ebd029fa10230172458
c530a75c1e6a472b0eb9558310b518f0dfcd8860
4de1422ea306832b6ef2cba34e9febb73dd139a7
a67bfbb9e41e089caec61384c625e8a61a5f270f
d6b6bd8374ac30597495d457829ce7ad6e8b7016
Searching for interesting versions
Result found: flight 57815 (pass), for basis pass
Result found: flight 57925 (fail), for basis failure
Repro found: flight 58109 (pass), for basis pass
Repro found: flight 58117 (fail), for basis failure
0 revisions at 13253707013a08ce5a279ebd029fa10230172458
c530a75c1e6a472b0eb9558310b518f0dfcd8860
4de1422ea306832b6ef2cba34e9febb73dd139a7
42d58e7c6760cb9c55627c28ae538e27dcf2f144
d6b6bd8374ac30597495d457829ce7ad6e8b7016
No revisions left to test, checking graph state.
Result found: flight 58147 (pass), for last pass
Result found: flight 58154 (fail), for first failure
Repro found: flight 58160 (pass), for last pass
Repro found: flight 58162 (fail), for first failure
Repro found: flight 58164 (pass), for last pass
Repro found: flight 58165 (fail), for first failure
*** Found and reproduced problem changeset ***
Bug is in tree: qemuu git://git.qemu.org/qemu.git
Bug introduced: a67bfbb9e41e089caec61384c625e8a61a5f270f
Bug not present: 42d58e7c6760cb9c55627c28ae538e27dcf2f144
+ exec
+ sh -xe
+ cd /home/osstest/repos/qemu
+ git remote set-url origin git://cache:9419/git://git.qemu.org/qemu.git
+ git fetch -p origin +refs/heads/*:refs/remotes/origin/*
commit a67bfbb9e41e089caec61384c625e8a61a5f270f
Merge: 42d58e7 489653b
Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
Date: Tue Jun 2 18:23:28 2015 +0100
Merge remote-tracking branch
'remotes/armbru/tags/pull-monitor-2015-06-02' into staging
Monitor patches
# gpg: Signature made Tue Jun 2 09:16:07 2015 BST using RSA key ID
EB918653
# gpg: Good signature from "Markus Armbruster <armbru@xxxxxxxxxx>"
# gpg: aka "Markus Armbruster <armbru@xxxxxxxxxxxx>"
* remotes/armbru/tags/pull-monitor-2015-06-02: (21 commits)
monitor: Change return type of monitor_cur_is_qmp() to bool
monitor: Rename monitor_ctrl_mode() to monitor_is_qmp()
monitor: Turn int command_mode into bool in_command_mode
monitor: Drop do_qmp_capabilities()'s superfluous QMP check
monitor: Unbox Monitor member mc and rename to qmp
monitor: Rename monitor_control_read(), monitor_control_event()
monitor: Rename handle_user_command() to handle_hmp_command()
monitor: Limit QError use to command handlers
monitor: Inline monitor_has_error() into its only caller
monitor: Wean monitor_protocol_emitter() off mon->error
monitor: Propagate errors through invalid_qmp_mode()
monitor: Propagate errors through qmp_check_input_obj()
monitor: Propagate errors through qmp_check_client_args()
monitor: Drop unused "new" HMP command interface
monitor: Use trad. command interface for HMP pcie_aer_inject_error
monitor: Use traditional command interface for HMP device_add
monitor: Use traditional command interface for HMP drive_del
monitor: Convert client_migrate_info to QAPI
monitor: Improve and document client_migrate_info protocol error
monitor: Clean up after previous commit
...
Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
commit 489653b5db17679fd61b740dd289c798bb25d7b9
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Mar 6 20:01:05 2015 +0100
monitor: Change return type of monitor_cur_is_qmp() to bool
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 9f3982f2dcd96753d57d0ac64bd1ae3b37a90eb3
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Mar 6 19:56:38 2015 +0100
monitor: Rename monitor_ctrl_mode() to monitor_is_qmp()
... and change return type to bool.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit f994b2587f081693b017ebd03b362d162d3108b3
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Mar 6 19:51:51 2015 +0100
monitor: Turn int command_mode into bool in_command_mode
While there, inline the pointless qmp_cmd_mode() wrapper.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 6a50636f35ba677c747f2f6127b0dba994b039ca
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Mar 6 19:49:41 2015 +0100
monitor: Drop do_qmp_capabilities()'s superfluous QMP check
Superfluous since commit 30f5041 removed it from HMP.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 74358f2a1647b239d87340ea0024f9d2efa266ca
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Mar 6 19:35:59 2015 +0100
monitor: Unbox Monitor member mc and rename to qmp
While there, rename its type as well, from MonitorControl to
MonitorQMP.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit c83fe23b58199a6d4a938305cb0fc45fe7729b61
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Mar 6 19:20:51 2015 +0100
monitor: Rename monitor_control_read(), monitor_control_event()
... to monitor_qmp_read(), monitor_qmp_event().
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 7ef6cf6341c453021939c909adf2d62d9dc25fd5
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Mar 6 19:12:36 2015 +0100
monitor: Rename handle_user_command() to handle_hmp_command()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 710aec915d208246891b68e2ba61b54951edc508
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Mar 6 11:28:00 2015 +0100
monitor: Limit QError use to command handlers
The previous commits narrowed use of QError to handle_qmp_command()
and its helpers monitor_protocol_emitter(), build_qmp_error_dict().
Narrow it further to just the command handler call: instead of
converting Error to QError throughout handle_qmp_command(), convert
the QError gotten from the command handler to Error, and switch the
helpers from QError to Error.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 452e0300a3521f13b6c4ba0b99a8cea3a29209f1
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Mar 6 19:11:13 2015 +0100
monitor: Inline monitor_has_error() into its only caller
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 70ea0c58991ae44b5a1e67d9c189d79029168cb1
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri Mar 6 10:47:08 2015 +0100
monitor: Wean monitor_protocol_emitter() off mon->error
Move mon->error handling to its caller handle_qmp_command().
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 4086182fcd9b106345b5cc535d78bcc6d13a7683
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Fri May 29 10:27:16 2015 +0200
monitor: Propagate errors through invalid_qmp_mode()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit ba0510aad43148e5284cb52fcc7a0103b5e0af4d
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Mon Mar 2 18:41:43 2015 +0100
monitor: Propagate errors through qmp_check_input_obj()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 326283aa5d4d51d576185af4cbbdc29f648cd766
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Mon Mar 2 18:39:09 2015 +0100
monitor: Propagate errors through qmp_check_client_args()
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 8a4f501c09bcb8b5a220699e378aa8fb7ec178e4
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Mar 5 18:50:05 2015 +0100
monitor: Drop unused "new" HMP command interface
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 04e00c92ef75629a241ebc50537f75de0867928d
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Mar 5 17:48:49 2015 +0100
monitor: Use trad. command interface for HMP pcie_aer_inject_error
All QMP commands use the "new" handler interface (mhandler.cmd_new).
Most HMP commands still use the traditional interface (mhandler.cmd),
but a few use the "new" one. Complicates handle_user_command() for no
gain, so I'm converting these to the traditional interface.
pcie_aer_inject_error's implementation is split into the
hmp_pcie_aer_inject_error() and pcie_aer_inject_error_print(). The
former is a peculiar crossbreed between HMP and QMP handler. On
success, it works like a QMP handler: store QDict through ret_data
parameter, return 0. Printing the QDict is left to
pcie_aer_inject_error_print(). On failure, it works more like an HMP
handler: print error to monitor, return negative number.
To convert to the traditional interface, turn
pcie_aer_inject_error_print() into a command handler wrapping around
hmp_pcie_aer_inject_error(). By convention, this command handler
should be called hmp_pcie_aer_inject_error(), so rename the existing
hmp_pcie_aer_inject_error() to do_pcie_aer_inject_error().
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 318660f84a0a26451750aee68ab7dcf88731637d
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Mar 5 17:24:48 2015 +0100
monitor: Use traditional command interface for HMP device_add
All QMP commands use the "new" handler interface (mhandler.cmd_new).
Most HMP commands still use the traditional interface (mhandler.cmd),
but a few use the "new" one. Complicates handle_user_command() for no
gain, so I'm converting these to the traditional interface.
For device_add, that's easy: just wrap the obvious hmp_device_add()
around do_device_add().
monitor_user_noop() is now unused, drop it.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 072ebe6b0351060b33287454fdef625fe79c858f
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Mar 5 17:00:56 2015 +0100
monitor: Use traditional command interface for HMP drive_del
All QMP commands use the "new" handler interface (mhandler.cmd_new).
Most HMP commands still use the traditional interface (mhandler.cmd),
but a few use the "new" one. Complicates handle_user_command() for no
gain, so I'm converting these to the traditional interface.
For drive_del, that's easy: hmp_drive_del() sheds its unused last
parameter, and its return value, which the caller ignored anyway.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit b8a185bc9a8ecbdc74fd64672e4abdd09a558e1c
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Mar 5 17:29:02 2015 +0100
monitor: Convert client_migrate_info to QAPI
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 13cadefbda71e119db79fe0b7a4efd26a6d005bd
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Mar 5 19:16:58 2015 +0100
monitor: Improve and document client_migrate_info protocol error
Protocol must be spice, vnc isn't implemented. Fix up documentation.
Attempts to use vnc or any other unknown protocol yield the misleading
error message "Invalid parameter 'protocol'". Improve it to
"Parameter 'protocol' expects spice".
Cc: Gerd Hoffmann <kraxel@xxxxxxxxxx>
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by. Gerd Hoffmann <kraxel@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 84add864ebd2e6f3c645948ab595d8454165ebc5
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Mar 5 16:45:15 2015 +0100
monitor: Clean up after previous commit
Inline qmp_call_cmd() along with its helper handler_audit() into its
only caller handle_qmp_command(), and simplify the result.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
commit 65207c59d99f2260c5f1d3b9c491146616a522aa
Author: Markus Armbruster <armbru@xxxxxxxxxx>
Date: Thu Mar 5 14:35:26 2015 +0100
monitor: Drop broken, unused asynchronous command interface
The asynchronous monitor command interface goes back to commit 940cc30
(Jan 2010). Added a third case to command execution. The hope back
then according to the commit message was that all commands get
converted to the asynchronous interface, killing off the other two
cases. Didn't happen.
The initial asynchronous commands balloon and info balloon were
converted back to synchronous long ago (commit 96637bc and d72f32),
with commit messages calling the asynchronous interface "not fully
working" and "deprecated". The only other user went away in commit
3b5704b.
New code generally uses synchronous commands and asynchronous events.
What exactly is still "not fully working" with asynchronous commands?
Well, here's a bug that defeats actual asynchronous use pretty
reliably: the reply's ID is wrong (and has always been wrong) unless
you use the command synchronously! To reproduce, we need an
asynchronous command, so we have to go back before commit 3b5704b.
Run QEMU with spice:
$ qemu-system-x86_64 -nodefaults -S -spice
port=5900,disable-ticketing -qmp stdio
{"QMP": {"version": {"qemu": {"micro": 94, "minor": 2, "major": 2},
"package": ""}, "capabilities": []}}
Connect a spice client in another terminal:
$ remote-viewer spice://localhost:5900
Set up a migration destination dummy in a third terminal:
$ socat TCP-LISTEN:12345 STDIO
Now paste the following into the QMP monitor:
{ "execute": "qmp_capabilities", "id": "i0" }
{ "execute": "client_migrate_info", "id": "i1", "arguments": {
"protocol": "spice", "hostname": "localhost", "port": 12345 } }
{ "execute": "query-kvm", "id": "i2" }
Produces two replies immediately, one to qmp_capabilities, and one to
query-kvm:
{"return": {}, "id": "i0"}
{"return": {"enabled": false, "present": true}, "id": "i2"}
Both are correct. Two lines of debug output from libspice-server not
shown.
Now EOF socat's standard input to make it close the connection. This
makes the asynchronous client_migrate_info complete. It replies:
{"return": {}}
Bug: "id": "i1" is missing. Two lines of debug output from
libspice-server not shown. Cherry on top: storage for the missing ID
is leaked.
Get rid of this stuff before somebody hurts himself with it.
Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
Reviewed-by: Eric Blake <eblake@xxxxxxxxxx>
Reviewed-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx>
Revision graph left in
/home/logs/results/bisect.qemu-mainline.test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm.guest-saverestore.{dot,ps,png,html}.
----------------------------------------
58165: tolerable ALL FAIL
flight 58165 qemu-mainline real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/58165/
Failures :-/ but no regressions.
Tests which did not succeed,
including tests which could not be run:
test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm 11 guest-saverestore fail
baseline untested
jobs:
test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm fail
------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images
Logs, config files, etc. are available at
http://logs.test-lab.xenproject.org/osstest/logs
Test harness code can be found at
http://xenbits.xen.org/gitweb?p=osstest.git;a=summary
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |