1. 27 Jul, 2018 3 commits
    • Martin Möhrmann's avatar
      crypto/x509: skip TestSystemRoots · 911a5fda
      Martin Möhrmann authored
      cgo and non-cgo code paths can disagree
      on the number of root certificates:
      === RUN   TestSystemRoots
      --- FAIL: TestSystemRoots (0.31s)
          root_darwin_test.go:31:     cgo sys roots: 93.605184ms
          root_darwin_test.go:32: non-cgo sys roots: 213.998586ms
          root_darwin_test.go:44: got 168 roots
          root_darwin_test.go:44: got 427 roots
          root_darwin_test.go:73: insufficient overlap between cgo and non-cgo roots; want at least 213, have 168
      FAIL
      exit status 1
      
      Updates #21416
      Updates #24652
      
      Change-Id: Idb6d35b17c142dfff79a10cf6b40a42d12f9d17e
      Reviewed-on: https://go-review.googlesource.com/125259
      Run-TryBot: Martin Möhrmann <moehrmann@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      911a5fda
    • Daniel Martí's avatar
      cmd/go/internal/par: fix TestWorkParallel retries · b39fb9ec
      Daniel Martí authored
      When the test retried multiple times, it reused the same Work variable,
      causing in the builders being flaky due to panics. I was able to
      immediately reproduce the failure with stress and -race:
      
      	$ go test -race -c && stress -p 32 ./par.test -test.run=TestWorkParallel$
      
      	/tmp/go-stress909062277
      	--- FAIL: TestWorkParallel (0.07s)
      	panic: par.Work.Do: already called Do [recovered]
      		panic: par.Work.Do: already called Do
      
      Instead, use a new Work variable at each retry. Now, the line above
      seems to never fail. Of course, much higher 'stress -p' values will
      still result in "does not seem to be parallel" test failures since the
      machine lacks resources. But those are test failures, not panics.
      
      Fixes #26642.
      
      Change-Id: I5e962eca7602cf413d911ff5669f56d4f52da5a7
      Reviewed-on: https://go-review.googlesource.com/126355
      Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
      Run-TryBot: Bryan C. Mills <bcmills@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarBryan C. Mills <bcmills@google.com>
      b39fb9ec
    • Yury Smolsky's avatar
      cmd/go: remove unused global var isGoRelease · 6732633b
      Yury Smolsky authored
      This variable is not used anymore. It was used in the
      TestPackageNotStaleWithTrailingSlash test.
      
      Change-Id: I5e52d4d1d91592dd21e2d9cff96974a49d07f5f8
      Reviewed-on: https://go-review.googlesource.com/126376
      Run-TryBot: Yury Smolsky <yury@smolsky.by>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      6732633b
  2. 26 Jul, 2018 1 commit
  3. 25 Jul, 2018 3 commits
  4. 24 Jul, 2018 10 commits
    • Ian Gudger's avatar
      net: fix handling of Conns created by Resolver.Dial · 5f5402b7
      Ian Gudger authored
      The DNS client in net is documented to treat Conns returned by
      Resolver.Dial which implement PacketConn as UDP and those which don't as
      TCP regardless of what was requested. golang.org/cl/37879 changed the
      DNS client to assume that the Conn returned by Resolver.Dial was the
      requested type which broke compatibility.
      
      Fixes #26573
      Updates #16218
      
      Change-Id: Idf4f073a4cc3b1db36a3804898df206907f9c43c
      Reviewed-on: https://go-review.googlesource.com/125735
      Run-TryBot: Ian Gudger <igudger@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      5f5402b7
    • Rob Pike's avatar
      doc: fix a couple of drive-by review comments in FAQ · c1e1e882
      Rob Pike authored
      Change-Id: I10cc2073e28cefb1b9a10c0ae89d819ad6417d66
      Reviewed-on: https://go-review.googlesource.com/125695Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      c1e1e882
    • Filippo Valsorda's avatar
      net/http: fix and normalize the [Server.][ListenAnd]Serve[TLS] docs · 7bebc6b7
      Filippo Valsorda authored
      The only inaccurate part was the HTTP/2 caveat in Server.ServeTLS, which
      only applies to the plain Serve variant.
      
      The restriction implemented in shouldConfigureHTTP2ForServe is not on
      the setupHTTP2_ServeTLS codepath because ServeTLS owns the tls.Listener,
      so we fix it for the user instead of disabling HTTP/2.
      
      Fixes #24607
      
      Change-Id: Ie5f207d0201f09db27bf81b75535e5f6fdaf91e2
      Reviewed-on: https://go-review.googlesource.com/103815Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      7bebc6b7
    • Keith Randall's avatar
      runtime: traceback from outermost libc call · fe68ab3b
      Keith Randall authored
      If we're in a libc call and get a trap, don't try to traceback the libc call.
      Start from the state we had at entry to libc.
      
      If there are multiple libc calls outstanding, remember the outermost one.
      
      Fixes #26393
      
      Change-Id: Icfe8794b95bf3bfd1a0679b456dcde2481dcabf3
      Reviewed-on: https://go-review.googlesource.com/124195Reviewed-by: 's avatarAustin Clements <austin@google.com>
      Run-TryBot: Austin Clements <austin@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      fe68ab3b
    • Keith Randall's avatar
      cmd/compile: set stricter inlining threshold in large functions · 5fc70b6f
      Keith Randall authored
      If we're compiling a large function, be more picky about how big
      the function we're inlining is.  If the function is >5000 nodes,
      we lower the inlining threshold from a cost of 80 to 20.
      
      Turns out reflect.Value's cost is exactly 80.  That's the function
      at issue in #26546.
      
      20 was chosen as a proxy for "inlined body is smaller than the call would be".
      Simple functions still get inlined, like this one at cost 7:
      
      func ifaceIndir(t *rtype) bool {
      	return t.kind&kindDirectIface == 0
      }
      
      5000 nodes was chosen as the big function size.  Here are all the
      5000+ node (~~1000+ lines) functions in the stdlib:
      
      5187 cmd/internal/obj/arm (*ctxt5).asmout
      6879 cmd/internal/obj/s390x (*ctxtz).asmout
      6567 cmd/internal/obj/ppc64 (*ctxt9).asmout
      9643 cmd/internal/obj/arm64 (*ctxt7).asmout
      5042 cmd/internal/obj/x86 (*AsmBuf).doasm
      8768 cmd/compile/internal/ssa rewriteBlockAMD64
      8878 cmd/compile/internal/ssa rewriteBlockARM
      8344 cmd/compile/internal/ssa rewriteValueARM64_OpARM64OR_20
      7916 cmd/compile/internal/ssa rewriteValueARM64_OpARM64OR_30
      5427 cmd/compile/internal/ssa rewriteBlockARM64
      5126 cmd/compile/internal/ssa rewriteValuePPC64_OpPPC64OR_50
      6152 cmd/compile/internal/ssa rewriteValuePPC64_OpPPC64OR_60
      6412 cmd/compile/internal/ssa rewriteValuePPC64_OpPPC64OR_70
      6486 cmd/compile/internal/ssa rewriteValuePPC64_OpPPC64OR_80
      6534 cmd/compile/internal/ssa rewriteValuePPC64_OpPPC64OR_90
      6534 cmd/compile/internal/ssa rewriteValuePPC64_OpPPC64OR_100
      6534 cmd/compile/internal/ssa rewriteValuePPC64_OpPPC64OR_110
      6675 cmd/compile/internal/gc typecheck1
      5433 cmd/compile/internal/gc walkexpr
      14070 cmd/vendor/golang.org/x/arch/arm64/arm64asm decodeArg
      
      There are a lot more smaller (~1000 node) functions in the stdlib.
      The function in #26546 has 12477 nodes.
      
      At some point it might be nice to have a better heuristic for "inlined
      body is smaller than the call", a non-cliff way to scale down the cost
      as the function gets bigger, doing cheaper inlined calls first, etc.
      All that can wait for another release. I'd like to do this CL for
      1.11.
      
      Fixes #26546
      Update #17566
      
      Change-Id: Idda13020e46ec2b28d79a17217f44b189f8139ac
      Reviewed-on: https://go-review.googlesource.com/125516
      Run-TryBot: Keith Randall <khr@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarDavid Chase <drchase@google.com>
      5fc70b6f
    • Baokun Lee's avatar
      cmd/go/internal/modfetch: run git log with "-c log.showsignature=false" · 90066bf0
      Baokun Lee authored
      The old version git not support "--no-show-signature", git add this from
      v2.10.0.
      
      Fixes golang/go#26501.
      
      Change-Id: Ia6b54488651e8687b08a4d40e092822bf960c4fe
      Reviewed-on: https://go-review.googlesource.com/125315
      Run-TryBot: Baokun Lee <nototon@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarBryan C. Mills <bcmills@google.com>
      90066bf0
    • Yann Hodique's avatar
      cmd/go: fix Go structs in -json documentation · 4f9ae773
      Yann Hodique authored
      "string" should really be "struct" in the structures describing the module.
      
      Change-Id: I4e9cb12434bd33aa243622380c78e5e297d01d0b
      Reviewed-on: https://go-review.googlesource.com/125638Reviewed-by: 's avatarDaniel Martí <mvdan@mvdan.cc>
      Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      4f9ae773
    • Dmitry Vyukov's avatar
      net/rpc: clarify requirements for connections and codecs · 08ab8204
      Dmitry Vyukov authored
      1. Connections and codecs need to be partially safe for concurrent use.
         Namely, read side is serialized by one mutex,
         and writing side is serialized by another.
         Current comment says that they need to be fully thread-safe,
         which makes the default implementations (gobClientCodec/gobServerCodec)
         non-conforming.
      
      2. Say that ServerCodec.Close can be called multiple times
         and must be idempotent. Server requires this and gobServerCodec
         accounts for this,  but the requirement is not documented.
      
      Change-Id: Ie877e37891fed28056e3d9d1722edaed8e154067
      Reviewed-on: https://go-review.googlesource.com/120818Reviewed-by: 's avatarRob Pike <r@golang.org>
      08ab8204
    • Brad Fitzpatrick's avatar
      net/http: document that Client methods always return *url.Error · 6df4c3a4
      Brad Fitzpatrick authored
      Updates #9424
      
      Change-Id: If117ba3e7d031f84b30d3a721ef99fe622734de2
      Reviewed-on: https://go-review.googlesource.com/125575Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      6df4c3a4
    • Brad Fitzpatrick's avatar
      net/http: deflake TestRetryRequestsOnError · 416676f4
      Brad Fitzpatrick authored
      There's a 50ms threshold in net/http.Transport that this test
      sometimes hitting on slower devices. That was unrelated to what this
      test was trying to test. So instead just t.Skip on RoundTrip errors
      unless the failure was quick (under 25ms), in which case the error
      must've been about something else. Our fast machines should catch
      regressions there.
      
      Fixes #25366
      
      Change-Id: Ibe8e2716a5b68558b57d0b8b5c46f38e46a2cba2
      Reviewed-on: https://go-review.googlesource.com/125555
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      416676f4
  5. 23 Jul, 2018 4 commits
  6. 20 Jul, 2018 11 commits
  7. 19 Jul, 2018 8 commits