summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Pitt <martin.pitt@ubuntu.com>2016-04-24 21:36:14 (GMT)
committerMartin Pitt <martin.pitt@ubuntu.com>2016-04-24 21:36:14 (GMT)
commitabfc34e2a0f83cf0a7eb14b6fa263589cbd3f0a7 (patch)
treed399daf57fd93dc2b25e4b7412bafc1ac1e9cf2d
parent4ead233db76e17c1cc2a09119aacc5ba833cf4a9 (diff)
adt-virt-qemu: Call eofcat helper with PYTHONHASHSEED=0
This avoids long hangs after booting the VM until the RNG gets initialized. (See #822431 for details) This supersedes the previous workaround from commit b0eefbb, revert that. Closes: #821778
-rw-r--r--debian/changelog6
-rwxr-xr-xvirt-subproc/adt-virt-qemu5
2 files changed, 4 insertions, 7 deletions
diff --git a/debian/changelog b/debian/changelog
index b5c0863..0c5d9d7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -7,9 +7,9 @@ autopkgtest (3.20.5) UNRELEASED; urgency=medium
* If git clone fails with "--git-source" the first time, retry after 15
seconds. This should defend short temporary network glitches.
(LP: #1571979)
- * Add temporary workaround for python3.5 regression in 3.5.1-11 (see
- #822431), by running python3.5 with a long timeout the first time (until
- the RNG got initialized). (Closes: #821778)
+ * adt-virt-qemu: Call eofcat helper with PYTHONHASHSEED=0 to avoid long
+ hangs after booting the VM until the RNG gets initialized. (See #822431
+ for details) (Closes: #821778)
* adt-virt-ssh: Fix UnboundLocalError crash when logging in as root.
* Fix running for multiple actions in one command line: (Closes: #822285)
- Close the summary stream after the last test, not after the first.
diff --git a/virt-subproc/adt-virt-qemu b/virt-subproc/adt-virt-qemu
index aedbb9f..fe30a14 100755
--- a/virt-subproc/adt-virt-qemu
+++ b/virt-subproc/adt-virt-qemu
@@ -372,7 +372,7 @@ t_stderr.start()
# "real" stdin behaviour.
s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
s.connect('%(tty)s')
-cmd = '/bin/eofcat %%(d)s/stdin_eof %%(d)s/exit.tmp < %%(d)s/stdin | ' \\
+cmd = 'PYTHONHASHSEED=0 /bin/eofcat %%(d)s/stdin_eof %%(d)s/exit.tmp < %%(d)s/stdin | ' \\
'(%%(c)s >> %%(d)s/stdout 2>> %%(d)s/stderr; echo $? > %%(d)s/exit.tmp);' \\
'mv %%(d)s/exit.tmp %%(d)s/exit\\n' %% \\
{'d': job_guest, 'c': ' '.join(map(pipes.quote, sys.argv[1:]))}
@@ -409,9 +409,6 @@ sys.exit(rc == 255 and 253 or rc)
VirtSubproc.auxverb = [auxverb]
- # temporary workaround for Python bug (https://bugs.debian.org/822431)
- VirtSubproc.execute_timeout(None, 180, VirtSubproc.auxverb + ['true'])
-
# verify that we can connect
status = VirtSubproc.execute_timeout(None, 5, VirtSubproc.auxverb + ['true'])[0]
if status == 0: