[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [xen-unstable test] 30308: regressions - FAIL

flight 30308 xen-unstable real [real]

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-win7-amd64  5 xen-boot           fail REGR. vs. 30301
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1 9 guest-saverestore fail REGR. vs. 

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt      9 guest-start                  fail   never pass
 test-amd64-i386-libvirt       9 guest-start                  fail   never pass
 test-amd64-amd64-xl-pcipt-intel  9 guest-start                 fail never pass
 test-amd64-amd64-libvirt      9 guest-start                  fail   never pass
 test-armhf-armhf-xl          10 migrate-support-check        fail   never pass
 test-amd64-i386-xl-qemut-winxpsp3 14 guest-stop                fail never pass
 test-amd64-i386-xl-qemuu-winxpsp3 14 guest-stop                fail never pass
 test-amd64-i386-xl-qemut-winxpsp3-vcpus1 14 guest-stop         fail never pass
 test-amd64-amd64-xl-qemut-win7-amd64 14 guest-stop             fail never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 14 guest-stop             fail never pass
 test-amd64-i386-xl-qemut-win7-amd64 14 guest-stop              fail never pass
 test-amd64-i386-xl-win7-amd64 14 guest-stop                   fail  never pass
 test-amd64-amd64-xl-qemut-winxpsp3 14 guest-stop               fail never pass
 test-amd64-amd64-xl-winxpsp3 14 guest-stop                   fail   never pass
 test-amd64-i386-xl-winxpsp3-vcpus1 14 guest-stop               fail never pass
 test-amd64-i386-xl-winxpsp3  14 guest-stop                   fail   never pass
 test-amd64-amd64-xl-win7-amd64 14 guest-stop                   fail never pass
 test-amd64-amd64-xl-qemuu-winxpsp3 14 guest-stop               fail never pass

version targeted for testing:
 xen                  f8315ea4f0657dcd7f0bc5bec1328c522b0ceb83
baseline version:
 xen                  72af6f455ac6afcd46d9a556f90349f2397507e8

People who touched revisions under test:
  Ian Campbell <ian.campbell@xxxxxxxxxx>
  Wei Liu <wei.liu2@xxxxxxxxxx>

 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-oldkern                                          pass    
 build-i386-oldkern                                           pass    
 build-amd64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 build-amd64-rumpuserxen                                      pass    
 build-i386-rumpuserxen                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-i386-rhel6hvm-amd                                 pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-rumpuserxen-amd64                           pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-win7-amd64                               fail    
 test-amd64-i386-xl-win7-amd64                                fail    
 test-amd64-i386-xl-credit2                                   pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-i386-rumpuserxen-i386                             pass    
 test-amd64-amd64-xl-pcipt-intel                              fail    
 test-amd64-i386-rhel6hvm-intel                               pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-i386-xl-multivcpu                                 pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-xl-sedf-pin                                 pass    
 test-amd64-amd64-xl-sedf                                     pass    
 test-amd64-i386-xl-qemut-winxpsp3-vcpus1                     fail    
 test-amd64-i386-xl-qemuu-winxpsp3-vcpus1                     fail    
 test-amd64-i386-xl-winxpsp3-vcpus1                           fail    
 test-amd64-amd64-xl-qemut-winxpsp3                           fail    
 test-amd64-i386-xl-qemut-winxpsp3                            fail    
 test-amd64-amd64-xl-qemuu-winxpsp3                           fail    
 test-amd64-i386-xl-qemuu-winxpsp3                            fail    
 test-amd64-amd64-xl-winxpsp3                                 fail    
 test-amd64-i386-xl-winxpsp3                                  fail    

sg-report-flight on osstest.cam.xci-test.com
logs: /home/xc_osstest/logs
images: /home/xc_osstest/images

Logs, config files, etc. are available at

Test harness code can be found at

Not pushing.

commit f8315ea4f0657dcd7f0bc5bec1328c522b0ceb83
Merge: 5fc4efc 72af6f4
Author: Ian Campbell <ian.campbell@xxxxxxxxxx>
Date:   Wed Sep 17 20:15:28 2014 +0100

    Merge branch 'staging' of ssh://xenbits.xen.org/home/xen/git/xen into 

commit 5fc4efcd3defde429bb048f89decb2ffd96d1c11
Author: Wei Liu <wei.liu2@xxxxxxxxxx>
Date:   Tue Sep 16 11:01:18 2014 +0100

    xl: long output of "list" command now contains Dom0 information
    As we've already generated a JSON config for Dom0, print that out when
    Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
    Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

commit e6afc7063afe06f4609fb2d18fde28f3b54e995e
Author: Wei Liu <wei.liu2@xxxxxxxxxx>
Date:   Tue Sep 16 11:01:17 2014 +0100

    xl: use libxl_retrieve_domain_configuration and JSON format
    Before this change, xl stores domain configuration in "xl" format, which
    is in fact a verbatim copy of user supplied domain config.
    Now libxl provides a new API to retrieve domain configuration, switch to
    that new API, store configuration in JSON format.
    Tests done so far (xl.{new,old} denotes xl with{,out} "libxl-json"
    1. xl.new create then xl.new save, hexdump saved file: domain config
       saved in JSON format
    2. xl.new create, xl.new save then xl.old restore: failed on
       mandatory flag check
    3. xl.new create, xl.new save then xl.new restore: succeeded
    4. xl.old create, xl.old save then xl.new restore: succeeded
    5. xl.new create then local migrate, receiving end xl.new: succeeded
    6. xl.old create then local migrate, receiving end xl.new: succeeded
    Note that "xl" config is still supported and handled when restarting a
    domain. "xl" config file takes precedence over "libxl-json" in that
    case, so that user who uses "config-update" to store new config file
    won't have regression. All other scenarios (migration, domain listing
    etc.) now use the new API.
    Lastly, print out warning when users invoke "config-update" to
    discourage them from using this command.
    Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
    Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

commit 12ebbe2bae28c0e170e76f61ade65b980ae36b55
Author: Wei Liu <wei.liu2@xxxxxxxxxx>
Date:   Tue Sep 16 11:01:16 2014 +0100

    libxl: introduce libxl_userdata_unlink
    This will be used in later patch for xl to remove its "xl" userdata
    Both CTX lock and userdata lock are taken in this API. CTX lock is taken
    to maintain locking hierarchy, but it also has a side effect to protect
    against R-M-W by other threads. Userdata lock is used to protect against
    domain destruction.
    In general application should not rely on these internal locks to
    protect its own userdata files. It should deploys its own lock if it
    Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
    Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

commit 9d5550ffc56e72a40c231cead3594403405f2e7e
Author: Wei Liu <wei.liu2@xxxxxxxxxx>
Date:   Tue Sep 16 11:01:15 2014 +0100

    libxl: introduce libxl_retrieve_domain_configuration
    Introduce a new public API to return domain configuration. This returned
    configuration can be used to rebuild a domain.
    Note that this configuration only describes the configuration necessary
    to reproduce the guest visible state and does not necessarily include
    specific decisions made by the toolstack regarding its current
    incarnation (e.g. disk backend) unless they were specified by the
    application when the domain was created.
    With this approach we can preserve what user has provided in the
    original configuration as well as valuable information from xenstore.
    Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
    Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

commit 6c0e7d1032363beb308c8ad11ce6c107cf047e26
Author: Wei Liu <wei.liu2@xxxxxxxxxx>
Date:   Tue Sep 16 11:01:14 2014 +0100

    libxl: refactor libxl_get_memory_target
    Introduce a helper function which can return both "target" node and
    "static-max" node of a domain. Reimplement libxl_get_memory_target using
    this helper. libxl__fill_dom0_memory_info is adjusted as well.
    This helper will be used in later patch.
    Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
    Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

commit 577314768b430107845023d7e489ed0dd53892ad
Author: Wei Liu <wei.liu2@xxxxxxxxxx>
Date:   Tue Sep 16 11:01:13 2014 +0100

    libxl: make libxl_cd_insert "eject" + "insert"
    We introduce an intermediate empty state when inserting media into
    CDROM. The scheme works like this:
      lock json config
      write empty state to xenstore
      for (;;) {
          write user supplied disk to JSON
          write disk information to xenstore
      unlock json config
    Bear in mind that all steps can fail. With the proposed scheme, we now
    know, if xenstore is empty, then CDROM should be considered empty;
    otherwise we should use JSON version of CDROM configuration.
    Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
    Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

commit 4197d3abbb3055d3798254eb7ba239bfb5824360
Author: Wei Liu <wei.liu2@xxxxxxxxxx>
Date:   Tue Sep 16 11:01:12 2014 +0100

    libxl: synchronise configuration when we hotplug a device
    We update JSON version first, then write to xenstore, so that we
    maintain the following invariant: any device which is present in
    xenstore has a corresponding entry in JSON.
    The workflow is as followed:
       lock json config
           read json config
           update in-memory json config with new entry, replacing
             any stale entry
           for loop
               open xs transaction
               check device existence, abort if it exists
               write in-memory json config to disk
               commit xs transaction
           end for loop
       unlock json config
    Please see comment in libxl_internal.h for correctness proof.
    As those routines are called both during domain creation and device
    hotplug, we add a flag to indicate whether we need to update JSON
    config. This flag is only set to true when we hotplug a device. We
    cannot update JSON config during domain creation as JSON config is
    committed to disk only when domain creation finishes.
    Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
    Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

commit a788fe0cd8bcb51ef167fc451f837066362d8c82
Author: Wei Liu <wei.liu2@xxxxxxxxxx>
Date:   Tue Sep 16 11:01:11 2014 +0100

    libxl: rework domain userdata file lock
    The lock introduced in d2cd9d4f ("libxl: functions to lock / unlock
    libxl userdata store") has a bug that can leak the lock file when domain
    destruction races with other functions that try to get hold of the lock.
    There are several issues:
    1. The lock is released too early with libxl__userdata_destroyall
       deletes everything in userdata store, including the lock file.
    2. The check of domain existence is only done at the beginning of lock
       function, by the time the lock is acquired, the domain might have
       been gone already.
    The effect of this two issues is we can run into such situation:
         Process 1                        Process 2 domain destruction
       # LOCK FUNCTION                 # LOCK FUNCTION
        check domain existence          check domain existence
                                        acquire lock (file created)
                                       # LOCK FUNCTION
                                        destroy all files (lock file deleted,
                                                           lock released)
        acquire lock (file created)
       # LOCK FUNCTION                  destroy domain
                                       # UNLOCK (close fd only)
       [ lock file leaked ]
    Fix this problem by deploying following changes:
    1. Unlink lock file in unlock function.
    2. Modify libxl__userdata_destroyall to not delete domain-userdata-lock,
       so that the lock remains held until unlock function is called.
    3. Check domain still exists when the lock is acquired, unlock if
       domain is already gone.
    Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
    Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
(qemu changes not included)

Xen-devel mailing list



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