[Bug 1646042] Re: Timeout running long script using adt-virt-qemu

Richard Huddie richard.huddie at canonical.com
Thu Dec 1 20:30:26 UTC 2016


Some more investigation shows some slightly different behaviour
depending on what format data is sent in. If there is a single line (as
above in echo example) of >4096 bytes then it is received as a 4096
chunk using a read() and executed, appending '\n'. The remaining
commands from next chunk don't get executed in this case.

If there are commands sent on multiple lines, (e.g. socket.send(b'echo
aaa\necho bbb\n')) then each line is received in a separate read() and
then executed. Result of each read() is returned in a write(). If the
individual lines exceed 4096 then they will also be truncated.

For the case of the test log file the lines are less than 4096, but the
last command hangs on write(), which I've not been able to reproduce yet
using a dummy script.

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to autopkgtest in Ubuntu.
https://bugs.launchpad.net/bugs/1646042

Title:
  Timeout running long script using adt-virt-qemu

Status in autopkgtest package in Ubuntu:
  New

Bug description:
  
  When using adt-virt-qemu to run a script that is larger than ~4215 bytes on a qemu image, the script fails to start execution and a timeout occurs.

  This behaviour was observed when attempting to unpack a large list of
  deb files when running the qemu with ro-apt setup-command. A full test
  log is shown at [1].

  For smaller scripts it works fine. But when the script size is about
  4215 bytes or more it will start to timeout and fail. I've tried
  bulking out a smaller script with comment lines to confirm the problem
  is related to the size of the script, rather than the commands in the
  script. I've also checked that the number of bytes returned by the
  socket.send() at [2] is correct to confirm it is sending the whole
  script.

  Simple steps to reproduce:

  $ python -c 'print "echo " * 1000' > /tmp/scr
  $ autopkgtest -d --setup-commands /tmp/scr tests/testpkg-simple/ -- qemu /srv/vm/autopkgtest-zesty-amd64.img

  
  [1] http://pastebin.ubuntu.com/23529002/
  [2] https://anonscm.debian.org/git/autopkgtest/autopkgtest.git/tree/virt/autopkgtest-virt-qemu#n384

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/autopkgtest/+bug/1646042/+subscriptions



More information about the foundations-bugs mailing list