[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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.