[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 |