Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump Go to 1.9.2 #33892

Merged
merged 1 commit into from
Nov 27, 2017
Merged

Bump Go to 1.9.2 #33892

merged 1 commit into from
Nov 27, 2017

Conversation

thaJeztah
Copy link
Member

@thaJeztah thaJeztah commented Jun 30, 2017

let's see what fails (or not) 👍

fixes #35152

@AkihiroSuda
Copy link
Member

interesting

08:48:07 --- FAIL: TestHashFile (0.07s)
08:48:07 	tarsum_test.go:66: invalid checksum. expected 1149ab94af7be6cc1da1335e398f24ee1cf4926b720044d229969dfc248ae7ec, got 55dfeb344351ab27f59aa60ebb0ed12025a2f2f4677bf77d26ea7a671274a9ca
08:48:07 --- FAIL: TestHashSubdir (0.05s)
08:48:07 	tarsum_test.go:103: invalid checksum. expected d7f8d6353dee4816f9134f4156bf6a9d470fdadfb5d89213721f7e86744a4e69, got 74a3326b8e766ce63a8e5232f22e9dd895be647fb3ca7d337e5e0a9b3da8ef28
08:48:07 FAIL
08:48:07 coverage: 15.8% of statements
08:48:07 FAIL	github.com/docker/docker/builder/remotecontext	0.333s

@AkihiroSuda AkihiroSuda added status/2-code-review status/failing-ci Indicates that the PR in its current state fails the test suite and removed status/0-triage labels Jun 30, 2017
@thaJeztah
Copy link
Member Author

ping @unclejack @tonistiigi ^^

@AkihiroSuda
Copy link
Member

git bisect says golang/go@66b5a2f is the first commit causing this failure:

commit 66b5a2f3f0b1d94f69763114a85a977f5bc0277a
Author: Lars Jeppesen <[email protected]>                
Date:   Sat Apr 29 23:25:34 2017 +0200  
                                                                                            
    archive/tar: remove file type bits from mode field                         
                           
    When writing tar files by using the FileInfoHeader                                   
    the type bits was set in the mode field of the header
    This is not correct according to the standard (GNU/Posix) and 
    other implementations.       
        
    Fixed #20150
                                                
    Change-Id: I3be7d946a1923ad5827cf45c696546a5e287ebba
    Reviewed-on: https://go-review.googlesource.com/42093
    Reviewed-by: Joe Tsai <[email protected]>
    Run-TryBot: Joe Tsai <[email protected]>
    TryBot-Result: Gobot Gobot <[email protected]>

@tonistiigi
Copy link
Member

@AkihiroSuda Thanks for the debug.

I'm not sure what's the best approach here. Do we want to break build cache for everyone or fork the archive.FileInfoHeader and keep using the wrong headers? Also related: moby/buildkit#38

@AkihiroSuda
Copy link
Member

Although build cache are not persistent data, people will get surprised if caches were broken by just updating Go compiler.
So my opinion is to keep using the wrong header until we integrate buildkit to the engine, but I don't have any strong opinion.
WDYT?

@AkihiroSuda
Copy link
Member

I'll try to open a separate PR for filling file bits

@AkihiroSuda
Copy link
Member

opened #33935

@tiborvass
Copy link
Contributor

Can we confirm that the impact is only on caching? What about tar layers?

@tonistiigi
Copy link
Member

@tiborvass Layers use tar-split copy of the original headers and don't regenerate them.

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

Rebased, because #33935 was merged; let's see if it goes green this time

@tophj-ibm
Copy link
Contributor

z failure looks serious, can you take a look @michael-holzheu ?

from the log

SIGILL: illegal instruction
PC=0x283186 m=0 sigcode=2

@thaJeztah thaJeztah mentioned this pull request Jul 12, 2017
@utzb
Copy link
Contributor

utzb commented Jul 14, 2017

The z golang issue is understood and addressed. Thanks for attempting in the first place!

@thaJeztah
Copy link
Member Author

Thanks @utzb - is that fix upstream (golang), or an issue fixed in this repository? (IOW, should a rebase fix it, or do we need to wait for the next Go beta/release)

@utzb
Copy link
Contributor

utzb commented Jul 15, 2017

The fix will be in upstream golang. With a little luck, it will be in 1.9beta3, but for sure in the first rc.
I verified test-unit and test-integration-cli run smooth using a golang with an early version of the fix.

@thaJeztah
Copy link
Member Author

Thanks, good to hear!

@utzb
Copy link
Contributor

utzb commented Jul 17, 2017

Just FYI, this is now golang/go#21048 (https://go-review.googlesource.com/c/49250/)

@thaJeztah
Copy link
Member Author

bumped to 1.9rc1

@tiborvass
Copy link
Contributor

tiborvass commented Jul 25, 2017

Since we are bumping Go versions, we should probably update archive/tar as well.
Here is the changelog for archive/tar: https://gist.github.com/tiborvass/f9303e496644c77bd11ba08ec00d9fa0

cc @tonistiigi @dmcgowan

@@ -5,9 +5,9 @@
FROM amazonlinux:latest

RUN yum groupinstall -y "Development Tools"
RUN yum install -y btrfs-progs-devel device-mapper-devel glibc-static libseccomp-devel libselinux-devel libtool-ltdl-devel pkgconfig selinux-policy selinux-policy-devel tar git cmake vim-common
RUN yum install -y btrfs-progs-devel device-mapper-devel glibc-static libseccomp-devel libselinux-devel pkgconfig selinux-policy selinux-policy-devel tar git cmake vim-common
Copy link
Member Author

Choose a reason for hiding this comment

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

the generate script was updated in b877fc3, but looks like the script wasn't run to update the dockerfiles

@darstahl
Copy link
Contributor

darstahl commented Nov 1, 2017

I'm investigating a blocker on Windows that prevents pulling some images. Not sure how CI passed tbh.

Edit: Oh, CI just side loads the base images. I'm not sure how that bypasses the bug, but it's new information to help me track it down.

@thaJeztah thaJeztah changed the title [do not merge] Bump Go to 1.9.2 Bump Go to 1.9.2 Nov 8, 2017
@thaJeztah
Copy link
Member Author

Removing the [do not merge] I think we can review this now; the changes made for the behaviour-change in Windows are a bit quirky, and looking at those, perhaps it should be a docker/cli test, so I added a TODO for that https://github.com/moby/moby/pull/33892/files#diff-f77ac0f89cdcfa4259ac67bced3d418cR39

@darrenstahlmsft was there still something to look into from your side?

ping @AkihiroSuda @vdemeester @cpuguy83 @yongtang PTAL

Copy link
Member

@vdemeester vdemeester left a comment

Choose a reason for hiding this comment

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

LGTM 🐮

Copy link
Member

@cpuguy83 cpuguy83 left a comment

Choose a reason for hiding this comment

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

LGTM

@cpuguy83
Copy link
Member

cpuguy83 commented Nov 8, 2017

👎 Checking error strings, but the current error handling for this endpoint is not good enough as a true "not found" error would be seen as the container not being found, so we need more data in the error message to differentiate a "file not found" from a "container not found".

@thaJeztah
Copy link
Member Author

@cpuguy83 agree it's pretty dirty; I didn't see a better option directly, other than splitting the test into a unit test (docker/cli), and an API test here (and may require changes to the endpoint itself as you mentioned).

Do you want me to look into this in this PR, or should we open an issue for tracking that effort?

@cpuguy83
Copy link
Member

cpuguy83 commented Nov 8, 2017

We don't need it for this PR.

Copy link
Member

@dnephin dnephin left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Contributor

@unclejack unclejack left a comment

Choose a reason for hiding this comment

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

LGTM

@darstahl
Copy link
Contributor

darstahl commented Nov 8, 2017

@thaJeztah yes, Windows needs microsoft/hcsshim#144

@darstahl
Copy link
Contributor

darstahl commented Nov 8, 2017

Please hold the merge until that is in

@thaJeztah thaJeztah changed the title Bump Go to 1.9.2 [WIP] Bump Go to 1.9.2 Nov 8, 2017
@thaJeztah
Copy link
Member Author

Thanks for checking @darrenstahlmsft - temporarily changed back to WIP

salah-khan pushed a commit to salah-khan/moby that referenced this pull request Nov 15, 2017
This fix updates runc to 0351df1c5a66838d0c392b4ac4cf9450de844e2d

With this fix the warnings generated by netgo and dlopen by go 1.9
are addressed.

See
- opencontainers/runc#1577
- opencontainers/runc#1579

This fix is part of the efforts for go 1.9 (moby#33892)

Signed-off-by: Yong Tang <[email protected]>
Signed-off-by: Sebastiaan van Stijn <[email protected]>
@thaJeztah thaJeztah changed the title [WIP] Bump Go to 1.9.2 Bump Go to 1.9.2 Nov 21, 2017
@thaJeztah
Copy link
Member Author

#35554 was merged; rebased this PR, and removed "WIP" again; this should be ready to go now

Copy link
Member

@cpuguy83 cpuguy83 left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Contributor

@vieux vieux left a comment

Choose a reason for hiding this comment

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

LGTM

@vieux vieux merged commit c672fbd into moby:master Nov 27, 2017
@thaJeztah thaJeztah deleted the bump-golang-19 branch November 27, 2017 20:41
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.

docker pull failing with failed to parse certificate: x509: unhandled critical extension (based on #31949)