Patchwork run-tests: "fix" race condition in race condition fix

login
register
mail settings
Submitter timeless
Date Jan. 22, 2016, 8:08 p.m.
Message ID <CAAKMeYi2ZL064HZgeVX8_dCap52OBG1FJsZthGV2WRm3r3b4oA@mail.gmail.com>
Download mbox | patch
Permalink /patch/12870/
State Accepted
Commit a6833e464b070c2f51edff8d6e55be79f5d9db22
Headers show

Comments

timeless - Jan. 22, 2016, 8:08 p.m.
Pierre-Yves David wrote:
> How much of your issue is related to "bryan patch failure to fix the race
> introduced by Laurent" and how much is it of "run-tests.py interruption have
> been borked since forever"?

all of it.

> I've personnally never have been confortable with ctrl^C run-tests.py in years.

I've always been moderately annoyed by it, but I do get a prompt if I
don't try to fix the errors. If I or anyone else (i.e. bos) tries to
fix the channel stuff, the result tends to be no prompt because
something swallows something and the script doesn't terminate, which
is definitely worse than some ugly exceptions.

(py)[timeless@gcc2-power8 tests]$ hg log -r .
changeset:   30698:6bb64e83ac18
branch:      stable
tag:         tip
parent:      30636:0b752757a0c4
user:        Bryan O'Sullivan <bryano@fb.com>
date:        Fri Jan 22 11:00:13 2016 -0800
summary:     run-tests: "fix" race condition in race condition fix

(py)[timeless@gcc2-power8 tests]$ hg strip .
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
saved backup bundle to
/home/timeless/hg/crew/.hg/strip-backup/6bb64e83ac18-ca92afae-backup.hg
(py)[timeless@gcc2-power8 tests]$ ./run-tests.py -l -j120
..sss.s.ss..sss

ERROR: test-check-execute.t output changed
!....s.s...........................................s.........s...........................s............s..............s...s.s.......^C
Skipped test-convert-svn-move.t: missing feature: subversion python bindings
Skipped test-convert-svn-source.t: missing feature: subversion python bindings
Skipped test-convert-svn-encoding.t: missing feature: subversion python bindings
Skipped test-convert-cvs-synthetic.t: missing feature: cvs client/server >= 1.12
Skipped test-convert-hg-svn.t: missing feature: subversion python bindings
Skipped test-convert-svn-branches.t: missing feature: subversion python bindings
Skipped test-convert-p4-filetypes.t: missing feature: Perforce server and client
Skipped test-convert-svn-startrev.t: missing feature: subversion python bindings
Skipped test-https.t: missing feature: (python >= 2.6 ssl module and
python OpenSSL) OR python >= 2.7.9 ssl
Skipped test-convert-mtn.t: missing feature: monotone client (>= 1.0)
Skipped test-convert-svn-tags.t: missing feature: subversion python bindings
Skipped test-casecollision-merge.t: missing feature: case insensitive
file system
Skipped test-convert-bzr.t: missing feature: Canonical's Bazaar client
Skipped test-convert-baz.t: missing feature: GNU Arch baz client
Skipped test-casefolding.t: missing feature: case insensitive file system
Skipped test-convert-bzr-directories.t: missing feature: Canonical's
Bazaar client
Skipped test-convert-p4.t: missing feature: Perforce server and client
Skipped test-convert-tla.t: missing feature: GNU Arch tla client
Failed test-check-execute.t: output changed
# Ran 248 tests, 18 skipped, 0 warned, 1 failed.
python hash seed: 3021424949
INTERRUPTED: test-init.t (after 0 seconds)
INTERRUPTED: test-copy.t (after 0 seconds)
INTERRUPTED: test-commit.t (after 0 seconds)
INTERRUPTED: test-module-imports.t (after 0 seconds)
INTERRUPTED: test-clone.t (after 0 seconds)
INTERRUPTED: test-graft.t (after 0 seconds)
INTERRUPTED: test-mq-qrefresh.t (after 0 seconds)
Exception in thread test-module-imports.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-obsolete-divergent.t (after 0 seconds)
INTERRUPTED: test-grep.t (after 0 seconds)Exception in thread test-init.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range


Exception in thread test-copy.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

Exception in thread test-grep.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-histedit-bookmark-motion.t (after 0
seconds)Exception in thread test-commit.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range


Exception in thread test-histedit-bookmark-motion.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

Exception in thread test-obsolete-divergent.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-issue3084.t (after 20 seconds)
INTERRUPTED: test-censor.t (after 20 seconds)Exception in thread
test-mq-qrefresh.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

Exception in thread test-issue3084.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range


Exception in thread test-graft.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-filebranch.t (after 20 seconds)
Exception in thread test-censor.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-obsolete-tag-cache.t (after 20 seconds)
Exception in thread test-filebranch.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-rename-merge1.t (after 20 seconds)Exception in
thread test-obsolete-tag-cache.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range


INTERRUPTED: test-check-code.t (after 20 seconds)Exception in thread
test-rename-merge1.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range


Exception in thread test-clone.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-histedit-outgoing.t (after 20 seconds)
Exception in thread test-check-code.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-share.t (after 20 seconds)
Exception in thread test-share.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

Exception in thread test-histedit-outgoing.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-repair-strip.t (after 0 seconds)
Exception in thread test-repair-strip.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-conflict.t (after 8 seconds)
Exception in thread test-conflict.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-rollback.t (after 9 seconds)
Exception in thread test-rollback.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-export.t (after 9 seconds)
Exception in thread test-export.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-inherit-mode.t (after 1 seconds)
Exception in thread test-inherit-mode.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-convert-hg-source.t (after 6 seconds)
Exception in thread test-convert-hg-source.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-extension.t (after 48 seconds)
Exception in thread test-extension.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-static-http.t (after 2 seconds)
Exception in thread test-static-http.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-flags.t (after 1 seconds)
Exception in thread test-flags.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-hghave.t (after 30 seconds)
Exception in thread test-hghave.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-http-clone-r.t (after 13 seconds)
Exception in thread test-http-clone-r.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-mq-qclone-http.t (after 1 seconds)
INTERRUPTED: test-rebase-detach.t (after 15 seconds)Exception in
thread test-mq-qclone-http.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range


Exception in thread test-rebase-detach.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-diff-color.t (after 4 seconds)
Exception in thread test-diff-color.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-parse-date.t (after 24 seconds)
Exception in thread test-parse-date.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-diff-ignore-whitespace.t (after 22 seconds)
INTERRUPTED: test-debugcommands.t (after 5 seconds)Exception in thread
test-diff-ignore-whitespace.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range


Exception in thread test-debugcommands.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-eol-hook.t (after 13 seconds)
Exception in thread test-eol-hook.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-annotate.t (after 39 seconds)
INTERRUPTED: test-up-local-change.t (after 12 seconds)
Exception in thread test-annotate.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-merge7.t (after 2 seconds)
Exception in thread test-up-local-change.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

Exception in thread test-merge7.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-copy-move-merge.t (after 2 seconds)
Exception in thread test-copy-move-merge.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-convert-splicemap.t (after 16 seconds)
Exception in thread test-convert-splicemap.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-generaldelta.t (after 12 seconds)
Exception in thread test-generaldelta.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-mq-eol.t (after 2 seconds)
Exception in thread test-mq-eol.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-fetch.t (after 48 seconds)
Exception in thread test-fetch.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-bisect3.t (after 14 seconds)
Exception in thread test-bisect3.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-mq-qpush-fail.t (after 7 seconds)
INTERRUPTED: test-mq-safety.t (after 7 seconds)Exception in thread
test-mq-qpush-fail.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range


Exception in thread test-mq-safety.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-treediscovery-legacy.t (after 33 seconds)
Exception in thread test-treediscovery-legacy.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-treediscovery.t (after 48 seconds)
Exception in thread test-treediscovery.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-rebase-interruptions.t (after 3 seconds)
Exception in thread test-rebase-interruptions.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-backout.t (after 48 seconds)
Exception in thread test-backout.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-histedit-non-commute-abort.t (after 3 seconds)
Exception in thread test-histedit-non-commute-abort.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-rebase-newancestor.t (after 24 seconds)
Exception in thread test-rebase-newancestor.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-symlinks.t (after 7 seconds)
Exception in thread test-symlinks.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-blackbox.t (after 3 seconds)
Exception in thread test-blackbox.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-rebase-parameters.t (after 28 seconds)
Exception in thread test-rebase-parameters.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-histedit-drop.t (after 3 seconds)
Exception in thread test-histedit-drop.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-transplant.t (after 48 seconds)
Exception in thread test-transplant.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-rebase-collapse.t (after 48 seconds)
Exception in thread test-rebase-collapse.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-rebase-named-branches.t (after 20 seconds)
Exception in thread test-rebase-named-branches.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-strip-cross.t (after 10 seconds)
Exception in thread test-strip-cross.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-status.t (after 35 seconds)
Exception in thread test-status.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-churn.t (after 13 seconds)
Exception in thread test-churn.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-newbranch.t (after 23 seconds)
Exception in thread test-newbranch.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-subrepo-git.t (after 49 seconds)
Exception in thread test-subrepo-git.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-phases-exchange.t (after 49 seconds)
Exception in thread test-phases-exchange.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-rebase-bookmarks.t (after 5 seconds)
Exception in thread test-rebase-bookmarks.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-push-http-bundle1.t (after 12 seconds)
Exception in thread test-push-http-bundle1.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-subrepo.t (after 49 seconds)
Exception in thread test-subrepo.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-subrepo-svn.t (after 49 seconds)
Exception in thread test-subrepo-svn.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-rebase-obsolete.t (after 49 seconds)
Exception in thread test-rebase-obsolete.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-rebase-mq-skip.t (after 1 seconds)
Exception in thread test-rebase-mq-skip.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-diff-unified.t (after 6 seconds)
Exception in thread test-diff-unified.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-import.t (after 49 seconds)
Exception in thread test-import.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-rebase-rename.t (after 21 seconds)
Exception in thread test-rebase-rename.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-bookmarks-current.t (after 4 seconds)
Exception in thread test-bookmarks-current.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-setdiscovery.t (after 44 seconds)
Exception in thread test-setdiscovery.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-gendoc.t (after 49 seconds)
INTERRUPTED: test-mq-qnew.t (after 30 seconds)Exception in thread test-gendoc.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range


Exception in thread test-mq-qnew.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-push-warn.t (after 49 seconds)
Exception in thread test-push-warn.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-import-merge.t (after 4 seconds)
Exception in thread test-import-merge.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-shelve.t (after 49 seconds)
Exception in thread test-shelve.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-push-http.t (after 13 seconds)
Exception in thread test-push-http.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-convert-hg-startrev.t (after 6 seconds)
Exception in thread test-convert-hg-startrev.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-purge.t (after 8 seconds)
Exception in thread test-purge.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-obsolete-changeset-exchange.t (after 6 seconds)
Exception in thread test-obsolete-changeset-exchange.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-bookmarks-merge.t (after 3 seconds)
Exception in thread test-bookmarks-merge.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-mq-qfold.t (after 7 seconds)
Exception in thread test-mq-qfold.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-bisect.t (after 49 seconds)
Exception in thread test-bisect.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-subrepo-deep-nested-change.t (after 49 seconds)
Exception in thread test-subrepo-deep-nested-change.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-mq.t (after 50 seconds)
Exception in thread test-mq.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-log.t (after 50 seconds)
Exception in thread test-log.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-add.t (after 9 seconds)
Exception in thread test-add.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-rebase-mq.t (after 20 seconds)
Exception in thread test-rebase-mq.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-bheads.t (after 28 seconds)
Exception in thread test-bheads.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-bookmarks.t (after 50 seconds)
Exception in thread test-bookmarks.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-revert.t (after 50 seconds)
Exception in thread test-revert.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-alias.t (after 50 seconds)
Exception in thread test-alias.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-strip.t (after 50 seconds)
Exception in thread test-strip.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-remove.t (after 11 seconds)
Exception in thread test-remove.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-mq-guards.t (after 44 seconds)
Exception in thread test-mq-guards.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-largefiles.t (after 51 seconds)
Exception in thread test-largefiles.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-mq-subrepo.t (after 50 seconds)
Exception in thread test-mq-subrepo.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-mq-qpush-exact.t (after 13 seconds)
Exception in thread test-mq-qpush-exact.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-obsolete.t (after 51 seconds)
Exception in thread test-obsolete.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-keyword.t (after 51 seconds)
Exception in thread test-keyword.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-update-branches.t (after 20 seconds)
Exception in thread test-update-branches.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-fileset.t (after 19 seconds)
Exception in thread test-fileset.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-merge-changedelete.t (after 51 seconds)
Exception in thread test-merge-changedelete.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

^CINTERRUPTED: test-merge-tools.t (after 51 seconds)
Exception in thread test-merge-tools.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-bundle2-exchange.t (after 51 seconds)
Exception in thread test-bundle2-exchange.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-mq-header-from.t (after 52 seconds)
Exception in thread test-mq-header-from.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-commit-amend.t (after 52 seconds)
Exception in thread test-commit-amend.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-mq-header-date.t (after 52 seconds)
Exception in thread test-mq-header-date.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-merge-force.t (after 53 seconds)
Exception in thread test-merge-force.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-rename-merge2.t (after 54 seconds)
Exception in thread test-rename-merge2.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-glog.t (after 55 seconds)
Exception in thread test-glog.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-largefiles-update.t (after 55 seconds)
Exception in thread test-largefiles-update.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-bookmarks-pushpull.t (after 55 seconds)
Exception in thread test-bookmarks-pushpull.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

INTERRUPTED: test-revset.t (after 57 seconds)
Exception in thread test-revset.t:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "./run-tests.py", line 1532, in job
    channels[channel] = ''
IndexError: list assignment index out of range

Exception KeyboardInterrupt in <module 'threading' from
'/usr/lib64/python2.7/threading.pyc'> ignored
(py)[timeless@gcc2-power8 tests]$

Note that eventually, I get a prompt. Strictly speaking, bos's patches
(and my attempts) result in a regression from this state.
Pierre-Yves David - Jan. 22, 2016, 8:37 p.m.
On 01/22/2016 12:08 PM, timeless wrote:
> Pierre-Yves David wrote:
>> How much of your issue is related to "bryan patch failure to fix the race
>> introduced by Laurent" and how much is it of "run-tests.py interruption have
>> been borked since forever"?
>
> all of it.
>
>> I've personnally never have been confortable with ctrl^C run-tests.py in years.
>
> I've always been moderately annoyed by it, but I do get a prompt if I
> don't try to fix the errors. If I or anyone else (i.e. bos) tries to
> fix the channel stuff, the result tends to be no prompt because
> something swallows something and the script doesn't terminate, which
> is definitely worse than some ugly exceptions.

What's the way forward here, is the Bryan approach adjustable to provide 
good result? Do you have an alternative in mind? should we backout 
Laurent's patch?

Patch

--- /home/timeless/hg/crew/tests/test-check-execute.t
+++ /home/timeless/hg/crew/tests/test-check-execute.t.err
@@ -5,6 +5,7 @@ 
 look for python scripts without the execute bit

   $ hg files 'set:**.py and not exec() and grep(r"^#!.*?python")'
+  obsolete feature not enabled but 97599 markers found!
   [1]

 look for python scripts with execute bit but not shebang