- 02 Mar, 2017 27 commits
-
-
Will Storey authored
This changes the decoder's behaviour when there is stray/extra data found after an image is decompressed (e.g., data sub-blocks after an LZW End of Information Code). Instead of raising an error, we silently skip over such data until we find the end of the image data marked by a Block Terminator. We skip at most one byte as sample problem GIFs exhibit this property. GIFs should not have and do not need such stray data (though the specification is arguably ambiguous). However GIFs with such properties have been seen in the wild. Fixes #16146 Change-Id: Ie7e69052bab5256b4834992304e6ca58e93c1879 Reviewed-on: https://go-review.googlesource.com/37258Reviewed-by: Nigel Tao <nigeltao@golang.org> Run-TryBot: Nigel Tao <nigeltao@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Josh Bleecher Snyder authored
p.m is accessed in WriteTo without holding p.mu. Move the access inside the critical section. The race detector catches this bug using this program: package main import ( "os" "runtime/pprof" "time" ) func main() { p := pprof.NewProfile("ABC") go func() { p.WriteTo(os.Stdout, 1) time.Sleep(time.Second) }() p.Add("abc", 0) time.Sleep(time.Second) } $ go run -race x.go ================== WARNING: DATA RACE Write at 0x00c42007c240 by main goroutine: runtime.mapassign() /Users/josh/go/tip/src/runtime/hashmap.go:485 +0x0 runtime/pprof.(*Profile).Add() /Users/josh/go/tip/src/runtime/pprof/pprof.go:281 +0x255 main.main() /Users/josh/go/tip/src/p.go:15 +0x9d Previous read at 0x00c42007c240 by goroutine 6: runtime/pprof.(*Profile).WriteTo() /Users/josh/go/tip/src/runtime/pprof/pprof.go:314 +0xc5 main.main.func1() /Users/josh/go/tip/src/x.go:12 +0x69 Goroutine 6 (running) created at: main.main() /Users/josh/go/tip/src/x.go:11 +0x6e ================== ABC profile: total 1 1 @ 0x110ccb4 0x111aeee 0x1055053 0x107f031 Found 1 data race(s) exit status 66 (Exit status 66?) Change-Id: I49d884dc3af9cce2209057a3448fe6bf50653523 Reviewed-on: https://go-review.googlesource.com/37730 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Robert Griesemer authored
There's no good reason to exclude it and it only makes the code more complicated and less consistent. Having it in the list provides an easy way to detect if a package uses operations from package unsafe. Change-Id: I2f9b0485db0a680bd82f3b93a350b048db3f7701 Reviewed-on: https://go-review.googlesource.com/37694Reviewed-by: Alan Donovan <adonovan@google.com>
-
Robert Griesemer authored
- renamed -a flag to -t - added -x flag to specify external test files - improved documentation and usage string Change-Id: I7c850bd28a10ceaa55d599c22db07774147aa3f7 Reviewed-on: https://go-review.googlesource.com/37656Reviewed-by: Alan Donovan <adonovan@google.com>
-
Robert Griesemer authored
The old code may have reported different errors given an erroneous package depending on the order in which files were parsed concurrently. The new code always reports errors in "file order", independent of processing order. Also: - simplified parsing code and internal concurrency control - removed -seq flag which didn't really add useful functionality Change-Id: I18e24e630f458f2bc107a7b83926ae761d63c334 Reviewed-on: https://go-review.googlesource.com/37655Reviewed-by: Alan Donovan <adonovan@google.com>
-
Josh Bleecher Snyder authored
This is now handled by os/exec. Updates #12868 Change-Id: Ic21a6ff76a9b9517437ff1acf3a9195f9604bb45 Reviewed-on: https://go-review.googlesource.com/37698Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Brad Fitzpatrick authored
If I put a 10 millisecond sleep at testHookWaitResLoop, before the big select in (*persistConn).roundTrip, two flakes immediately started happening, TestTransportBodyReadError (#19231) and TestTransportPersistConnReadLoopEOF. The problem was that there are many ways for a RoundTrip call to fail (errors reading from Request.Body while writing the response, errors writing the response, errors reading the response due to server closes, errors due to servers sending malformed responses, cancelations, timeouts, etc.), and many of those failures then tear down the TCP connection, causing more failures, since there are always at least three goroutines involved (reading, writing, RoundTripping). Because the errors were communicated over buffered channels to a giant select, the error returned to the caller was a function of which random select case was called, which was why a 10ms delay before the select brought out so many bugs. (several fixed in my previous CLs the past few days). Instead, track the error explicitly in the transportRequest, guarded by a mutex. In addition, this CL now: * differentiates between the two ways writing a request can fail: the io.Copy reading from the Request.Body or the io.Copy writing to the network. A new io.Reader type notes read errors from the Request.Body. The read-from-body vs write-to-network errors are now prioritized differently. * unifies the two mapRoundTripErrorFromXXX methods into one mapRoundTripError method since their logic is now the same. * adds a (*Request).WithT(*testing.T) method in export_test.go, usable by tests, to call t.Logf at points during RoundTrip. This is disabled behind a constant except when debugging. * documents and deflakes TestClientRedirectContext I've tested this CL with high -count values, with/without -race, with/without delays before the select, etc. So far it seems robust. Fixes #19231 (TestTransportBodyReadError flake) Updates #14203 (source of errors unclear; they're now tracked more) Updates #15935 (document Transport errors more; at least understood more now) Change-Id: I3cccc3607f369724b5344763e35ad2b7ea415738 Reviewed-on: https://go-review.googlesource.com/37495 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
-
Mike Danese authored
Using GetClientCertificate with the http client is currently completely broken because inside the transport we clone the tls.Config and pass it off to the tls.Client. Since tls.Config.Clone() does not pass forward the GetClientCertificate field, GetClientCertificate is ignored in this context. Fixes #19264 Change-Id: Ie214f9f0039ac7c3a2dab8ffd14d30668bdb4c71 Signed-off-by: Mike Danese <mikedanese@google.com> Reviewed-on: https://go-review.googlesource.com/37541Reviewed-by: Filippo Valsorda <hi@filippo.io> Reviewed-by: Adam Langley <agl@golang.org> Run-TryBot: Adam Langley <agl@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Josh Bleecher Snyder authored
This reverts commit 9bd1cc3f. Reason for revert: New fixes in from upstream. Try this again. Change-Id: Iea46f32857e8467f8d5a49b31e20a52fda8bce60 Reviewed-on: https://go-review.googlesource.com/37693Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Josh Bleecher Snyder authored
Now that vet loads from source, fmt can always be correctly resolved, so the fmt.Formatter type is always available, so we can reinstate the check. Change-Id: I17f0c7fccf6960c9415de8774b15123135d57be8 Reviewed-on: https://go-review.googlesource.com/37692 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Rob Pike <r@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Josh Bleecher Snyder authored
This simplifies the code and speeds it up. It also allows us to eliminate some other TODOs; those will come in a follow-up CL. Running for the host platform, before: real 0m9.907s user 0m14.566s sys 0m1.058s After: real 0m7.841s user 0m12.339s sys 0m0.572s Running for a single non-host platform, before: real 0m8.784s user 0m15.451s sys 0m3.445s After: real 0m7.681s user 0m12.122s sys 0m0.577s Running for all platforms, before: real 7m4.480s user 8m43.398s sys 1m15.683s After: real 4m37.596s user 7m30.729s sys 0m18.533s It also makes my laptop considerably more responsive while running for all platforms. Change-Id: I748689fea0d2d4ef61aca2ce5524d03d8fafa5ca Reviewed-on: https://go-review.googlesource.com/37691Reviewed-by: Rob Pike <r@golang.org>
-
Josh Bleecher Snyder authored
Add a -source flag to cmd/vet that instructs it to typecheck purely from source code. Updates #16086 Fixes #19332 Change-Id: Ic83d0f14d5bb837a329d539b2873aeccdf7bf669 Reviewed-on: https://go-review.googlesource.com/37690Reviewed-by: Rob Pike <r@golang.org>
-
Josh Bleecher Snyder authored
Instead of constructing the importer in init, do it lazily as needed. This lets us select the importer using a command line flag. The addition of the command line flag will come in a follow-up CL. Change-Id: Ieb3a5f01a34fb5bd220a95086daf5d6b37e83bb5 Reviewed-on: https://go-review.googlesource.com/37669Reviewed-by: Rob Pike <r@golang.org> Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Heschi Kreinick authored
There's no guarantee that all in-progress mark assists will finish before the trace does. Don't crash if that happens. I haven't added a test because there's quite a bit of ceremony involved and the bug is fairly straightforward. Change-Id: Ia1369a8e2260fc6a328ad204a1eab1063d2e2c90 Reviewed-on: https://go-review.googlesource.com/37540Reviewed-by: Austin Clements <austin@google.com> Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Josh Bleecher Snyder authored
Fixes #19359 Change-Id: I196b47cf0471915b6dc63785e8542aa1876ff695 Reviewed-on: https://go-review.googlesource.com/37665 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
Matthew Dempsky authored
Fixes #19168. Change-Id: I3f4fcc0b189c53819ac29ef8de86fdad76a17488 Reviewed-on: https://go-review.googlesource.com/37663Reviewed-by: Keith Randall <khr@golang.org>
-
Josh Bleecher Snyder authored
Change-Id: I99706807782f11e8d24baf953424a9e292a2cbac Reviewed-on: https://go-review.googlesource.com/37668 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Rob Pike <r@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Josh Bleecher Snyder authored
This eliminates a duplicate copy of the SizesFor map. Change-Id: I51e44ea8ee860901086616e3f4dfa32aaa9b4d2d Reviewed-on: https://go-review.googlesource.com/37667 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Rob Pike <r@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Josh Bleecher Snyder authored
The current StdSizes most closely matches the gc compiler, and the uses I know of that care which compiler the sizes are for are all for the gc compiler, so call the existing implementation "gc". Updates #17586 Fixes #19351 Change-Id: I2bdd694518fbe233473896321a1f9758b46ed79b Reviewed-on: https://go-review.googlesource.com/37666 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>
-
Josh Bleecher Snyder authored
Fixes #19323 Change-Id: I92d1bdefb15de6178a577a4fa0f0dc004f791904 Reviewed-on: https://go-review.googlesource.com/37584 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Russ Cox authored
The original analysis of the Go corpus assumed that these stripped monotonic time. During the design discussion we decided to try not stripping monotonic time here, but existing code works better if we do. See the discussion on golang.org/issue/18991 for more details. For #18991. Change-Id: I04d355ffe56ca0317acdd2ca76cb3033c277f6d1 Reviewed-on: https://go-review.googlesource.com/37542Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Brad Fitzpatrick authored
It fails on Solaris often, but nowhere else. Not sure why. Add some debugging. Change-Id: I79fc710bd339ae972d624c73a46bd8d215729c10 Reviewed-on: https://go-review.googlesource.com/37659Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com> Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Philip Hofer authored
This is a follow-up to CL 36893. Move the unlikely branch in the wrapper prologue to the end of the function, where it has minimal impact on the instruction cache. Static branch prediction is also less likely to choose a forward branch. Updates #19042 sort benchmarks: name old time/op new time/op delta SearchWrappers-4 1.44µs ± 0% 1.45µs ± 0% +1.15% (p=0.000 n=9+10) SortString1K-4 1.02ms ± 0% 1.04ms ± 0% +2.39% (p=0.000 n=10+10) SortString1K_Slice-4 960µs ± 0% 989µs ± 0% +2.95% (p=0.000 n=9+10) StableString1K-4 218µs ± 0% 213µs ± 0% -2.13% (p=0.000 n=10+10) SortInt1K-4 541µs ± 0% 543µs ± 0% +0.30% (p=0.003 n=9+10) StableInt1K-4 760µs ± 1% 763µs ± 1% +0.38% (p=0.011 n=10+10) StableInt1K_Slice-4 840µs ± 1% 779µs ± 0% -7.31% (p=0.000 n=9+10) SortInt64K-4 55.2ms ± 0% 55.4ms ± 1% +0.34% (p=0.012 n=10+8) SortInt64K_Slice-4 56.2ms ± 0% 55.6ms ± 1% -1.16% (p=0.000 n=10+10) StableInt64K-4 70.9ms ± 1% 71.0ms ± 0% ~ (p=0.315 n=10+7) Sort1e2-4 250µs ± 0% 249µs ± 1% ~ (p=0.315 n=9+10) Stable1e2-4 600µs ± 0% 594µs ± 0% -1.09% (p=0.000 n=9+10) Sort1e4-4 51.2ms ± 0% 51.4ms ± 1% +0.40% (p=0.001 n=9+10) Stable1e4-4 204ms ± 1% 199ms ± 1% -2.27% (p=0.000 n=10+10) Sort1e6-4 8.42s ± 0% 8.44s ± 0% +0.28% (p=0.000 n=8+9) Stable1e6-4 43.3s ± 0% 42.5s ± 1% -1.89% (p=0.000 n=9+9) Change-Id: I827559aa557fdba211a38ce3f77137b471c5c67e Reviewed-on: https://go-review.googlesource.com/37611 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
-
Ian Lance Taylor authored
The test assumed that passing an unknown option to the Fortran compiler would cause the compiler to fail. Unfortunately it appears that some succeed. It's irrelevant to the actual test, which is verifying that the flag was indeed passed. Fixes #19080. Change-Id: Ib9e89447a2104e4742f4b98938373fc2522772aa Reviewed-on: https://go-review.googlesource.com/37658 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
-
Russ Cox authored
Fixes #19069. Change-Id: I211a304ec57d6b94366af4c0db413c8055b9634d Reviewed-on: https://go-review.googlesource.com/37531Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Steve Francia <spf@golang.org>
-
Michel Lespinasse authored
Add golang.org/x/net/proxy from x/net git rev a689eb3bc4b5 Change-Id: I4ceb2cf5686042c545fe69868537a66e083139de Reviewed-on: https://go-review.googlesource.com/35552Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Michel Lespinasse authored
See #18508 This commit adds http Client support for socks5 proxies. Change-Id: Ib015f3819801da13781d5acdd780149ae1f5857b Reviewed-on: https://go-review.googlesource.com/35488Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 01 Mar, 2017 13 commits
-
-
Robert Griesemer authored
Also: Remove -gccgo flag (not supported after 1.5), minor cleanups. Change-Id: I625241b07b277ac50ff836e2230b7b285887d35e Reviewed-on: https://go-review.googlesource.com/37654Reviewed-by: Alan Donovan <adonovan@google.com>
-
Keith Randall authored
After https://go-review.googlesource.com/c/36725/, ppc64x no longer needs a temp stack location for int reg <-> fp reg moves. Update #18922 Change-Id: Ib4319784f7a855f593dfa5231604ca2c24e4c882 Reviewed-on: https://go-review.googlesource.com/37651Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com>
-
Josh Bleecher Snyder authored
Updates #19229 Change-Id: Ibe1ea090ac064c7eb5abd225214ab43744bafbc4 Reviewed-on: https://go-review.googlesource.com/37653 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Raul Silvera authored
Updating to commit dec22b42d9eee442222c36c8da24ddc9905e7ee6 from github.com/google/pprof Fixes #19322. Change-Id: I1bc3fcd381f22d52557f61c6fb694f54fc64470c Reviewed-on: https://go-review.googlesource.com/37652Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
-
Keith Randall authored
Make sure that if we encode an explicit base register, we print it. That will ensure that if we make an Addr with an auto variable but a base that isn't SP, then it will be obvious from the disassembly. Update #19184 Change-Id: If5556a5183f344d719ec7197aa935a0166061e6f Reviewed-on: https://go-review.googlesource.com/37255Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Brad Fitzpatrick authored
In an unrelated CL I found a way to increase the likelihood of latent flaky tests and found this one. This is just like yesterday's https://golang.org/cl/37624 and dozens before it (all remnants from the great net/http test parallelization of Nov 2016 in https://golang.org/cl/32684). Change-Id: I3fe61d1645062e5109206ff27d74f573ef6ebb2e Reviewed-on: https://go-review.googlesource.com/37627 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
-
Lynn Boger authored
This adds the necessary changes so that atomics are treated as intrinsics on ppc64x. The implementations of And8 and Or8 require power8 for both ppc64 and ppc64le. This is a new requirement for ppc64. Fixes #8739 Change-Id: Icb85e2755a49166ee3652668279f6ed5ebbca901 Reviewed-on: https://go-review.googlesource.com/36832Reviewed-by: Keith Randall <khr@golang.org>
-
Andreas Auernhammer authored
Fixes golang/go#19060 Change-Id: I1844edc3dcccc8d83a11d1145b60b2b92f2658ca Reviewed-on: https://go-review.googlesource.com/36876Reviewed-by: Adam Langley <agl@golang.org>
-
Joe Shaw authored
Previously the code didn't check for extra data after the final five dashes of the ending line of a PEM block. Fixes #19147 Fixes #7042 Change-Id: Idaab2390914a2bed8c2c12b14dfb6d68233fdfec Reviewed-on: https://go-review.googlesource.com/37147Reviewed-by: Adam Langley <agl@golang.org>
-
Robert Griesemer authored
See the issue below for details. For #19337. Change-Id: I7637dcd4408f1bc4a9b3050a107aadb4de6f950b Reviewed-on: https://go-review.googlesource.com/37620Reviewed-by: Alan Donovan <adonovan@google.com>
-
Lynn Boger authored
Some debugging code was recently added to: 1) provide more detail for the stale reason when it is determined that a package is stale 2) provide file and package time and date information when it is determined that runtime.a is stale This backs out those those debugging messages. Fixes #19116 Change-Id: I8dd0cbe29324820275b481d8bbb78ff2c5fbc362 Reviewed-on: https://go-review.googlesource.com/37382 Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
David du Colombier authored
Updating to commit b1c91b9f8fa7647e4c43c96c50f245df551f7013 from github.com/google/pprof Fixes #19342. Change-Id: Iaaa283cdce3f9bf3e5fe713be7d23c477b579092 Reviewed-on: https://go-review.googlesource.com/37634 Run-TryBot: David du Colombier <0intro@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Lynn Boger authored
This makes a change in the SSA code generated for OpPPC64Xf2i64 and OpPPC64Xi2f64 to use register based instructions to convert between float and integer. This will require at least power8. Currently the conversion is done by storing to and loading from memory, which is more expensive. This improves some of the math functions: BenchmarkExp-128 74.1 66.8 -9.85% BenchmarkExpGo-128 87.4 66.3 -24.14% BenchmarkExp2-128 72.2 64.3 -10.94% BenchmarkExp2Go-128 74.3 65.9 -11.31% BenchmarkLgamma-128 51.0 39.7 -22.16% BenchmarkLog-128 42.9 40.6 -5.36% BenchmarkLogb-128 11.5 9.16 -20.35% BenchmarkLog1p-128 38.9 36.2 -6.94% BenchmarkSin-128 29.5 23.7 -19.66% BenchmarkTan-128 32.8 27.4 -16.46% Fixes #18922 Change-Id: I8e1cf14d3880d7cd720dc5188dd174cba1f7fef7 Reviewed-on: https://go-review.googlesource.com/36725Reviewed-by: Carlos Eduardo Seo <cseo@linux.vnet.ibm.com> Reviewed-by: Keith Randall <khr@golang.org>
-