[pkg-go] Bug#923656: golang-github-klauspost-cpuid: FTBFS (TestCPUInfo_TSX sometimes fails)
Santiago Vila
sanvila at debian.org
Sun Mar 3 12:03:36 GMT 2019
Package: src:golang-github-klauspost-cpuid
Version: 1.1+dfsg1-4
Severity: important
Tags: ftbfs
Dear maintainer:
Some time ago, I tried to build this package in buster but it failed:
--------------------------------------------------------------------------------
[...]
debian/rules build-indep
dh build-indep --buildsystem=golang --with=golang
dh_update_autotools_config -i -O--buildsystem=golang
dh_auto_configure -i -O--buildsystem=golang
dh_auto_build -i -O--buildsystem=golang
cd obj-x86_64-linux-gnu && go install -gcflags=\"-trimpath=/<<BUILDDIR>>/golang-github-klauspost-cpuid-1.1\+dfsg1/obj-x86_64-linux-gnu/src\" -asmflags=\"-trimpath=/<<BUILDDIR>>/golang-github-klauspost-cpuid-1.1\+dfsg1/obj-x86_64-linux-gnu/src\" -v -p 1 github.com/klauspost/cpuid
github.com/klauspost/cpuid
dh_auto_test -i -O--buildsystem=golang
cd obj-x86_64-linux-gnu && go test -vet=off -v -p 1 github.com/klauspost/cpuid
=== RUN TestCPUID
--- PASS: TestCPUID (0.00s)
cpuid_test.go:14: Max Function:0xd
cpuid_test.go:16: Max Extended Function:0x80000008
cpuid_test.go:17: Name: Intel(R) Xeon(R) CPU E5-2697 v4 @ 2.30GHz
[... snipped ...]
mockcpu_test.go:181: Max Extended Function:0x80000008
mockcpu_test.go:182: PhysicalCores: 0
mockcpu_test.go:183: ThreadsPerCore: 1
mockcpu_test.go:184: LogicalCores: 0
mockcpu_test.go:185: Family 15 Model: 2
mockcpu_test.go:186: Features: CMOV,MMX,MMXEXT,SSE,SSE2,SSE2SLOW
mockcpu_test.go:187: Cacheline bytes: 128
mockcpu_test.go:188: L1 Instruction Cache: -1 bytes
mockcpu_test.go:189: L1 Data Cache: -1 bytes
mockcpu_test.go:190: L2 Cache: -1 bytes
mockcpu_test.go:191: L3 Cache: -1 bytes
mockcpu_test.go:174: Opening Vortex86_SoC0000522_Vortex86DX_CPUID.txt
mockcpu_test.go:177: Name: unknown
mockcpu_test.go:179: Max Function:0x1
mockcpu_test.go:181: Max Extended Function:0x0
mockcpu_test.go:182: PhysicalCores: 0
mockcpu_test.go:183: ThreadsPerCore: 1
mockcpu_test.go:184: LogicalCores: 0
mockcpu_test.go:185: Family 5 Model: 2
mockcpu_test.go:186: Features:
mockcpu_test.go:187: Cacheline bytes: 0
mockcpu_test.go:188: L1 Instruction Cache: -1 bytes
mockcpu_test.go:189: L1 Data Cache: -1 bytes
mockcpu_test.go:190: L2 Cache: -1 bytes
mockcpu_test.go:191: L3 Cache: -1 bytes
mockcpu_test.go:174: Opening Vortex86_SoC0000586_Vortex86MX_CPUID.txt
mockcpu_test.go:177: Name: unknown
mockcpu_test.go:179: Max Function:0x1
mockcpu_test.go:181: Max Extended Function:0x0
mockcpu_test.go:182: PhysicalCores: 0
mockcpu_test.go:183: ThreadsPerCore: 1
mockcpu_test.go:184: LogicalCores: 0
mockcpu_test.go:185: Family 5 Model: 8
mockcpu_test.go:186: Features:
mockcpu_test.go:187: Cacheline bytes: 0
mockcpu_test.go:188: L1 Instruction Cache: -1 bytes
mockcpu_test.go:189: L1 Data Cache: -1 bytes
mockcpu_test.go:190: L2 Cache: -1 bytes
mockcpu_test.go:191: L3 Cache: -1 bytes
FAIL
FAIL github.com/klauspost/cpuid 0.132s
dh_auto_test: cd obj-x86_64-linux-gnu && go test -vet=off -v -p 1 github.com/klauspost/cpuid 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 subprocess returned exit status 2
--------------------------------------------------------------------------------
Apparently dh_auto_test performs a series of tests to the CPU of the
building machine.
This seems weird to me, as the tests are supposed to test the recently
built program, not the underlying hardware. This makes the package not
to be reproducible in an extended sense, because as soon as the user
has a "non-conforming CPU" (whatever that means), the package will not
build.
This happened to me at least twice in the past. One of them using a
machine from Linode, and another time using a machine from Digital Ocean.
Here are the build logs:
https://people.debian.org/~sanvila/build-logs/golang-github-klauspost-cpuid/
In both cases the failing tests was the same:
--- FAIL: TestCPUInfo_TSX (0.00s)
So I wonder if a failure of this test really means that the package
has been misbuilt or it is misbehaving.
Thanks.
More information about the Pkg-go-maintainers
mailing list