Comment 15 for bug 1567096

Revision history for this message
bugproxy (bugproxy) wrote : Comment bridged from LTC Bugzilla

------- Comment From <email address hidden> 2016-05-03 11:47 EDT-------
(In reply to comment #35)
> That's not really the sort of test I wanted; I want something I can
> show to the SRU team that will motivate including Go 1.6.2 in Ubuntu
> 16.04. This bug was originally about docker not working, can you
> provide reproduction steps for that?
>
> As far as I can tell, everything in yakkety should be new enough to
> run the golang-fsnotify tests, but they still fail on ppc64el for me
> (TestInotifyRemoveTwice fails with "no error on removing invalid file"
> and TestInotifyInnerMapLength hangs until the 10 minute timeout kills
> it).

If you have an installation of Ubuntu 16.04, you can install go & docker, build docker from upstream source, copy all the docker binaries (dockerd, docker, docker-containerd, docker-containerd-ctr, docker-containerd-shim, and docker-runc) into /usr/bin/ , and then run a container (docker run -it ppc64le/ubuntu echo hi) and it will hang and fail to exit.

====
Or, you can build docker in a container and then run (the way the CI tests work):

0. Install docker
1. checkout and patch docker master:

diff --git a/Dockerfile.ppc64le b/Dockerfile.ppc64le
index 208c3a5..3fa36a0 100644
--- a/Dockerfile.ppc64le
+++ b/Dockerfile.ppc64le
@@ -73,9 +73,9 @@ RUN cd /usr/local/lvm2 \
## BUILD GOLANG 1.6
# NOTE: ppc64le has compatibility issues with older versions of go, so make sure the version >= 1.6
-ENV GO_VERSION 1.6.2
+ENV GO_VERSION 1.6.1
ENV GO_DOWNLOAD_URL https://golang.org/dl/go${GO_VERSION}.src.tar.gz
-ENV GO_DOWNLOAD_SHA256 787b0b750d037016a30c6ed05a8a70a91b2e9db4bd9b1a2453aa502a63f1bccc
+ENV GO_DOWNLOAD_SHA256 1d4b53cdee51b2298afcf50926a7fa44b286f0bf24ff8323ce690a66daa7193f
ENV GOROOT_BOOTSTRAP /usr/local
RUN curl -fsSL "$GO_DOWNLOAD_URL" -o golang.tar.gz

2. build the docker dev container:
$docker build -t docker:1.6.1 -f Dockerfile.ppc64le .

3. Run the docker dev container
$docker run -it --privileged docker:1.6.1 /bin/bash

4. From the container, build the docker binary
root@05f8c2e2a546:/go/src/github.com/docker/docker# ./hack/make.sh binary

5. Run a docker container:
root@05f8c2e2a546:/go/src/github.com/docker/docker# cd bundles/latest/binary-daemon
root@05f8c2e2a546:/go/src/github.com/docker/docker# ./docker &
root@05f8c2e2a546:/go/src/github.com/docker/docker# cd ../docker-client
root@05f8c2e2a546:/go/src/github.com/docker/docker# ./ ./docker run -it ppc64le/ubuntu echo hi
hi
[infinite cursor]

You can see that the container runs, but never exits.

==

Is that helpful?