- 11 Aug, 2017 6 commits
-
-
Joe Tsai authored
Prior to Go1.8, the Writer had a bug where it would output an invalid tar file in certain rare situations because the logic incorrectly believed that the old GNU format had a prefix field. This is wrong and leads to an output file that mangles the atime and ctime fields, which are often left unused. In order to continue reading tar files created by former, buggy versions of Go, we skeptically parse the atime and ctime fields. If we are unable to parse them and the prefix field looks like an ASCII string, then we fallback on the pre-Go1.8 behavior of treating these fields as the USTAR prefix field. Note that this will not use the fallback logic for all possible files generated by a pre-Go1.8 toolchain. If the generated file happened to have a prefix field that parses as valid atime and ctime fields (e.g., when they are valid octal strings), then it is impossible to distinguish between an valid GNU file and an invalid pre-Go1.8 file. Fixes #21005 Change-Id: Iebf5c67c08e0e46da6ee41a2e8b339f84030dd90 Reviewed-on: https://go-review.googlesource.com/53635 Run-TryBot: Joe Tsai <thebrokentoaster@gmail.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Joe Tsai authored
In Go1.0, Writer.Flush used to finish off the current file with zeros (if it was not already finished) and then write the padding. Since Go1.1, a regression was made (https://golang.org/cl/5777064) where it was an error to call Flush if the current file was incomplete. Thus, Flush now only writes out the final padding bytes, which arguably isn't very useful to anyone. Since this has been the behavior of Flush for 9 releases of Go (1.1 to 1.9), we should keep this behavior and just simplify the logic. We also mark the method as deprecated since it serves no purpose. Change-Id: I94610d942cb75cad495efd8cf799c1a275a21751 Reviewed-on: https://go-review.googlesource.com/54434 Run-TryBot: Joe Tsai <thebrokentoaster@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Hiroshi Ioka authored
Change-Id: I84b0e1d86728a76bc6a87fee4accf6fc43d87006 Reviewed-on: https://go-review.googlesource.com/54814Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
molivier authored
Change-Id: I78f4ec32c6445015ce626a552edcba561eb650fa Reviewed-on: https://go-review.googlesource.com/54710Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com> Run-TryBot: Joe Tsai <thebrokentoaster@gmail.com>
-
Tobias Klauser authored
https://golang.org/cl/37508 added an escape analysis test for #12397 to escape2.go but missed to add it to escape2n.go. The comment at the top of the former states that the latter should contain all the same tests and the tests only differ in using -N to compile. Conform to this by adding the function issue12397 to escape2n.go as well. Also fix a whitespace difference in escape2.go, so the two files match exactly (except for the comment at the top). Change-Id: I3a09cf95169bf2150a25d6b4ec9e147265d36760 Reviewed-on: https://go-review.googlesource.com/54610Reviewed-by: Avelino <t@avelino.xxx> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com> Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
-
Josh Bleecher Snyder authored
Updates #21352 Change-Id: If21342f30be32e25840b4072b932a6d4257b420d Reviewed-on: https://go-review.googlesource.com/54091 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Avelino <t@avelino.xxx> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
- 10 Aug, 2017 8 commits
-
-
Austin Clements authored
This computes the maximum possible waste in a size class due to both internal and external fragmentation as a percent of the span size. This parallels the reasoning about overhead in the comment at the top of mksizeclasses.go and confirms that comment's assertion that (except for the few smallest size classes), none of the size classes have worst-case internal and external fragmentation simultaneously. Change-Id: Idb66fe6c241d56f33d391831d4cd5a626955562b Reviewed-on: https://go-review.googlesource.com/49370 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
Joe Kyo authored
Change-Id: I9d77655026f16a41a77bd0036d693a40cdd6d52f Reviewed-on: https://go-review.googlesource.com/52090Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Joe Tsai <thebrokentoaster@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Mat Byczkowski authored
Change-Id: I2eb4f9531372c792a98578560e946d803ad96da8 Reviewed-on: https://go-review.googlesource.com/54411Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
-
Daniel Martí authored
Ranging over a nil slice is a no-op, so guarding it with a nil check is not useful. Found with honnef.co/go/tools/cmd/staticcheck. Change-Id: I6ce56bb6805809ca29349257f10fd69c30611643 Reviewed-on: https://go-review.googlesource.com/54131 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>
-
Elias Naur authored
Before this CL, whenever the Go runtime wanted to kill its own process with a signal dieFromSignal would reset the signal handler to _SIG_DFL. Unfortunately, if any signal handler were installed before the Go runtime initialized, it wouldn't be invoked either. Instead, use whatever signal handler was installed before initialization. The motivating use case is Crashlytics on Android. Before this CL, Crashlytics would not consider a crash from a panic() since the corresponding SIGABRT never reached its signal handler. Updates #11382 Updates #20392 (perhaps even fixes it) Fixes #19389 Change-Id: I0c8633329433b45cbb3b16571bea227e38e8be2e Reviewed-on: https://go-review.googlesource.com/49590 Run-TryBot: Elias Naur <elias.naur@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Elias Naur authored
To avoid gigantic core dumps, the runtime avoids raising SIGABRT on crashes on 64-bit Darwin systems. Mobile OS'es (probably) don't generate huge core dumps, so to aid crash reporters, allow SIGABRT on crashes on darwin/arm64. Change-Id: I4a29608f400967d76f9bd0643fea22244c2da9df Reviewed-on: https://go-review.googlesource.com/49770 Run-TryBot: Elias Naur <elias.naur@gmail.com> Reviewed-by: Avelino <t@avelino.xxx> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Kevin Burke authored
Probably went unnoticed because HTML normalizes multiple space characters into one, unless you explicitly ask for them with . Change-Id: I3f97b24a111da3f0f28894f1246388018beb084e Reviewed-on: https://go-review.googlesource.com/54570Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com> Reviewed-by: Rob Pike <r@golang.org>
-
Dave Cheney authored
This reverts commit f0b36269. Reason for revert: this change caused the runtime tests on all linux/amd64 and linux/386 builders to timeout Change-Id: Idf8cfdfc84540e21e8da403e74df5596a1d9327b Reviewed-on: https://go-review.googlesource.com/54490Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
- 09 Aug, 2017 24 commits
-
-
Mikio Hara authored
Fixes #20898. Change-Id: Ib3a8da34851d8b3681a6802e509fe712d6982df2 Reviewed-on: https://go-review.googlesource.com/47450 Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Avelino <t@avelino.xxx>
-
Daniel Martí authored
Mostly node and position parameters that are no longer used. Also remove an unnecessary node variable while at it. Found with github.com/mvdan/unparam. Change-Id: I88f9bd5d20bfc5b0f6f63ea81869daa246175061 Reviewed-on: https://go-review.googlesource.com/54130 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Sergey Frolov authored
Change-Id: I23bfaa7e03a21aad4e85baa3bf52bb00c09b75d0 Reviewed-on: https://go-review.googlesource.com/44354Reviewed-by: Adam Langley <agl@golang.org>
-
Matthew Dempsky authored
If we've already imported a named type, then there's no need to process its associated methods except to validate that the signature matches the existing known method. However, the current import code still creates a new function node for each method, saves its inline body (if any), and adds the node to the global importlist. Because of this, the duplicate methods are never garbage collected. This CL changes the compiler to avoid amassing uncollectable garbage or performing any unnecessary processing. This is particularly noticeable for protobuf-heavy code. For the motivating Go package, this CL reduced compile max-RSS from ~12GB to ~3GB and compile time from ~65s to ~50s. Passes toolstash -cmp for std, cmd, and k8s.io/kubernetes/cmd/.... Change-Id: Ib53ba9f2ad3212995671cf6ba220ee8a56d8d009 Reviewed-on: https://go-review.googlesource.com/51331 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com>
-
Matt Dee authored
Currently, the check for `ctx.Done() == context.Background().Done()` comes before the check to see if we are ignoring any options. That check should be done earlier, so that the options are not silently ignored. Fixes #21350 Change-Id: I3704e4209854c7d99f3f92498bae831cabc7e419 Reviewed-on: https://go-review.googlesource.com/53970Reviewed-by: Daniel Theophanes <kardianos@gmail.com> Run-TryBot: Daniel Theophanes <kardianos@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Michael McLoughlin authored
The linux getrandom system call returns at most 33554431 = 2^25-1 bytes per call. The existing behavior for larger reads is to report a failure, because there appears to have been an unexpected short read. In this case the system falls back to reading from "/dev/urandom". This change performs reads of 2^25 bytes or more with multiple calls to getrandom. Fixes #20877 Change-Id: I618855bdedafd86cd11219fe453af1d6fa2c88a7 Reviewed-on: https://go-review.googlesource.com/49170Reviewed-by: Adam Langley <agl@golang.org> Run-TryBot: Adam Langley <agl@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Brian Kessler authored
The current modInverse implementation allocates a big.Int for the second parameter of GCD, while only the first is needed. This is unnecessary and can lead to a speed up for optimizations of GCD where the second parameter is not calculated at all. Change-Id: I3f042e140ff643311bc3d0b8d192992d4d2c4c70 Reviewed-on: https://go-review.googlesource.com/50531 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Adam Langley <agl@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Filippo Valsorda <filosottile.wiki@gmail.com> Reviewed-by: Adam Langley <agl@golang.org>
-
Wembley G. Leach, Jr authored
Change-Id: I30563d31f6acea594cc853cc6b672ec664f90d48 Reviewed-on: https://go-review.googlesource.com/53636Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com> Run-TryBot: Emmanuel Odeke <emm.odeke@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Dmitri Shuralyov authored
Now that issue #12438 is resolved, this TODO can be completed. Create a logf helper, which is similar to Server.logf method, but takes a *Request to infer the *Server and its ErrorLog from. Update documentation of Server.ErrorLog to mention a new type of errors that may be logged to it. Also update a statement in documentation of Server.ErrorLog from: // If nil, logging goes to os.Stderr via the log package's // standard logger. To: // If nil, logging is done via the log package's standard logger. The motivation for doing so is to avoid making inaccurate claims. Logging may not go to os.Stderr if anyone overrides the log package's default output via https://godoc.org/log#SetOutput. Saying that the standard logger is used should be sufficient to explain the behavior, and users can infer that os.Stderr is used by default, unless it's changed. Updates #12438. Change-Id: I3a4b0db51d652fd25fb2065fbc2157a3dec4dd38 Reviewed-on: https://go-review.googlesource.com/53950Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Lynn Boger authored
This change enables buildmode c-shared on ppc64le. A bug was fixed in runtime/rt0_linux_ppc64le.s that was necessary to make this work. In _rt0_ppc64le_linux_lib, there is code to store the value of r2 onto the caller's stack. However, if this file is compiled using a build mode that maintains the TOC address in r2, then instructions will be inserted at the beginning of this function to generate the r2 value for the callee, not the caller. That means the r2 value for the callee is stored onto the caller's stack. If caller and callee don't have the same r2 values, then the caller will restore the wrong r2 value after it returns. This situation can happen when using dlopen since the caller of this function will be in ld64.so and will definitely have a different TOC. Updates #20756 Change-Id: I6e165e0d0716e73721bbbcc520e8302e4856e3ba Reviewed-on: https://go-review.googlesource.com/53890Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Austin Clements authored
We use lock-free reads from mheap.spans, but the safety of these is somewhat subtle. Document this. Change-Id: I928c893232176135308e38bed788d5f84ff11533 Reviewed-on: https://go-review.googlesource.com/54310Reviewed-by: Rick Hudson <rlh@golang.org>
-
Joe Kyo authored
When If-Range does not match and the requested resource is available, server should return a "200 OK" response to client. Currently server returns "200 OK" when the request method is GET, but "206 Partial Content" when method is HEAD. This change fixed this inconsistency. Change-Id: I5ad979919f4f089baba54a4445b70ca38471a906 Reviewed-on: https://go-review.googlesource.com/54110 Run-TryBot: Tom Bergan <tombergan@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Tom Bergan <tombergan@google.com>
-
Than McIntosh authored
Add test cases to verify behavior for Ldexp with exponents outside the range of Minint32/Maxint32, for a gccgo bug. Test for issue #21323. Change-Id: Iea67bc6fcfafdfddf515cf7075bdac59360c277a Reviewed-on: https://go-review.googlesource.com/54230 Run-TryBot: Than McIntosh <thanm@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Christian Alexander authored
The word "of" was removed in https://go-review.googlesource.com/c/36626 Change-Id: Iece69f425d06ab1cf02743b1033cfed2e96667ab Reviewed-on: https://go-review.googlesource.com/54290Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
romanyx authored
Change-Id: Iee1b3e116b4dcc4071d6512abc5241eabedaeb5c Reviewed-on: https://go-review.googlesource.com/53850Reviewed-by: Robert Griesemer <gri@golang.org> Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
RaviTeja authored
Change-Id: I41c22b9c6933b3f3469c0e815048a49e1d37927a Reviewed-on: https://go-review.googlesource.com/54190Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Alberto Donizetti authored
SkipNow and FailNow must be called from the goroutine running the test. This is already documented, but it's easy to call them by mistake when writing subtests. In the following: func TestPanic(t *testing.T) { t.Run("", func(t2 *testing.T) { t.FailNow() // BAD: should be t2.FailNow() }) } the FailNow call on the outer t *testing.T correctly triggers a panic panic: test executed panic(nil) or runtime.Goexit The error message confuses users (see issues #17421, #21175) because there is no way to trace back the relevant part of the message ("test executed ... runtime.Goexit") to a bad FailNow call without checking the testing package source code and finding out that FailNow calls runtime.Goexit. To help users debug the panic message, mention in the SkipNow and FailNow documentation that they stop execution by calling runtime.Goexit. Fixes #21175 Change-Id: I0a3e5f768e72b464474380cfffbf2b67396ac1b5 Reviewed-on: https://go-review.googlesource.com/52770Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Tom Bergan authored
Updates http2 to x/net/http2 git rev 1c05540f687 for: http2: fix format argument warnings in tests https://golang.org/cl/48090 http2: retry requests after receiving REFUSED STREAM https://golang.org/cl/50471 http2: block RoundTrip when the Transport hits MaxConcurrentStreams https://golang.org/cl/53250 Fixes #13774 Fixes #20985 Fixes #21229 Change-Id: Ie19b4a7cc395a0b7a25fac55f5051faaf94920bb Reviewed-on: https://go-review.googlesource.com/54052 Run-TryBot: Tom Bergan <tombergan@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
molivier authored
Change-Id: Ia0f0c8ab4f2f9e96faad6d88775ae19ca7fae53c Reviewed-on: https://go-review.googlesource.com/53790Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Avelino <t@avelino.xxx> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Kevin Burke authored
We initialize fieldStart to 0, then set it to i without ever reading 0, so we might as well just initialize it to i. Change-Id: I17905b25d54a62b6bc76f915353756ed5eb6972b Reviewed-on: https://go-review.googlesource.com/52933Reviewed-by: Martin Möhrmann <moehrmann@google.com> Reviewed-by: Avelino <t@avelino.xxx> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Wei Congrui authored
Functions XORKeyStream should panic if len(dst) < len(src), but it write to dst before bounds checking. In asm routines and fastXORBytes, this is an out of bounds write. Fixes #21104 Change-Id: I354346cda8d63910f3bb619416ffd54cd0a04a0b Reviewed-on: https://go-review.googlesource.com/52050Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Daniel Martí authored
Otherwise, vet might have false positives when "C" is a variable and we're just using a method on it. Or when an import was renamed to "C". Add test files for both of these cases. Fixes #20655. Change-Id: I55fb93119444a67fcf7891ad92653678cbd4670e Reviewed-on: https://go-review.googlesource.com/45551 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Rob Pike <r@golang.org>
-
Josh Bleecher Snyder authored
These rules trigger a few times during make.bash. When we eliminate boundedness checks from walk.go we'll rely on them more heavily. Updates #19692 Change-Id: I268c36ae2f1401c68dd685b15f2d30f5d6971176 Reviewed-on: https://go-review.googlesource.com/43775 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
Josh Bleecher Snyder authored
gc.Sysfunc must not be called concurrently. We set up runtime routines used by the backend prior to doing any backend compilation. I missed the 387 ones; fix that. Sysfunc should have been unexported during 1.9. I will rectify that in a subsequent CL. Fixes #21352 Change-Id: I8386eaa1e05879c25c672b9c9fc693c938e9aeb6 Reviewed-on: https://go-review.googlesource.com/54090 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Avelino <t@avelino.xxx> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 08 Aug, 2017 2 commits
-
-
Josh Bleecher Snyder authored
Change-Id: Iece39e6412c0f6c63f563eed1621b8cca02de835 Reviewed-on: https://go-review.googlesource.com/51890 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Avelino <t@avelino.xxx> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Josh Bleecher Snyder authored
The standard deviation of a uniform distribution is size / √12. The size of the interval [0, 255] is 256, not 255. While we're here, simplify the expression. The tests previously passed only because the error margin was large enough. Sample observed standard deviations while running tests: 73.7893634666819 73.9221651548294 73.8077961697150 73.9084236069471 73.8968446814785 73.8684209136244 73.9774618960282 73.9523483202549 255 / √12 == 73.6121593216772 256 / √12 == 73.9008344562721 Change-Id: I7bc6cdc11e5d098951f2f2133036f62489275979 Reviewed-on: https://go-review.googlesource.com/51310 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-