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

[xen-4.7-testing test] 125749: regressions - trouble: blocked/broken/fail/pass



flight 125749 xen-4.7-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/125749/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-pvops               <job status>                 broken
 build-arm64-xsm                 <job status>                 broken
 build-arm64                     <job status>                 broken
 test-amd64-i386-libvirt-pair 22 guest-migrate/src_host/dst_host fail REGR. vs. 
125057

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-credit2 16 guest-start/debian.repeat fail in 125708 pass 
in 125749
 test-xtf-amd64-amd64-5   50 xtf/test-hvm64-lbr-tsx-vmentry fail pass in 125708
 test-amd64-amd64-libvirt-pair 22 guest-migrate/src_host/dst_host fail pass in 
125708

Regressions which are regarded as allowable (not blocking):
 build-arm64                   2 hosts-allocate         broken REGR. vs. 125057
 build-arm64-pvops             2 hosts-allocate         broken REGR. vs. 125057
 build-arm64-xsm               2 hosts-allocate         broken REGR. vs. 125057

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 build-arm64-libvirt           1 build-check(1)               blocked  n/a
 build-arm64                   3 capture-logs          broken blocked in 125057
 build-arm64-pvops             3 capture-logs          broken blocked in 125057
 build-arm64-xsm               3 capture-logs          broken blocked in 125057
 test-armhf-armhf-xl-rtds 16 guest-start/debian.repeat fail in 125708 like 
125057
 test-arm64-arm64-xl-credit2 13 migrate-support-check fail in 125708 never pass
 test-arm64-arm64-xl-credit2 14 saverestore-support-check fail in 125708 never 
pass
 test-arm64-arm64-xl-xsm     13 migrate-support-check fail in 125708 never pass
 test-arm64-arm64-xl         13 migrate-support-check fail in 125708 never pass
 test-arm64-arm64-xl-xsm 14 saverestore-support-check fail in 125708 never pass
 test-arm64-arm64-xl     14 saverestore-support-check fail in 125708 never pass
 test-arm64-arm64-libvirt-xsm 13 migrate-support-check fail in 125708 never pass
 test-arm64-arm64-libvirt-xsm 14 saverestore-support-check fail in 125708 never 
pass
 test-xtf-amd64-amd64-1      50 xtf/test-hvm64-lbr-tsx-vmentry fail like 125057
 test-armhf-armhf-libvirt-raw 13 saverestore-support-check    fail  like 125057
 test-armhf-armhf-libvirt     14 saverestore-support-check    fail  like 125057
 test-amd64-i386-xl-qemut-win7-amd64 17 guest-stop             fail like 125057
 test-amd64-amd64-xl-qemuu-win7-amd64 17 guest-stop            fail like 125057
 test-amd64-i386-xl-qemuu-win7-amd64 17 guest-stop             fail like 125057
 test-amd64-amd64-xl-qemut-win7-amd64 17 guest-stop            fail like 125057
 test-amd64-i386-xl-qemut-ws16-amd64 17 guest-stop             fail like 125057
 test-amd64-i386-xl-qemuu-ws16-amd64 17 guest-stop             fail like 125057
 test-amd64-amd64-xl-qemuu-ws16-amd64 17 guest-stop            fail like 125057
 test-amd64-amd64-xl-rtds     10 debian-install               fail  like 125057
 test-amd64-amd64-xl-qemut-ws16-amd64 17 guest-stop            fail like 125057
 test-amd64-amd64-libvirt-xsm 13 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  13 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     13 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      13 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 11 migrate-support-check 
fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 11 migrate-support-check 
fail never pass
 test-amd64-amd64-libvirt-vhd 12 migrate-support-check        fail   never pass
 test-amd64-amd64-qemuu-nested-amd 17 debian-hvm-install/l1/l2  fail never pass
 test-armhf-armhf-libvirt-raw 12 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  13 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  14 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     13 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          13 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          14 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 13 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 14 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      12 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      13 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     13 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     14 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 13 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 14 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  13 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  14 saverestore-support-check    fail   never pass
 test-amd64-amd64-xl-qemut-win10-i386 10 windows-install        fail never pass
 test-amd64-amd64-xl-qemuu-win10-i386 10 windows-install        fail never pass
 test-amd64-i386-xl-qemuu-win10-i386 10 windows-install         fail never pass
 test-amd64-i386-xl-qemut-win10-i386 10 windows-install         fail never pass

version targeted for testing:
 xen                  91ca84c862b15fe74ab9b5870e66903aec4f86dd
baseline version:
 xen                  280a5568939c4a5832be787c8e0c23a19f30935a

Last test of basis   125057  2018-07-09 08:36:04 Z   28 days
Testing same since   125685  2018-07-30 12:39:38 Z    7 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  Jan Beulich <jbeulich@xxxxxxxx>
  Julien Grall <julien.grall@xxxxxxx>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              broken  
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  broken  
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          blocked 
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            broken  
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 build-amd64-rumprun                                          pass    
 build-i386-rumprun                                           pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64-xsm                pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64-xsm                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-xsm                pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-xsm                 pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 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-rumprun-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-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-i386-rumprun-i386                                 pass    
 test-amd64-amd64-xl-qemut-win10-i386                         fail    
 test-amd64-i386-xl-qemut-win10-i386                          fail    
 test-amd64-amd64-xl-qemuu-win10-i386                         fail    
 test-amd64-i386-xl-qemuu-win10-i386                          fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-amd64-pvgrub                                pass    
 test-amd64-amd64-i386-pvgrub                                 pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-xl-raw                                       pass    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-xl-vhd                                      pass    


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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job build-arm64-pvops broken
broken-job build-arm64-xsm broken
broken-job build-arm64 broken
broken-step build-arm64 hosts-allocate
broken-step build-arm64-pvops hosts-allocate
broken-step build-arm64-xsm hosts-allocate
broken-step build-arm64 capture-logs
broken-step build-arm64-pvops capture-logs
broken-step build-arm64-xsm capture-logs

Not pushing.

------------------------------------------------------------
commit 91ca84c862b15fe74ab9b5870e66903aec4f86dd
Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Date:   Mon Jul 30 14:13:09 2018 +0200

    x86/spec-ctrl: Fix the parsing of xpti= on fixed Intel hardware
    
    The calls to xpti_init_default() in parse_xpti() are buggy.  The CPUID data
    hasn't been fetched that early, and boot_cpu_has(X86_FEATURE_ARCH_CAPS) will
    always evaluate false.
    
    As a result, the default case won't disable XPTI on Intel hardware which
    advertises ARCH_CAPABILITIES_RDCL_NO.
    
    Simplify parse_xpti() to solely the setting of opt_xpti according to the
    passed string, and have init_speculation_mitigations() call
    xpti_init_default() if appropiate.  Drop the force parameter, and pass caps
    instead, to avoid redundant re-reading of MSR_ARCH_CAPS.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    Reviewed-by: Juergen Gross <jgross@xxxxxxxx>
    Reviewed-by: Wei Liu <wei.liu2@xxxxxxxxxx>
    Acked-by: Jan Beulich <jbeulich@xxxxxxxx>
    master commit: be5e2ff6f54e0245331ed360b8786760f82fd673
    master date: 2018-07-24 11:25:54 +0100

commit bce2dd64b52ee032f5a84454577c3a41147e6633
Author: Jan Beulich <jbeulich@xxxxxxxx>
Date:   Mon Jul 30 14:12:39 2018 +0200

    x86: command line option to avoid use of secondary hyper-threads
    
    Shared resources (L1 cache and TLB in particular) present a risk of
    information leak via side channels. Provide a means to avoid use of
    hyperthreads in such cases.
    
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Reviewed-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
    Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    master commit: d8f974f1a646c0200b97ebcabb808324b288fadb
    master date: 2018-07-19 13:43:33 +0100

commit fa807e2ff69db852b85f1e92ad4db4651cfceac7
Author: Jan Beulich <jbeulich@xxxxxxxx>
Date:   Mon Jul 30 14:11:42 2018 +0200

    x86: possibly bring up all CPUs even if not all are supposed to be used
    
    Reportedly Intel CPUs which can't broadcast #MC to all targeted
    cores/threads because some have CR4.MCE clear will shut down. Therefore
    we want to keep CR4.MCE enabled when offlining a CPU, and we need to
    bring up all CPUs in order to be able to set CR4.MCE in the first place.
    
    The use of clear_in_cr4() in cpu_mcheck_disable() was ill advised
    anyway, and to avoid future similar mistakes I'm removing clear_in_cr4()
    altogether right here.
    
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    Reviewed-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
    Reviewed-by: Wei Liu <wei.liu2@xxxxxxxxxx>
    master commit: 8797d20a6ec2dd75195585a107ce345c51c0a59a
    master date: 2018-07-19 13:43:33 +0100

commit 97aff087fd0bf7d2c64c949de1c3a0282609b3e1
Author: Jan Beulich <jbeulich@xxxxxxxx>
Date:   Mon Jul 30 14:10:58 2018 +0200

    x86: distinguish CPU offlining from CPU removal
    
    In order to be able to service #MC on offlined CPUs, the GDT, IDT,
    stack, and per-CPU data (which includes the TSS) need to be kept
    allocated. They should only be freed upon CPU removal (which we
    currently don't support, so some code is becoming effectively dead for
    the moment).
    
    Note that for now park_offline_cpus doesn't get set to true anywhere -
    this is going to be the subject of a subsequent patch.
    
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Reviewed-by: Wei Liu <wei.liu2@xxxxxxxxxx>
    Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    master commit: 2e6c8f182c9c50129b1c7a620242861e6ad6a9fb
    master date: 2018-07-19 13:43:33 +0100

commit e90e2431a4aee843db49db9a3ac7ee0d9e1bf8f0
Author: Jan Beulich <jbeulich@xxxxxxxx>
Date:   Mon Jul 30 14:10:30 2018 +0200

    x86/AMD: distinguish compute units from hyper-threads
    
    Fam17 replaces CUs by HTs, which we should reflect accordingly, even if
    the difference is not very big. The most relevant change (requiring some
    code restructuring) is that the topoext feature no longer means there is
    a valid CU ID.
    
    Take the opportunity and convert wrongly plain int variables in
    set_cpu_sibling_map() to unsigned int.
    
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Reviewed-by: Brian Woods <brian.woods@xxxxxxx>
    Reviewed-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
    Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    master commit: 9429b07a0af7f92a5f25e4068e11db881e157495
    master date: 2018-07-19 09:42:42 +0200

commit c0e854be515b1d0a827691ceece0d03d49a1fbe2
Author: Jan Beulich <jbeulich@xxxxxxxx>
Date:   Mon Jul 30 14:09:57 2018 +0200

    cpupools: fix state when downing a CPU failed
    
    While I've run into the issue with further patches in place which no
    longer guarantee the per-CPU area to start out as all zeros, the
    CPU_DOWN_FAILED processing looks to have the same issue: By not zapping
    the per-CPU cpupool pointer, cpupool_cpu_add()'s (indirect) invocation
    of schedule_cpu_switch() will trigger the "c != old_pool" assertion
    there.
    
    Clearing the field during CPU_DOWN_PREPARE is too early (afaict this
    should not happen before cpu_disable_scheduler()). Clearing it in
    CPU_DEAD and CPU_DOWN_FAILED would be an option, but would take the same
    piece of code twice. Since the field's value shouldn't matter while the
    CPU is offline, simply clear it (implicitly) for CPU_ONLINE and
    CPU_DOWN_FAILED, but only for other than the suspend/resume case (which
    gets specially handled in cpupool_cpu_remove()).
    
    By adjusting the conditional in cpupool_cpu_add() CPU_DOWN_FAILED
    handling in the suspend case should now also be handled better.
    
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Reviewed-by: Juergen Gross <jgross@xxxxxxxx>
    master commit: cb1ae9a27819cea0c5008773c68a7be6f37eb0e5
    master date: 2018-07-19 09:41:55 +0200

commit 9858a1f3fb9af4ca7d7f6b59d9b3e44d27cdfae6
Author: Jan Beulich <jbeulich@xxxxxxxx>
Date:   Mon Jul 30 14:09:19 2018 +0200

    allow cpu_down() to be called earlier
    
    The function's use of the stop-machine logic has so far prevented its
    use ahead of the processing of the "ordinary" initcalls. Since at this
    early time we're in a controlled environment anyway, there's no need for
    such a heavy tool. Additionally this ought to have less of a performance
    impact especially on large systems, compared to the alternative of
    making stop-machine functionality available earlier.
    
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Reviewed-by: Wei Liu <wei.liu2@xxxxxxxxxx>
    Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    master commit: 5894c0a2da66243a89088d309c7e1ea212ab28d6
    master date: 2018-07-16 15:15:12 +0200

commit a4041364c3aea8444e7e0454e9de5ba92e6419b8
Author: Jan Beulich <jbeulich@xxxxxxxx>
Date:   Mon Jul 30 14:08:42 2018 +0200

    x86/spec-ctrl: command line handling adjustments
    
    For one, "no-xen" should not imply "no-eager-fpu", as "eager FPU" mode
    is to guard guests, not Xen itself, which is also expressed so by
    print_details().
    
    And then opt_ssbd, despite being off by default, should also be cleared
    by the "no" and "no-xen" sub-options.
    
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    master commit: ac3f9a72141a48d40fabfff561d5a7dc0e1b810d
    master date: 2018-07-10 12:22:31 +0200

commit dc111e9f0d99761c62109055ae30f66aebcb556a
Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Date:   Mon Jul 30 14:08:08 2018 +0200

    xen: Port the array_index_nospec() infrastructure from Linux
    
    This is as the infrastructure appeared in Linux 4.17, adapted slightly for
    Xen.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    Signed-off-by: Julien Grall <julien.grall@xxxxxxx>
    Acked-by: Jan Beulich <jbeulich@xxxxxxxx>
    master commit: 2ddfae51d8b1d7b8cd33a4f6ad4d16d27cb869ae
    master date: 2018-07-06 16:49:57 +0100

commit 087369973214d9aef83a3cdf057257cf27e252f4
Author: Jan Beulich <jbeulich@xxxxxxxx>
Date:   Mon Jul 30 14:06:44 2018 +0200

    cmdline: fix parse_boolean() for NULL incoming end pointer
    
    Use the calculated lengths instead of pointers, as 'e' being NULL will
    otherwise cause undue parsing failures.
    
    Reported-by: Karl Johnson <karljohnson.it@xxxxxxxxx>
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
(qemu changes not included)

_______________________________________________
osstest-output mailing list
osstest-output@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/osstest-output

 


Rackspace

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