- 17 Oct, 2016 2 commits
-
-
Adam Langley authored
After renegotiation support was added (af125a51) it's possible for a Write to block on a Read when racing to complete the handshake: 1. The Write determines that a handshake is needed and tries to take the neccesary locks in the correct order. 2. The Read also determines that a handshake is needed and wins the race to take the locks. 3. The Read goroutine completes the handshake and wins a race to unlock and relock c.in, which it'll hold when waiting for more network data. If the application-level protocol requires the Write to complete before data can be read then the system as a whole will deadlock. Unfortunately it doesn't appear possible to reverse the locking order of c.in and handshakeMutex because we might read a renegotiation request at any point and need to be able to do a handshake without unlocking. So this change adds a sync.Cond that indicates that a goroutine has committed to doing a handshake. Other interested goroutines can wait on that Cond when needed. The test for this isn't great. I was able to reproduce the deadlock with it only when building with -race. (Because -race happened to alter the timing just enough.) Fixes #17101. Change-Id: I4e8757f7b82a84e46c9963a977d089f0fb675495 Reviewed-on: https://go-review.googlesource.com/29164Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-on: https://go-review.googlesource.com/31268
-
Michael Munday authored
STFLE does not necessarily write to all the double-words that are requested. It is therefore necessary to clear the target memory before calling STFLE in order to ensure that the facility list does not contain false positives. Fixes #17032. Change-Id: I7bec9ade7103e747b72f08562fe57e6f091bd89f Reviewed-on: https://go-review.googlesource.com/28850Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-on: https://go-review.googlesource.com/31267Reviewed-by: Michael Munday <munday@ca.ibm.com>
-
- 15 Sep, 2016 1 commit
-
-
Brad Fitzpatrick authored
Updates bundled http2 for x/net/http2 git rev 8d4d01f0 for: [release-branch.go1.7] http2: don't sniff first Request.Body byte in Transport until we have a conn https://golang.org/cl/29074 Fixes #17071 Change-Id: I37fef5c2c0fdf499545f9af08abd5f9edb2da4c0 Reviewed-on: https://go-review.googlesource.com/29111 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Chris Broadfoot <cbro@golang.org>
-
- 08 Sep, 2016 1 commit
-
-
Michal Bohuslávek authored
Change-Id: I003795d8dc2176532ee133740bf35e23a3aa3878 Reviewed-on: https://go-review.googlesource.com/28811Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-on: https://go-review.googlesource.com/28774Reviewed-by: Chris Broadfoot <cbro@golang.org>
-
- 07 Sep, 2016 16 commits
-
-
Chris Broadfoot authored
Change-Id: Id877244fba01ae84255ad2d1f6334d096d5d6f71 Reviewed-on: https://go-review.googlesource.com/28694Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Chris Broadfoot authored
Change-Id: I6bdbf0cafa0f70bdb7c435e45885f5d8f9e05dad Reviewed-on: https://go-review.googlesource.com/28693Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-on: https://go-review.googlesource.com/28692
-
Austin Clements authored
The previous fix for this, commit 336dad2a, had everything right in the commit message, but reversed the test in the code. Fix the test in the code. This reversal effectively disabled the scavenger on large page systems *except* in the rare cases where this code was originally wrong, which is why it didn't obviously show up in testing. Fixes #16644. Again. :( Change-Id: I27cce4aea13de217197db4b628f17860f27ce83e Reviewed-on: https://go-review.googlesource.com/27402 Run-TryBot: Austin Clements <austin@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-on: https://go-review.googlesource.com/28631 Run-TryBot: Chris Broadfoot <cbro@golang.org>
-
Keith Randall authored
This CL is a manual backpatch of CL 27320 into the 1.7.1 release branch. The manual backpatch is required because OpZero changed from having a size as its AuxInt to having a size+align as its AuxInt (that was to support the ARM SSA backend). Otherwise the CLs should be identical. Please review carefully! Change-Id: I569b759c06d1971c9c62dc5dd589abc7ef7c844a Reviewed-on: https://go-review.googlesource.com/28670Reviewed-by: Cherry Zhang <cherryyz@google.com> Reviewed-by: David Chase <drchase@google.com> Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Brad Fitzpatrick authored
Fixes test failure when VMWare's shared folder filesystem is present. MNT_NOWAIT is what the mount(8) command does. Fixes #16937 Change-Id: Id436185f544b7069db46c8716d6a0bf580b31da0 Reviewed-on: https://go-review.googlesource.com/28550 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-on: https://go-review.googlesource.com/28650 Run-TryBot: Chris Broadfoot <cbro@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Brad Fitzpatrick authored
Go 1.7 crashed after Transport.IdleConnTimeout if an HTTP/2 connection was established but but its caller no longer wanted it. (Assuming the connection cache was enabled, which it is by default) Fixes #16208 Change-Id: I9628757f7669e344f416927c77f00ed3864839e3 Reviewed-on: https://go-review.googlesource.com/27450Reviewed-by: Andrew Gerrand <adg@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-on: https://go-review.googlesource.com/28637Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Brad Fitzpatrick authored
The old deprecation docs were referencing another deprecated field. Fixes #16752 Change-Id: I44a690048e00ddc790a80214ecb7f5bb0a5b7b34 Reviewed-on: https://go-review.googlesource.com/27510Reviewed-by: David Crawshaw <crawshaw@golang.org> Reviewed-on: https://go-review.googlesource.com/28638Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Hiroshi Ioka authored
Current code assumes there are not ".." in the Clean(path). That's not true. Clean doesn't handle leading "..", so we need to stop normalization if we see "..". Fixes #16793 Change-Id: I0a7901bedac17f1210b134d593ebd9f5e8483775 Reviewed-on: https://go-review.googlesource.com/27410Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Alex Brainman <alex.brainman@gmail.com> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-on: https://go-review.googlesource.com/28641Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Matthew Dempsky authored
The handling of "options timeout:n" is supposed to be per individual DNS server exchange, not per Lookup call. Fixes #16865. Change-Id: I2304579b9169c1515292f142cb372af9d37ff7c1 Reviewed-on: https://go-review.googlesource.com/28057 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-on: https://go-review.googlesource.com/28640
-
Egon Elbre authored
Recreated original favicon with svg. Note, the rasterizations are hand tweaked for crispness and straight export will not give the same results. Fixes #6938 Change-Id: I9bf7b59028711361c29365b145932d90af419b69 Reviewed-on: https://go-review.googlesource.com/26850Reviewed-by: Chris Broadfoot <cbro@golang.org> Reviewed-on: https://go-review.googlesource.com/28639Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Tom Wilkie authored
.local addresses are used by things like Kubernetes and Weave DNS; Go should not avoid resolving them. This is a partial revert of https://golang.org/cl/21328 which was too strict of an interpretation of RFC 6762. Fixes #16739 Change-Id: I349415b4eab5d61240dd18217bd95dc7d2105cd5 Reviewed-on: https://go-review.googlesource.com/27250Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-on: https://go-review.googlesource.com/28632
-
David Crawshaw authored
Fixes #16722 Change-Id: I50a0e69d3e79d13bc1860cd983267c3db087a4b8 Reviewed-on: https://go-review.googlesource.com/27119Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-on: https://go-review.googlesource.com/28630
-
Michael Munday authored
The code wasn't checking to see if the data was still >= 64 bytes long after aligning it. Aligning the data is an optimization and we don't actually need to do it. In fact for smaller sizes it slows things down due to the overhead of calling the generic function. Therefore for now I have simply removed the alignment stage. I have also added a check into the assembly to deliberately trigger a segmentation fault if the data is too short. Fixes #16779. Change-Id: Ic01636d775efc5ec97689f050991cee04ce8fe73 Reviewed-on: https://go-review.googlesource.com/27409Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-on: https://go-review.googlesource.com/28635
-
Brad Fitzpatrick authored
If an io.Reader returned (non-zero, EOF), MultiReader would yield bytes forever. This bug has existed before Go 1 (!!), introduced in the original MultiReader implementation in https://golang.org/cl/1764043 and also survived basically the only update to this code since then (https://golang.org/cl/17873, git rev ccdca832), which was added in Go 1.7. This just bit me when writing a test for some unrelated code. Fixes #16795 Change-Id: I36e6a701269793935d19a47ac12f67b07179fbff Reviewed-on: https://go-review.googlesource.com/27397 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com> Reviewed-on: https://go-review.googlesource.com/28633Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Joe Tsai authored
For persistent error handling, the methods of huffmanBitWriter have to be consistent about how they check errors. It must either consistently check error *before* every operation OR immediately *after* every operation. Since most of the current logic uses the previous approach, we apply the same style of error checking to writeBits and all calls to Write such that they only operate if w.err is already nil going into them. The error handling approach is brittle and easily broken by future commits to the code. In the near future, we should switch the logic to use panic at the lowest levels and a recover at the edge of the public API to ensure that errors are always persistent. Fixes #16749 Change-Id: Ie1d83e4ed8842f6911a31e23311cd3cbf38abe8c Reviewed-on: https://go-review.googlesource.com/27200Reviewed-by: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-on: https://go-review.googlesource.com/28634Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
-
Brad Fitzpatrick authored
Updates bundled http2 to x/net/http2 git rev 7394c11 for: http2: fix protocol violation regression when writing certain request bodies https://golang.org/cl/27406 Fixes #16788 Change-Id: I0efcd36e2b4b34a1df79f763d35bf7a3a1858506 Reviewed-on: https://go-review.googlesource.com/27451 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Andrew Gerrand <adg@golang.org> Reviewed-on: https://go-review.googlesource.com/28636Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 17 Aug, 2016 1 commit
-
-
Brad Fitzpatrick authored
Updates #16737 Change-Id: Ia51fc9b06df43b7c6f7136e90b40362263c20081 Reviewed-on: https://go-review.googlesource.com/27126Reviewed-by: Chris Broadfoot <cbro@golang.org> Reviewed-on: https://go-review.googlesource.com/27234
-
- 16 Aug, 2016 1 commit
-
-
Chris Broadfoot authored
Change-Id: Ib17f6643efd49e2bca188c4faa505f79832d18b1 Reviewed-on: https://go-review.googlesource.com/27110Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-on: https://go-review.googlesource.com/27112Reviewed-by: Chris Broadfoot <cbro@golang.org>
-
- 15 Aug, 2016 4 commits
-
-
Chris Broadfoot authored
Change-Id: Id86f2615772ce087c2ac1a9039ffc27c33298773 Reviewed-on: https://go-review.googlesource.com/27075 Run-TryBot: Chris Broadfoot <cbro@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Chris Broadfoot authored
Change-Id: Ieae5831b35768a625bf735a38f3d938f23f0b77b Reviewed-on: https://go-review.googlesource.com/27057Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-on: https://go-review.googlesource.com/27070Reviewed-by: Chris Broadfoot <cbro@golang.org>
-
Chris Broadfoot authored
Change-Id: Id83e0371b7232b01be83640ef1e47f9026cf2a23 Reviewed-on: https://go-review.googlesource.com/27055Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-on: https://go-review.googlesource.com/27056Reviewed-by: Chris Broadfoot <cbro@golang.org>
-
Chris Broadfoot authored
Fixes #15820. Change-Id: Ia5d5237754e77774a3a6049765eea163911f41c9 Reviewed-on: https://go-review.googlesource.com/25592Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-on: https://go-review.googlesource.com/27054Reviewed-by: Chris Broadfoot <cbro@golang.org>
-
- 08 Aug, 2016 3 commits
-
-
Chris Broadfoot authored
Change-Id: Ie76b5af0ecc4c64c523110b44483c06e7031237c Reviewed-on: https://go-review.googlesource.com/25582Reviewed-by: Chris Broadfoot <cbro@golang.org>
-
Chris Broadfoot authored
7a622740 net/http: make Transport use new connection if over HTTP/2 concurrency limit 219ca602 doc: fix required OS X version inconsistency for binary downloads 26015b95 runtime: make stack 16-byte aligned for external code in _rt0_amd64_linux_lib 9fde86b0 runtime, syscall: fix kernel gettimeofday ABI change on iOS 10 3a03e877 os: check for waitid returning ENOSYS 10316757 net/http: update bundled http2 for flow control window adjustment fix da070bed syscall: fix Gettimeofday on macOS Sierra f135c326 runtime: initialize hash algs before typemap Change-Id: Ie176f3db1e253d75ae8e56b16d3fd9900b37dde3
-
Brad Fitzpatrick authored
The Go HTTP/1 client will make as many new TCP connections as the user requests. The HTTP/2 client tried to have that behavior, but the policy of whether a connection is re-usable didn't take into account the extra 1 stream counting against SETTINGS_MAX_CONCURRENT_STREAMS so in practice users were getting errors. For example, if the server's advertised max concurrent streams is 100 and 200 concurrrent Go HTTP requests ask for a connection at once, all 200 will think they can reuse that TCP connection, but then 100 will fail later when the number of concurrent streams exceeds 100. Instead, recognize the "no cached connections" error value in the shouldRetryRequest method, so those 100 will retry a new connection. This is the conservative fix for Go 1.7 so users don't get errors, and to match the HTTP/1 behavior. Issues #13957 and #13774 are the more involved bugs for Go 1.8. Updates #16582 Updates #13957 Change-Id: I1f15a7ce60c07a4baebca87675836d6fe03993e8 Reviewed-on: https://go-review.googlesource.com/25580 TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Chris Broadfoot <cbro@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
-
- 06 Aug, 2016 1 commit
-
-
Brad Fitzpatrick authored
Updates #16625 Change-Id: Icac6705828bd9b29379596ba64b34d922b9002c3 Reviewed-on: https://go-review.googlesource.com/25548Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 05 Aug, 2016 4 commits
-
-
Shenghou Ma authored
Fixes #16618. Change-Id: Iffada12e8672bbdbcf2e787782c497e2c45701b1 Reviewed-on: https://go-review.googlesource.com/25550 Run-TryBot: Minux Ma <minux@golang.org> Reviewed-by: Arjan Van De Ven <arjan.van.de.ven@intel.com> Reviewed-by: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Shenghou Ma authored
Fixes #16570 on iOS. Thanks Daniel Burhans for reporting the bug and testing the fix. Change-Id: I43ae7b78c8f85a131ed3d93ea59da9f32a02cd8f Reviewed-on: https://go-review.googlesource.com/25481Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Ian Lance Taylor authored
Reportedly waitid is not available for Ubuntu on Windows. Fixes #16610. Change-Id: Ia724f45a85c6d3467b847da06d8c65d280781dcd Reviewed-on: https://go-review.googlesource.com/25507 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Brad Fitzpatrick authored
Updates bundled http2 to x/net/http2 git rev 075e191 for: http2: adjust flow control on open streams when processing SETTINGS https://golang.org/cl/25508 Fixes #16612 Change-Id: Ib0513201bff44ab747a574ae6894479325c105d2 Reviewed-on: https://go-review.googlesource.com/25543 Run-TryBot: Chris Broadfoot <cbro@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Chris Broadfoot <cbro@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 04 Aug, 2016 2 commits
-
-
Brad Fitzpatrick authored
Fixes #16606 Change-Id: I57465061b90e901293cd8b6ef756d6aa84ebd4a3 Reviewed-on: https://go-review.googlesource.com/25495Reviewed-by: Quentin Smith <quentin@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Quentin Smith <quentin@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
David Crawshaw authored
When compiling with -buildmode=shared, a map[int32]*_type is created for each extra module mapping duplicate types back to a canonical object. This is done in the function typelinksinit, which is called before the init function that sets up the hash functions for the map implementation. The result is typemap becomes unusable after runtime initialization. The fix in this CL is to move algorithm init before typelinksinit in the runtime setup process. (For 1.8, we may want to turn typemap into a sorted slice of types and use binary search.) Manually tested on GOOS=linux with: GOHOSTARCH=386 GOARCH=386 ./make.bash && \ go install -buildmode=shared std && \ cd ../test && \ go run run.go -linkshared Fixes #16590 Change-Id: Idc08c50cc70d20028276fbf564509d2cd5405210 Reviewed-on: https://go-review.googlesource.com/25469 Run-TryBot: David Crawshaw <crawshaw@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
- 02 Aug, 2016 4 commits
-
-
Chris Broadfoot authored
Change-Id: I5571a5fa679065060950c554f7b28e42268b3e74 Reviewed-on: https://go-review.googlesource.com/25417 Run-TryBot: Chris Broadfoot <cbro@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Chris Broadfoot authored
Change-Id: I77d1665af543dc71f30b2afa48eac411de11afc7
-
Chris Broadfoot authored
Change-Id: I1134a4758b7e1a7da243c56f12ad9d2200c8ba41 Reviewed-on: https://go-review.googlesource.com/25414Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Chris Broadfoot authored
Change-Id: I177856ea2bc9943cbde28ca9afa145b6ea5b0942
-