Skip to content

Bump Golang to 1.10.1#35739

Merged
tiborvass merged 7 commits intomoby:masterfrom
thaJeztah:bump-go-1.10
Apr 13, 2018
Merged

Bump Golang to 1.10.1#35739
tiborvass merged 7 commits intomoby:masterfrom
thaJeztah:bump-go-1.10

Conversation

@thaJeztah
Copy link
Member

@thaJeztah thaJeztah commented Dec 8, 2017

Let's see what breaks (or not!)

From the announcement:

Hello gophers,

We just released Go 1.10.

You can read the announcement blog post here:
https://blog.golang.org/go1.10

You can download binary and source distributions from our download page:
https://golang.org/dl/

To compile from source using a Git checkout, update to the release with "git checkout go1.10" and build as usual.

To find out what has changed, read the release notes:
https://golang.org/doc/go1.10

Thanks to everyone who contributed to the release.

Andy on behalf of the Go Team

Dockerfile.e2e Outdated
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image is not up yet, so this one won't work (yet)

@thaJeztah
Copy link
Member Author

@thaJeztah
Copy link
Member Author

We can start experimenting with go test -json 🎉

@tophj-ibm
Copy link
Contributor

FYI power failure is legit and we're looking at it. There is a leaky fd somewhere which is causing a semaphore introduced in 1.10 to not be released

@cpuguy83
Copy link
Member

cpuguy83 commented Dec 8, 2017

On windows:

Details
2:07:05 PANIC: docker_api_logs_test.go:152: DockerSuite.TestLogsAPIUntil
02:07:05 
02:07:05 ... Panic: runtime error: index out of range (PC=0x458491)
02:07:05 
02:07:05 d:/CI/CI-ff7e5d9ca/go/src/runtime/asm_amd64.s:573
02:07:05   in call32
02:07:05 d:/CI/CI-ff7e5d9ca/go/src/runtime/panic.go:502
02:07:05   in gopanic
02:07:05 d:/CI/CI-ff7e5d9ca/go/src/runtime/panic.go:28
02:07:05   in panicindex
02:07:05 docker_api_logs_test.go:175
02:07:05   in DockerSuite.TestLogsAPIUntil
02:07:05 d:/CI/CI-ff7e5d9ca/go/src/runtime/asm_amd64.s:573
02:07:05   in call32
02:07:05 d:/CI/CI-ff7e5d9ca/go/src/reflect/value.go:447
02:07:05   in Value.call
02:07:05 d:/CI/CI-ff7e5d9ca/go/src/reflect/value.go:308
02:07:05   in Value.Call
02:07:05 c:/gopath/src/github.com/docker/docker/vendor/github.com/go-check/check/check.go:816
02:07:05   in suiteRunner.forkTest.func1
02:07:05 c:/gopath/src/github.com/docker/docker/vendor/github.com/go-check/check/check.go:672
02:07:05   in suiteRunner.forkCall.func1
02:07:05 d:/CI/CI-ff7e5d9ca/go/src/runtime/asm_amd64.s:2361
02:07:05   in goexit
02:07:09 

@cpuguy83
Copy link
Member

cpuguy83 commented Dec 8, 2017

That one could be a test issue, but re-running.

@tonistiigi
Copy link
Member

@thaJeztah You can remove the vendored archive/tar in this PR as it should be fixed in go1.10

@thaJeztah
Copy link
Member Author

@tonistiigi thanks! removed 👍

Dockerfile Outdated
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove these archive/tar comment lines as well

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh! forgot about that one

@thaJeztah
Copy link
Member Author

Bunch of failures now due to the Archive changes;

20:26:23 --- FAIL: TestDispatch (0.06s)
20:26:23 	evaluator_test.go:127: Error when creating tar context: Error processing tar file(exit status 1): unexpected EOF
20:26:23 FAIL
20:26:23 coverage: 42.6% of statements
20:26:23 FAIL	github.com/docker/docker/builder/dockerfile	0.345s

20:26:29 --- FAIL: TestHashFile (0.07s)
20:26:29 	tarsum_test.go:146: Error when executing FromArchive: Error processing tar file(exit status 1): unexpected EOF
20:26:29 --- FAIL: TestHashSubdir (0.06s)
20:26:29 	tarsum_test.go:146: Error when executing FromArchive: Error processing tar file(exit status 1): unexpected EOF
20:26:29 FAIL
20:26:29 coverage: 13.0% of statements
20:26:29 FAIL	github.com/docker/docker/builder/remotecontext	0.294s

20:27:57 --- FAIL: TestChrootTarUntarWithSymlink (0.05s)
20:27:57 	archive_test.go:194: Unexpected differences after untar: [{/file-1 C} {/file-2 C} {/file-5 C} {/file-6 C} {/file-7 C} {/file-8 C} {/file-9 C} {/file-0 C} {/file-4 C} {/file-3 C}]
20:27:57 FAIL
20:27:57 coverage: 37.0% of statements
20:27:57 FAIL	github.com/docker/docker/pkg/chrootarchive	2.997s


20:28:40 --- FAIL: TestTarSumRemoveNonExistent (0.00s)
20:28:40 	builder_context_test.go:27: failed to read from testdata/46af0962ab5afeb5ce6740d4d91652e69206fc991fd5328c1a94d364ad00e457/layer.tar: archive/tar: missed writing 3348 bytes
20:28:40 --- FAIL: TestTarSumRemove (0.00s)
20:28:40 	builder_context_test.go:57: failed to read from testdata/46af0962ab5afeb5ce6740d4d91652e69206fc991fd5328c1a94d364ad00e457/layer.tar: archive/tar: missed writing 3348 bytes
20:28:40 --- FAIL: TestTarSums (0.04s)
20:28:40 	tarsum_test.go:370: failed to copy from testdata/46af0962ab5afeb5ce6740d4d91652e69206fc991fd5328c1a94d364ad00e457/layer.tar: archive/tar: missed writing 3348 bytes
20:28:40 	tarsum_test.go:370: failed to copy from testdata/46af0962ab5afeb5ce6740d4d91652e69206fc991fd5328c1a94d364ad00e457/layer.tar: archive/tar: missed writing 3348 bytes
20:28:40 	tarsum_test.go:370: failed to copy from testdata/46af0962ab5afeb5ce6740d4d91652e69206fc991fd5328c1a94d364ad00e457/layer.tar: archive/tar: missed writing 3348 bytes
20:28:40 	tarsum_test.go:370: failed to copy from : archive/tar: missed writing 8192 bytes
20:28:40 	tarsum_test.go:363: failed to read 16KB from testdata/collision/collision-0.tar: archive/tar: missed writing 6 bytes
20:28:40 	tarsum_test.go:363: failed to read 16KB from testdata/collision/collision-1.tar: archive/tar: missed writing 6 bytes
20:28:40 	tarsum_test.go:363: failed to read 16KB from testdata/collision/collision-2.tar: archive/tar: missed writing 6 bytes
20:28:40 	tarsum_test.go:363: failed to read 16KB from testdata/collision/collision-3.tar: archive/tar: missed writing 6 bytes
20:28:40 	tarsum_test.go:370: failed to copy from : archive/tar: missed writing 8192 bytes
20:28:40 	tarsum_test.go:370: failed to copy from : archive/tar: missed writing 8192 bytes
20:28:40 	tarsum_test.go:370: failed to copy from : archive/tar: missed writing 8192 bytes
20:28:40 	tarsum_test.go:370: failed to copy from : archive/tar: missed writing 8192 bytes
20:28:40 	tarsum_test.go:370: failed to copy from : archive/tar: missed writing 8192 bytes
20:28:40 --- FAIL: TestIteration (0.00s)
20:28:40 	tarsum_test.go:511: archive/tar: missed writing 4 bytes
20:28:40 FAIL
20:28:40 coverage: 90.4% of statements
20:28:40 FAIL	github.com/docker/docker/pkg/tarsum	0.051s

@thaJeztah thaJeztah added the status/failing-ci Indicates that the PR in its current state fails the test suite label Dec 8, 2017
@thaJeztah
Copy link
Member Author

Need to verify if this fixes #29360

@thaJeztah
Copy link
Member Author

thaJeztah commented Jan 16, 2018

Bumped to Go 1.10beta2

changes since beta1: golang/go@go1.10beta1...go1.10beta2

@thaJeztah
Copy link
Member Author

thaJeztah commented Feb 4, 2018

Bumped to 1.10rc1

changes since beta2: golang/go@go1.10beta2...go1.10rc1

@Mic92
Copy link
Contributor

Mic92 commented Feb 25, 2018

go 1.10 is out

@kolyshkin
Copy link
Contributor

12:31:14 Step 1/28 : FROM golang:1.10.1-alpine3.6 as builder
12:31:15 manifest for golang:1.10.1-alpine3.6 not found

OK this is a legit error, as there's no such image, the closest one is golang:1.10.1-alpine3.7. I have a patch ready at https://github.com/kolyshkin/moby/tree/go-1.10-fix-tar

@kolyshkin
Copy link
Contributor

z failure might be a flaky test (there is #32673 but it looks different)

11:04:36 ----------------------------------------------------------------------
11:04:36 FAIL: docker_api_swarm_test.go:297: DockerSwarmSuite.TestAPISwarmLeaderElection
11:04:36 
11:04:36 [dfd51c688eb05] waiting for daemon to start
11:04:36 [dfd51c688eb05] daemon started
11:04:36 
11:04:36 [db54885b03907] waiting for daemon to start
11:04:36 [db54885b03907] daemon started
11:04:36 
11:04:36 [da336d294b579] waiting for daemon to start
11:04:36 [da336d294b579] daemon started
11:04:36 
11:04:36 [dfd51c688eb05] exiting daemon
11:04:36 assertion failed: error is not nil: Error response from daemon: rpc error: code = DeadlineExceeded desc = context deadline exceeded
11:04:36 [db54885b03907] exiting daemon
11:04:36 [da336d294b579] exiting daemon
11:05:00 
11:05:00 ----------------------------------------------------------------------

thaJeztah and others added 7 commits April 12, 2018 13:30
Signed-off-by: Sebastiaan van Stijn <[email protected]>
This fix is now upstream in Go 1.10

Signed-off-by: Sebastiaan van Stijn <[email protected]>
Remove invalid flush commands, flush should only occur when file
has been completely written. This is already handle, remove these calls.
Ensure data gets written after EOF in correct order and before close.
Remove gname and uname from sum for hash compatibility.
Update tarsum tests for gname/uname removal.
Return valid length after eof.

Signed-off-by: Derek McGowan <[email protected]>
Signed-off-by: Sebastiaan van Stijn <[email protected]>
Prevent changing the tar output by setting the format to
PAX and keeping the times truncated.
Without this change the archiver will produce different tar
archives with different hashes with go 1.10.
The addition of the access and changetime timestamps would
also cause diff comparisons to fail.

Signed-off-by: Derek McGowan <[email protected]>
Signed-off-by: Sebastiaan van Stijn <[email protected]>
Add synchronization around adding logs to a plugin
and reading those logs. Without the follow configuration,
a race occurs between go routines to add the logs into
the plugin and read the logs out of the plugin. This
adds a function to synchronize the action to avoid the
race.
Removes use of file for buffering, instead buffering whole
messages so log count can be checked discretely.

Signed-off-by: Derek McGowan <[email protected]>
Signed-off-by: Sebastiaan van Stijn <[email protected]>
Signed-off-by: Kir Kolyshkin <[email protected]>
(cherry picked from commit 7b30fd0)
Signed-off-by: Sebastiaan van Stijn <[email protected]>
In Go 1.10.1, the Deps for pkg\tarsum\tarsum_test.go are empty ([]) and
the PowerShell script ends up setting its import list to a string value
of False instead of an empty array. This can be remedied by forcing the
result to be an array, by concatenating to an empty array (@() + ...)

Signed-off-by: John Stephens <[email protected]>
Signed-off-by: Kir Kolyshkin <[email protected]>
(cherry picked from commit ec3f923)
Signed-off-by: Sebastiaan van Stijn <[email protected]>
@kolyshkin
Copy link
Contributor

Good news we're down to a single test failure on experimental. Bad news it looks it is consistent. I have restarted it to see if that is the case. Here's the failure:

14:43:53 ----------------------------------------------------------------------
14:43:53 FAIL: docker_api_swarm_test.go:297: DockerSwarmSuite.TestAPISwarmLeaderElection
14:43:53 
14:43:53 [d60173fcc715d] waiting for daemon to start
14:43:53 [d60173fcc715d] daemon started
14:43:53 
14:43:53 [d9b8e91073dd1] waiting for daemon to start
14:43:53 [d9b8e91073dd1] daemon started
14:43:53 
14:43:53 [d96d4e5a515e0] waiting for daemon to start
14:43:53 [d96d4e5a515e0] daemon started
14:43:53 
14:43:53 [d60173fcc715d] exiting daemon
14:43:53 assertion failed: error is not nil: Error response from daemon: rpc error: code = DeadlineExceeded desc = context deadline exceeded
14:43:53 [d9b8e91073dd1] exiting daemon
14:43:53 [d96d4e5a515e0] exiting daemon

@thaJeztah
Copy link
Member Author

I think I've seen that test fail recently; it may not be related, but definitely something to look into

@thaJeztah thaJeztah added impact/changelog and removed status/failing-ci Indicates that the PR in its current state fails the test suite labels Apr 13, 2018
@thaJeztah thaJeztah changed the title [DO NOT MERGE] Bump Golang to 1.10 Bump Golang to 1.10.1 Apr 13, 2018
@thaJeztah
Copy link
Member Author

It's greeeeeeeeeeen 🎉

@tonistiigi
Copy link
Member

LGTM

1 similar comment
@tiborvass
Copy link
Contributor

LGTM

@tiborvass tiborvass merged commit 61138fb into moby:master Apr 13, 2018
@thaJeztah thaJeztah deleted the bump-go-1.10 branch April 13, 2018 23:59
@thaJeztah
Copy link
Member Author

Yay! Thanks all for helping out on this one!

bhipple added a commit to bhipple/nixpkgs that referenced this pull request Sep 9, 2018
The linked PR has been merged, and in fact dockerTools has upgraded to the
latest `go1.11` compiler:

moby/moby#35739
moby/moby#37358
andir pushed a commit to andir/nixpkgs that referenced this pull request Jan 30, 2019
The linked PR has been merged, and in fact dockerTools has upgraded to the
latest `go1.11` compiler:

moby/moby#35739
moby/moby#37358
(cherry picked from commit 4d8bb9a)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.