Skip to content

tests fail on ppc64le #3005

Closed
Closed
@carlwgeorge

Description

@carlwgeorge

Description

The containerd builds in Fedora have started to fail on just the ppc64le architecture.

Back in January this same version of containerd (1.2.1) passed all the tests on all architectures, including ppc64le.

The big thing that sticks out to me as different between the builds is that the build that passed was using golang-1.11.4-1.fc30.ppc64le, but now the buildroot has moved on to golang-1.12-0.beta2.2.fc30.1.ppc64le.

I also did a scratch build with 1.2.3 to see if this had already been resolved, but I got the same error.

Steps to reproduce the issue:

  1. go test within the metadata directory on ppc64le architecture

Describe the results you received:

Testing: "/builddir/build/BUILD/containerd-1.2.1/_build/src/github.com/containerd/containerd/metadata"
+ GOPATH=/builddir/build/BUILD/containerd-1.2.1/_build:/usr/share/gocode
+ go test -buildmode pie -compiler gc -ldflags '-extldflags '\''-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld '\'''
unexpected fault address 0x1249289f0
fatal error: fault
[signal SIGSEGV: segmentation violation code=0x1 addr=0x1249289f0 pc=0x124e59130]
goroutine 5 [running]:
runtime.throw(0x1253e7528, 0x5)
	/usr/lib/golang/src/runtime/panic.go:617 +0x68 fp=0xc0001b50f0 sp=0xc0001b50b0 pc=0x124e7b988
runtime.sigpanic()
	/usr/lib/golang/src/runtime/signal_unix.go:397 +0x464 fp=0xc0001b5130 sp=0xc0001b50f0 pc=0x124e947c4
runtime.mapiterinit(0x1249289b0, 0xc0001cc2d0, 0xc0001b5328)
	/usr/lib/golang/src/runtime/map.go:823 +0xa0 fp=0xc0001b5180 sp=0xc0001b5150 pc=0x124e59130
github.com/containerd/containerd/vendor/go.etcd.io/bbolt.(*Bucket).spill(0xc00006d4c0, 0xc0001cc200, 0xc0001b5530)
	/builddir/build/BUILD/containerd-1.2.1/_build/src/github.com/containerd/containerd/vendor/go.etcd.io/bbolt/bucket.go:526 +0x80 fp=0xc0001b5388 sp=0xc0001b5180 pc=0x125055bd0
github.com/containerd/containerd/vendor/go.etcd.io/bbolt.(*Bucket).spill(0xc00006d440, 0xc0001cc200, 0xc0001b5738)
	/builddir/build/BUILD/containerd-1.2.1/_build/src/github.com/containerd/containerd/vendor/go.etcd.io/bbolt/bucket.go:535 +0x308 fp=0xc0001b5590 sp=0xc0001b5388 pc=0x125055e58
github.com/containerd/containerd/vendor/go.etcd.io/bbolt.(*Bucket).spill(0xc00006d3c0, 0xc0001cc100, 0xc0001b5940)
	/builddir/build/BUILD/containerd-1.2.1/_build/src/github.com/containerd/containerd/vendor/go.etcd.io/bbolt/bucket.go:535 +0x308 fp=0xc0001b5798 sp=0xc0001b5590 pc=0x125055e58
github.com/containerd/containerd/vendor/go.etcd.io/bbolt.(*Bucket).spill(0xc00006d340, 0xc0001cc100, 0xc0001b5b48)
	/builddir/build/BUILD/containerd-1.2.1/_build/src/github.com/containerd/containerd/vendor/go.etcd.io/bbolt/bucket.go:535 +0x308 fp=0xc0001b59a0 sp=0xc0001b5798 pc=0x125055e58
github.com/containerd/containerd/vendor/go.etcd.io/bbolt.(*Bucket).spill(0xc0001b81d8, 0x730d88b, 0x125c0a520)
	/builddir/build/BUILD/containerd-1.2.1/_build/src/github.com/containerd/containerd/vendor/go.etcd.io/bbolt/bucket.go:535 +0x308 fp=0xc0001b5ba8 sp=0xc0001b59a0 pc=0x125055e58
github.com/containerd/containerd/vendor/go.etcd.io/bbolt.(*Tx).Commit(0xc0001b81c0, 0x0, 0x0)
	/builddir/build/BUILD/containerd-1.2.1/_build/src/github.com/containerd/containerd/vendor/go.etcd.io/bbolt/tx.go:160 +0xd0 fp=0xc0001b5ce8 sp=0xc0001b5ba8 pc=0x125063270
github.com/containerd/containerd/vendor/go.etcd.io/bbolt.(*DB).Update(0xc000156000, 0xc0001b5ed8, 0x0, 0x0)
	/builddir/build/BUILD/containerd-1.2.1/_build/src/github.com/containerd/containerd/vendor/go.etcd.io/bbolt/db.go:677 +0x108 fp=0xc0001b5d48 sp=0xc0001b5ce8 pc=0x12505af88
github.com/containerd/containerd/metadata.TestContainersList(0xc0000c2400)
	/builddir/build/BUILD/containerd-1.2.1/_build/src/github.com/containerd/containerd/metadata/containers_test.go:74 +0x4e0 fp=0xc0001b5f70 sp=0xc0001b5d48 pc=0x1253b3290
testing.tRunner(0xc0000c2400, 0x12576e090)
	/usr/lib/golang/src/testing/testing.go:862 +0xdc fp=0xc0001b5fb0 sp=0xc0001b5f70 pc=0x124f4cb5c
runtime.goexit()
	/usr/lib/golang/src/runtime/asm_ppc64x.s:856 +0x4 fp=0xc0001b5fb0 sp=0xc0001b5fb0 pc=0x124eaeaa4
created by testing.(*T).Run
	/usr/lib/golang/src/testing/testing.go:913 +0x304
goroutine 1 [chan receive]:
testing.(*T).Run(0xc0000c2400, 0x1253f100c, 0x12, 0x12576e090, 0x125bc7f00)
	/usr/lib/golang/src/testing/testing.go:914 +0x320
testing.runTests.func1(0xc0000c2300)
	/usr/lib/golang/src/testing/testing.go:1154 +0x8c
testing.tRunner(0xc0000c2300, 0xc0000a9dd8)
	/usr/lib/golang/src/testing/testing.go:862 +0xdc
testing.runTests(0xc00014f6a0, 0x125bc94c0, 0x10, 0x10, 0x0)
	/usr/lib/golang/src/testing/testing.go:1152 +0x2a0
testing.(*M).Run(0xc00000c300, 0x0)
	/usr/lib/golang/src/testing/testing.go:1069 +0x174
main.main()
	_testmain.go:74 +0x150
exit status 2
FAIL	github.com/containerd/containerd/metadata	0.128s

Describe the results you expected:

Testing: "/builddir/build/BUILD/containerd-1.2.1/_build/src/github.com/containerd/containerd/metadata"
+ GOPATH=/builddir/build/BUILD/containerd-1.2.1/_build:/usr/share/gocode
+ go test -buildmode pie -compiler gc -ldflags '-extldflags '\''-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld '\'''
PASS
ok  	github.com/containerd/containerd/metadata	27.029s

Output of containerd --version:

containerd github.com/containerd/containerd 1.2.1

(same error with 1.2.3 as well)

Extra info

If ppc64le or golang 1.12 are not (yet) supported by the project, I'm fine with that, I just wanted to at least share the info. I have the option of disabling the tests on just ppc64le to get the build to pass, if needed.

See also #2996.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions