Control: reassign -1 autopkgtest
Control: retitle -1 autopkgtest: corrupts output stream when --output-dir is 
not passed
Control: notfound -1 2.14.1
Control: found -1 2.15

Hello Stefano and autopkgtest-devel,

On Mon, May 05, 2014 at 12:30:16AM +0200, Stefano Rivera wrote:
> Package: debci
> Severity: normal
> 
> http://ci.debian.net/data/unstable-amd64/packages/b/beautifulsoup4/2014-05-03.log
> 
> Only has the output of unittests3, not the unittests ADT suite.
> 
> This seems to have started, for the beautifulsoup4 package, somewhere
> between April 25 and May 2.

That was when I upgraded from autopkgtest 2.13 to autopkgtest 2.15 which
had just entered testing.

Starting with version 2.15, autopkgtest corrupts the output stream when
the --output-dir is not used. Some amount of bytes from the beginning of
the stream are lost, and several 0 bytes are inserted at the middle of
the output. This is currently breaking log files in ci.debian.net.

More examples:
http://ci.debian.net/data/unstable-amd64/packages/r/rubygems-integration/2014-05-03.log
http://ci.debian.net/data/unstable-amd64/packages/w/why/2014-05-03.log

I was able to bisect on ci.debian.net reaching the conclusion that 2.14.1 is
the last unaffected version with the attached script.

$ dpkg-query --show autopkgtest
autopkgtest     2.14.1
$ /tmp/test
with --output-dir: OK
without --output-dir: OK

$ dpkg-query --show autopkgtest
autopkgtest     2.15
$ /tmp/test
with --output-dir: OK
without --output-dir: BROKEN

$ dpkg-query --show autopkgtest
autopkgtest     2.16
$ /tmp/test
with --output-dir: OK
without --output-dir: BROKEN

I was also able to reproduce the problem locally against autopkgtest
2.16 on my sid development box using the same said script.

In the mean time I had downgraded ci.debian.net to autopkgtest 2.14.1
from snapshot.debian.org and put it on hold.

-- 
Antonio Terceiro <[email protected]>
#!/bin/sh

rm -rf /tmp/log.1 /tmp/artifacts.1

(
  echo START
  adt-run --user debci --gnupg-home=/usr/share/debci/gnupg --output-dir 
/tmp/artifacts.1 rubygems-integration --- adt-virt-schroot debci-unstable-amd64
  echo END

) >/tmp/log.1 2>&1

(
  echo START
  adt-run --user debci --gnupg-home=/usr/share/debci/gnupg rubygems-integration 
--- adt-virt-schroot debci-unstable-amd64
  echo END

) >/tmp/log.2 2>&1

if grep -q START /tmp/log.1; then
  echo "with --output-dir: OK"
else
  echo "with --output-dir: BROKEN"
fi

if grep -q START /tmp/log.2; then
  echo "without --output-dir: OK"
else
  echo "without --output-dir: BROKEN"
fi

Attachment: signature.asc
Description: Digital signature

Reply via email to