#852964 golang-github-hashicorp-yamux: FTBFS randomly (failing tests)

#852964#5
Date:
2017-01-28 15:11:03 UTC
From:
To:
Dear maintainer:

I tried to build this package in stretch with "dpkg-buildpackage -A"
but it failed:
--------------------------------------------------------------------------------
[...]
 debian/rules build-indep
dh build-indep --buildsystem=golang --with=golang
   dh_testdir -i -O--buildsystem=golang
   dh_update_autotools_config -i -O--buildsystem=golang
   dh_auto_configure -i -O--buildsystem=golang
   dh_auto_build -i -O--buildsystem=golang
	go install -v -p 1 github.com/hashicorp/yamux
github.com/hashicorp/yamux
   dh_auto_test -i -O--buildsystem=golang
	go test -v -p 1 github.com/hashicorp/yamux
=== RUN   TestConst
--- PASS: TestConst (0.00s)
=== RUN   TestEncodeDecode
--- PASS: TestEncodeDecode (0.00s)

[... snipped ...]

=== RUN   TestGoAway
--- PASS: TestGoAway (0.00s)
=== RUN   TestManyStreams
--- PASS: TestManyStreams (0.60s)
=== RUN   TestManyStreams_PingPong
--- PASS: TestManyStreams_PingPong (1.30s)
=== RUN   TestHalfClose
--- PASS: TestHalfClose (0.00s)
=== RUN   TestReadDeadline
--- PASS: TestReadDeadline (0.01s)
=== RUN   TestWriteDeadline
--- PASS: TestWriteDeadline (0.05s)
=== RUN   TestBacklogExceeded
--- PASS: TestBacklogExceeded (0.02s)
=== RUN   TestKeepAlive
--- PASS: TestKeepAlive (0.20s)
=== RUN   TestKeepAlive_Timeout
--- PASS: TestKeepAlive_Timeout (0.35s)
=== RUN   TestLargeWindow
--- PASS: TestLargeWindow (0.01s)
=== RUN   TestSendData_VeryLarge
2017/01/28 00:54:09 [ERR] yamux: keepalive failed: session shutdown
--- FAIL: TestSendData_VeryLarge (20.00s)
panic: timeout [recovered]
	panic: timeout

goroutine 376 [running]:
panic(0x516d80, 0xc4201eb130)
	/usr/lib/go-1.7/src/runtime/panic.go:500 +0x1a1
testing.tRunner.func1(0xc420018900)
	/usr/lib/go-1.7/src/testing/testing.go:579 +0x25d
panic(0x516d80, 0xc4201eb130)
	/usr/lib/go-1.7/src/runtime/panic.go:458 +0x243
github.com/hashicorp/yamux.TestSendData_VeryLarge(0xc420018900)
	/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/github.com/hashicorp/yamux/session_test.go:900 +0x2f2
testing.tRunner(0xc420018900, 0x558898)
	/usr/lib/go-1.7/src/testing/testing.go:610 +0x81
created by testing.(*T).Run
	/usr/lib/go-1.7/src/testing/testing.go:646 +0x2ec
exit status 2
FAIL	github.com/hashicorp/yamux	22.833s
dh_auto_test: go test -v -p 1 github.com/hashicorp/yamux returned exit code 1
debian/rules:4: recipe for target 'build-indep' failed
make: *** [build-indep] Error 1
dpkg-buildpackage: error: debian/rules build-indep gave error exit status 2
--------------------------------------------------------------------------------

This is just how the build ends, not necessarily the relevant part.

I've put several build logs here:

https://people.debian.org/~sanvila/build-logs/golang-github-hashicorp-yamux/

If this is really a bug in one of the build-depends, please use reassign and affects,
so that this is still visible in the page for this package.

The bug should be reproducible with sbuild on a single CPU virtual machine,
provided you try enough times (as the failure happens randomly).

Thanks.

#852964#12
Date:
2023-06-22 15:26:49 UTC
From:
To:
Hi,

I'm seeing flaky tests on ci.debian.net too [1]. Because the
unstable-to-testing migration software now blocks on regressions in
testing, flaky tests, i.e. tests that flip between passing and failing
without changes to the list of installed packages, are causing people
unrelated to your package to spend time on these tests. Therefor the
Release Team considers the issue of serious severity.

Paul

[1] https://ci.debian.net/packages/g/golang-github-hashicorp-yamux/

#852964#19
Date:
2023-07-03 00:51:10 UTC
From:
To:
Hi,

Paul Gevers <elbrus@debian.org> (2023-06-22):

I've encountered this a few times already but got told on #debci that
there were no problems at all…

Right now, that page only lists 0.0+git20190923.df201c7-1 for release
architectures in unstable (0.0+git20210316.a95892c-2 for riscv64 only)
while that upload happened 20+ days ago.

Clicking a random arch (amd64) gives me a huge list of tests for that
version, the last one having run on 2023-06-05. This makes no sense to
me.

This also means that the two archs where the failures seem to happen
(armel and armhf) have logs for failed tests with an obsolete version.
That doesn't quite help.

Migration to testing happened 2023-06-17, and yet the testing column has
a mix of both versions. This makes no sense to me either. At least,
there, we have logs for failed tests for the most recent version…


At the moment, I have only been able to produce a single occurrence of a
different problem:

    === RUN   TestGoAway
        session_test.go:536: err: <nil>
    2023/07/03 02:33:15 [WARN] yamux: frame for missing stream: Vsn:0 Type:1 Flags:1 StreamID:1 Length:0
    2023/07/03 02:33:15 [ERR] yamux: Failed to write header: io: read/write on closed pipe
    --- FAIL: TestGoAway (0.00s)


Cheers,

#852964#22
Date:
2023-07-19 10:31:03 UTC
From:
To:
Hello,

Bug #852964 in golang-github-hashicorp-yamux reported by you has been fixed in the
Git repository and is awaiting an upload. You can see the commit
message below and you can check the diff of the fix at:

https://salsa.debian.org/go-team/packages/golang-github-hashicorp-yamux/-/commit/aa3d5db16338f635ea6d7f14b4f70b9a6b893fd5
------------------------------------------------------------------------
Add patch to increase timeout in TestSendData_VeryLarge

Closes: #852964
------------------------------------------------------------------------

(this message was generated automatically)
-- 
Greetings

https://bugs.debian.org/852964

#852964#29
Date:
2023-07-19 10:35:30 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
golang-github-hashicorp-yamux, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 852964@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Shengjing Zhu <zhsj@debian.org> (supplier of updated golang-github-hashicorp-yamux package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Wed, 19 Jul 2023 18:27:45 +0800
Source: golang-github-hashicorp-yamux
Architecture: source
Version: 0.1.1-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Go Packaging Team <team+pkg-go@tracker.debian.org>
Changed-By: Shengjing Zhu <zhsj@debian.org>
Closes: 852964
Changes:
 golang-github-hashicorp-yamux (0.1.1-1) unstable; urgency=medium
 .
   * Team Upload
   * Watch file to track upstream tags
   * New upstream version 0.1.1
   * Add patch to fix flaky TestGoAway
   * Add patch to increase timeout in TestSendData_VeryLarge (Closes: #852964)
   * Update section to golang
   * Update maintainer address to team+pkg-go@tracker.debian.org
   * Add Rules-Requires-Root
Checksums-Sha1:
 7d83fbeb025cbfb4cb3cb6dae1b83eb901249701 1669 golang-github-hashicorp-yamux_0.1.1-1.dsc
 190b6792d1509f3fe96c53ee74c2595479c4c3ef 26020 golang-github-hashicorp-yamux_0.1.1.orig.tar.gz
 e3df3c9d2372373ea9465dbb291807780f16f2d6 8068 golang-github-hashicorp-yamux_0.1.1-1.debian.tar.xz
 6745daaf1abb8934dd1dc6e18900539f62abbc1b 5674 golang-github-hashicorp-yamux_0.1.1-1_amd64.buildinfo
Checksums-Sha256:
 2dce0acd3a43a5b80d31c133e6ae4382d963b86be63a35462fbaa995288625ff 1669 golang-github-hashicorp-yamux_0.1.1-1.dsc
 0d91861ee5a3795e7c1e67202c5aedc8061d1d64889c34aaab6bf3a8df0855e3 26020 golang-github-hashicorp-yamux_0.1.1.orig.tar.gz
 6ae4463a92e404230f72eefd77106ab8a8344e91975b3f3f5d31a7b1f3f826c9 8068 golang-github-hashicorp-yamux_0.1.1-1.debian.tar.xz
 d8804ebd0360efc2c54081006bfd09e0f7aac7e0cff73a7e2079bf1ff47d1f20 5674 golang-github-hashicorp-yamux_0.1.1-1_amd64.buildinfo
Files:
 56e7b5ccab46d980397a2f2cee24a52d 1669 golang optional golang-github-hashicorp-yamux_0.1.1-1.dsc
 c6adce376a2ec48eabbec7c3bdbf4c49 26020 golang optional golang-github-hashicorp-yamux_0.1.1.orig.tar.gz
 3e7a1b3ef4ebee15d4b6d042febed299 8068 golang optional golang-github-hashicorp-yamux_0.1.1-1.debian.tar.xz
 fae0e123eb27a68177fdfa199588fed7 5674 golang optional golang-github-hashicorp-yamux_0.1.1-1_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----

iHUEARYIAB0WIQSRhdT1d2eu7mxV1B5/RPol6lUUywUCZLe7DAAKCRB/RPol6lUU
y1vYAPkBTUh0iXOVgexE71vVOOPH9QAOVkjIeMfR8ckWeYsW8gD+J3jFbSpQRexM
AtHww4KYzAm2Lfya+MyBkTdXNmEFRwM=
=y1Sz
-----END PGP SIGNATURE-----