{"push_id":702415464,"size":86,"distinct_size":86,"ref":"refs/heads/master","head":"7af40e2118c7ef4dcd77b835d836006ddaf4a1ea","before":"5b95591192b677f81d56db67dcb7ffeb11f8a81e","commits":[{"sha":"0d8366e2d66bb56fcda7669837dfeb289e9131e3","author":{"email":"094500cba884de1346030431dde3e66f76eddf37@google.com","name":"Paul Marks"},"message":"net: add sequential and RFC 6555-compliant TCP dialing.\n\ndialSerial connects to a list of addresses in sequence.  If a\ntimeout is specified, then each address gets an equal fraction of the\nremaining time, with a magic constant (2 seconds) to prevent\n\"dial a million addresses\" from allotting zero time to each.\n\nNormally, net.Dial passes the DNS stub resolver's output to dialSerial.\nIf an error occurs (like destination/port unreachable), it quickly skips\nto the next address, but a blackhole in the network will cause the\nconnection to hang until the timeout elapses.  This is how UNIXy clients\ntraditionally behave, and is usually sufficient for non-broken networks.\n\nThe DualStack flag enables dialParallel, which implements Happy Eyeballs\nby racing two dialSerial goroutines, giving the preferred family a\nhead start (300ms by default).  This allows clients to avoid long\ntimeouts when the network blackholes IPv4 xor IPv6.\n\nFixes #8453\nFixes #8455\nFixes #8847\n\nChange-Id: Ie415809c9226a1f7342b0217dcdd8f224ae19058\nReviewed-on: https://go-review.googlesource.com/8768\nReviewed-by: Mikio Hara <mikioh.mikioh@gmail.com>\nReviewed-by: Brad Fitzpatrick <bradfitz@golang.org>","distinct":true,"url":"https://api.github.com/repos/wheelcomplex/go/commits/0d8366e2d66bb56fcda7669837dfeb289e9131e3"},{"sha":"d00e7ad640cf0bb91fff33aaac4bbb6da8d415c2","author":{"email":"72d850dbd8858b791995463d8539b5a379577f28@golang.org","name":"Shenghou Ma"},"message":"cmd/compile: show compiler panics when -d panic=1\n\nFixes #10683.\n\nChange-Id: I4cce3f298b787c736dbabe544a11a9215bcd3671\nReviewed-on: https://go-review.googlesource.com/10336\nReviewed-by: Russ Cox <rsc@golang.org>","distinct":true,"url":"https://api.github.com/repos/wheelcomplex/go/commits/d00e7ad640cf0bb91fff33aaac4bbb6da8d415c2"},{"sha":"515e53a0518ac7de3dba540f6163101f9303a714","author":{"email":"e2f4d2eec1d9a1f781345cdd7260d7d52e6468ae@gmail.com","name":"Mikio Hara"},"message":"net: skip TestProtocolDialError on solaris\n\nUnfortunately there's no simple, easy way to make Dial{TCP,UDP} fail\nconsistently across all platforms. Fow now we skip the test on Solaris.\n\nChange-Id: Ib3c55f670ac6a174fe9ea682dac7aab96b1e9dfb\nReviewed-on: https://go-review.googlesource.com/11058\nReviewed-by: Ian Lance Taylor <iant@golang.org>","distinct":true,"url":"https://api.github.com/repos/wheelcomplex/go/commits/515e53a0518ac7de3dba540f6163101f9303a714"},{"sha":"9585bb29c83a4a705e1f6135d9ca156a1b50ad89","author":{"email":"a2f0bf29257797dd66800b4fbb9945c3e216c004@golang.org","name":"David Crawshaw"},"message":"go/types: disable example on darwin/arm\n\nSadly examples cannot use the new internal/testenv, so this is\nextends the crude build tag restriction in this file.\n\nChange-Id: I49646ca71e45074a917813ae8e612cc715c78be8\nReviewed-on: https://go-review.googlesource.com/11086\nReviewed-by: Robert Griesemer <gri@golang.org>","distinct":true,"url":"https://api.github.com/repos/wheelcomplex/go/commits/9585bb29c83a4a705e1f6135d9ca156a1b50ad89"},{"sha":"047f07a285edbc60f64018973be7ce6b341fe22d","author":{"email":"e2f4d2eec1d9a1f781345cdd7260d7d52e6468ae@gmail.com","name":"Mikio Hara"},"message":"net: remove obsolete TestLookupHost\n\nThe motivation of TestLookupHost was to test codepaths on LookupHost,\nLookupIP when we set CGO_ENABLED=1. Now we have serveral tests on those\nAPIs and their codepaths such as TestLookupGooglePublicDNSAddr,\nTestCgoLookupIP, TestGoLookupIP, and the test using the ambiguous source\n\"localhost\" is unnecessary.\n\nFixes #11182.\n\nChange-Id: I397c823e1648114d91a229b316477bff2948b4f9\nReviewed-on: https://go-review.googlesource.com/11057\nReviewed-by: Ian Lance Taylor <iant@golang.org>","distinct":true,"url":"https://api.github.com/repos/wheelcomplex/go/commits/047f07a285edbc60f64018973be7ce6b341fe22d"},{"sha":"7bc3e5880675ce4aae245f46d193924cff5efdfb","author":{"email":"5ad239cb8a44f659eaaee0aa1ea5b94947abe557@golang.org","name":"Russ Cox"},"message":"all: extract \"can I exec?\" check from tests into internal/testenv\n\nChange-Id: I7b54be9d8b50b39e01c6be21f310ae9a10404e9d\nReviewed-on: https://go-review.googlesource.com/10753\nReviewed-by: Brad Fitzpatrick <bradfitz@golang.org>\nReviewed-by: David Crawshaw <crawshaw@golang.org>\nReviewed-by: Ian Lance Taylor <iant@golang.org>","distinct":true,"url":"https://api.github.com/repos/wheelcomplex/go/commits/7bc3e5880675ce4aae245f46d193924cff5efdfb"},{"sha":"0266bc84940657b1e09f72bfe3d932f0344bc6a3","author":{"email":"e2f4d2eec1d9a1f781345cdd7260d7d52e6468ae@gmail.com","name":"Mikio Hara"},"message":"cmd/go: fix build\n\nChange-Id: I2cd58a665d9df26583128c633c443325dcc3f288\nReviewed-on: https://go-review.googlesource.com/11131\nReviewed-by: Minux Ma <minux@golang.org>","distinct":true,"url":"https://api.github.com/repos/wheelcomplex/go/commits/0266bc84940657b1e09f72bfe3d932f0344bc6a3"},{"sha":"142e434006e371440c8be4494d27d1774fe161e5","author":{"email":"5ad239cb8a44f659eaaee0aa1ea5b94947abe557@golang.org","name":"Russ Cox"},"message":"runtime: implement GOTRACEBACK=crash for linux/386\n\nChange-Id: I401ce8d612160a4f4ee617bddca6827fa544763a\nReviewed-on: https://go-review.googlesource.com/11087\nReviewed-by: Austin Clements <austin@google.com>","distinct":true,"url":"https://api.github.com/repos/wheelcomplex/go/commits/142e434006e371440c8be4494d27d1774fe161e5"},{"sha":"5250279eb9a167cffbb667efed970067b47f71ac","author":{"email":"7ea35d812706d9213868749011af1ed4fa2f6aa0@google.com","name":"Austin Clements"},"message":"runtime: detect and print corrupted free lists\n\nIssues #10240, #10541, #10941, #11023, #11027 and possibly others are\nindicating memory corruption in the runtime. One of the easiest places\nto both get corruption and detect it is in the allocator's free lists\nsince they appear throughout memory and follow strict invariants. This\ncommit adds a check when sweeping a span that its free list is sane\nand, if not, it prints the corrupted free list and panics. Hopefully\nthis will help us collect more information on these failures.\n\nChange-Id: I6d417bcaeedf654943a5e068bd76b58bb02d4a64\nReviewed-on: https://go-review.googlesource.com/10713\nReviewed-by: Keith Randall <khr@golang.org>\nReviewed-by: Russ Cox <rsc@golang.org>\nRun-TryBot: Austin Clements <austin@google.com>","distinct":true,"url":"https://api.github.com/repos/wheelcomplex/go/commits/5250279eb9a167cffbb667efed970067b47f71ac"},{"sha":"7387121ddb43e20c3d4c01cea548ddbcdc1d3945","author":{"email":"7ea35d812706d9213868749011af1ed4fa2f6aa0@google.com","name":"Austin Clements"},"message":"runtime: account for stack guard when shrinking the stack\n\nCurrently, when shrinkstack computes whether the halved stack\nallocation will have enough room for the stack, it accounts for the\nstack space that's actively in use but fails to leave extra room for\nthe stack guard space. As a result, *if* the minimum stack size is\nsmall enough or the guard large enough, it may shrink the stack and\nleave less than enough room to run nosplit functions. If the next\nfunction called after the stack shrink is a nosplit function, it may\noverflow the stack without noticing and overwrite non-stack memory.\n\nWe don't think this is happening under normal conditions right now.\nThe minimum stack allocation is 2K and the guard is 640 bytes. The\n\"worst case\" stack shrink is from 4K (4048 bytes after stack barrier\narray reservation) to 2K (2016 bytes after stack barrier array\nreservation), which means the largest \"used\" size that will qualify\nfor shrinking is 4048/4 - 8 = 1004 bytes. After copying, that leaves\n2016 - 1004 = 1012 bytes of available stack, which is significantly\nmore than the guard space.\n\nIf we were to reduce the minimum stack size to 1K or raise the guard\nspace above 1012 bytes, the logic in shrinkstack would no longer leave\nenough space.\n\nIt's also possible to trigger this problem by setting\nfirstStackBarrierOffset to 0, which puts stack barriers in a debug\nmode that steals away *half* of the stack for the stack barrier array\nreservation. Then, the largest \"used\" size that qualifies for\nshrinking is (4096/2)/4 - 8 = 504 bytes. After copying, that leaves\n(2096/2) - 504 = 8 bytes of available stack; much less than the\nrequired guard space. This causes failures like those in issue #11027\nbecause func gc() shrinks its own stack and then immediately calls\ncasgstatus (a nosplit function), which overflows the stack and\noverwrites a free list pointer in the neighboring span. However, since\nthis seems to require the special debug mode, we don't think it's\nresponsible for issue #11027.\n\nTo forestall all of these subtle issues, this commit modifies\nshrinkstack to correctly account for the guard space when considering\nwhether to halve the stack allocation.\n\nChange-Id: I7312584addc63b5bfe55cc384a1012f6181f1b9d\nReviewed-on: https://go-review.googlesource.com/10714\nReviewed-by: Keith Randall <khr@golang.org>\nReviewed-by: Russ Cox <rsc@golang.org>","distinct":true,"url":"https://api.github.com/repos/wheelcomplex/go/commits/7387121ddb43e20c3d4c01cea548ddbcdc1d3945"},{"sha":"b1be1217914a3f3698eb1361e750fbb36fb96b2e","author":{"email":"ec8ae1e6620d4bab5e0e7aa2a6ae41aad63e3708@gmail.com","name":"David du Colombier"},"message":"os: skip TestHostname on Plan 9\n\nTestHostname was re-enabled in CL 10753.\nHowever, on Plan 9 the hostname is not obtained\nby executing a \"hostname\" command, but by reading\nthe #c/sysname file.\n\nChange-Id: I80c0e303f4983fe39ceb300ad64e2c4a8392b695\nReviewed-on: https://go-review.googlesource.com/11033\nRun-TryBot: David du Colombier <0intro@gmail.com>\nReviewed-by: Brad Fitzpatrick <bradfitz@golang.org>","distinct":true,"url":"https://api.github.com/repos/wheelcomplex/go/commits/b1be1217914a3f3698eb1361e750fbb36fb96b2e"},{"sha":"a5f57d795010bba4b391944dac545adef017ed85","author":{"email":"5e87ffb38a52af6fb9a19b679e9122c7a4d601a5@canonical.com","name":"Michael Hudson-Doyle"},"message":"cmd/link: when reading symbols from a shared library, allow duplicates when they are both in bss\n\nThis makes the behaviour match what happens when duplicate symbols are read\nfrom regular object files and fixes errors about cgoAlwaysFalse when linking\nan executable that uses cgo against a shared library.\n\nChange-Id: Ibb8cd8fe3f7813cde504b7483f1e857868d7e063\nReviewed-on: https://go-review.googlesource.com/11117\nReviewed-by: Ian Lance Taylor <iant@golang.org>","distinct":true,"url":"https://api.github.com/repos/wheelcomplex/go/commits/a5f57d795010bba4b391944dac545adef017ed85"},{"sha":"d3e8a3614c4aad86a48100a196a7ff4a6e2164ca","author":{"email":"a6752097faebf1f02d80107d77a9be009089afe3@golang.org","name":"Robert Griesemer"},"message":"go/types: don't export gcCompatibilityMode flag\n\nThis flag is not needed in the std repo because we don't have\ntests requiring it. Remove it before it's frozen into the API.\n\nChange-Id: I18b861eea146ad67e7a3c26ee8be681d8065ef12\nReviewed-on: https://go-review.googlesource.com/11150\nReviewed-by: Alan Donovan <adonovan@google.com>","distinct":true,"url":"https://api.github.com/repos/wheelcomplex/go/commits/d3e8a3614c4aad86a48100a196a7ff4a6e2164ca"},{"sha":"deb6c5b9200137423b9c594ff6a03bcc848a852e","author":{"email":"5e87ffb38a52af6fb9a19b679e9122c7a4d601a5@canonical.com","name":"Michael Hudson-Doyle"},"message":"doc: hints on how to cross-bootstrap\n\nChange-Id: I854a093b9e1a62d2515ca114ee84956510925921\nReviewed-on: https://go-review.googlesource.com/10839\nReviewed-by: Ian Lance Taylor <iant@golang.org>","distinct":true,"url":"https://api.github.com/repos/wheelcomplex/go/commits/deb6c5b9200137423b9c594ff6a03bcc848a852e"},{"sha":"99f5f796d9e689befdd27f5563e28cd49dcc1567","author":{"email":"e2f4d2eec1d9a1f781345cdd7260d7d52e6468ae@gmail.com","name":"Mikio Hara"},"message":"net: allow LookupAddr to use getnameinfo when cgo is enabled\n\nThis change allows LookupAddr to use getnameinfo through cgo for working\ntogether with various name services other than DNS.\n\nFixes #7855.\n\nChange-Id: I5b3b4aefe3d1b904541c3350865734d8cbb1c1c4\nReviewed-on: https://go-review.googlesource.com/3420\nReviewed-by: Ian Lance Taylor <iant@golang.org>","distinct":true,"url":"https://api.github.com/repos/wheelcomplex/go/commits/99f5f796d9e689befdd27f5563e28cd49dcc1567"},{"sha":"8e723109de27ad6ad64655f336456786e8f5d899","author":{"email":"54ba58c8441b5eff861de6b4e5ee46baf086b142@gmail.com","name":"Alex Brainman"},"message":"cmd/go: vary executable names in tests\n\nSo the tests don't interfere with each other on windows.\n\nFixes #11217\n\nChange-Id: I4b3936bc64c95c7274298d6f137b24a28876b625\nReviewed-on: https://go-review.googlesource.com/11138\nReviewed-by: Ian Lance Taylor <iant@golang.org>","distinct":true,"url":"https://api.github.com/repos/wheelcomplex/go/commits/8e723109de27ad6ad64655f336456786e8f5d899"},{"sha":"6428a8b437a36f07b5f0d1b6f0d06e3ee6fc57c1","author":{"email":"54ba58c8441b5eff861de6b4e5ee46baf086b142@gmail.com","name":"Alex Brainman"},"message":"cmd/dist: add new misc/cgo/testsovar test\n\nThis change reintroduces CL 8523. CL 8523 was reverted because\nit broke darwin and netbsd builds. Now that this test is part\nof \"go tool dist test\" command we could skip OSes that fail.\n\nUpdates #10360\n\nChange-Id: Iaaeb5b800126492f36415a439c333a218fe4ab67\nReviewed-on: https://go-review.googlesource.com/11119\nReviewed-by: Brad Fitzpatrick <bradfitz@golang.org>","distinct":true,"url":"https://api.github.com/repos/wheelcomplex/go/commits/6428a8b437a36f07b5f0d1b6f0d06e3ee6fc57c1"},{"sha":"5be61b18d457544647e1fd7b6e2282a4a79fe0d0","author":{"email":"ae171625adc8645b8b79b7e405a6da5aba5341e0@google.com","name":"David Chase"},"message":"cmd/compile: run escape analysis after method wrapper generation\n\nAlso modified test/run.go to ignore messages prefixed <autogenerated>\nbecause those cannot be described with \"// ERROR ...\", and backed out\npatch from issue #9537 because it is no longer necessary.  The reasons\ndescribed in the 9537 discussion for why escape analysis cannot run\nlate no longer hold, happily.\n\nFixes #11053.\n\nChange-Id: Icb14eccdf2e8cde3d0f8fb8a216b765400a96385\nReviewed-on: https://go-review.googlesource.com/11088\nReviewed-by: Russ Cox <rsc@golang.org>\nRun-TryBot: David Chase <drchase@google.com>","distinct":true,"url":"https://api.github.com/repos/wheelcomplex/go/commits/5be61b18d457544647e1fd7b6e2282a4a79fe0d0"},{"sha":"10076b55eccebadbaceacf946ae705fa40de52b3","author":{"email":"54ba58c8441b5eff861de6b4e5ee46baf086b142@gmail.com","name":"Alex Brainman"},"message":"doc/articles/wiki: remove generated final-test.go after test\n\nChange-Id: If6dc3acdc023ac78f63e257974cd2d2e9f1cca10\nReviewed-on: https://go-review.googlesource.com/11161\nReviewed-by: Andrew Gerrand <adg@golang.org>","distinct":true,"url":"https://api.github.com/repos/wheelcomplex/go/commits/10076b55eccebadbaceacf946ae705fa40de52b3"},{"sha":"b03129aa2758a337823071ffda37e49da5a814d0","author":{"email":"ad9e03fbec35106ba742f446a098eef3d5e31d20@digital-static.net","name":"Joe Tsai"},"message":"compress/flate: make library RFC1951 compliant\n\nCorrected several issues:\n * RFC1951 section 3.2.7 dictates that it is okay for the HDist tree to have a\nsingle code of zero bits. Furthermore, the behavior of the C zlib library\npermits empty trees even when there are more than one codes.\n * RFC1951 section 3.2.5 shows that HLit codes 286 and 287 are invalid. Thus,\nGo's implementation should choke on inputs using these codes.\n * RFC1951 section 3.2.5 and 3.2.7 are ambiguous about whether the number of\nHDist codes can be greater than 30. The C zlib library (which is the canonical\nreference implementation) performs this check here:\nhttps://github.com/madler/zlib/blob/62d6112a7981ad7c34f3b43cffdf00d4662a4f25/inflate.c#L906\n\nIn addition, a number of test cases were added to the unit tests that exercises\nthese edge cases. The test cases listed in TestStreams will either fail or\nsucceed in a manner matching the behaviour of the C zlib version. Given that the\nC zlib implementation is the reference for the world, Go's implementation should\nmatch C zlib behaviour.\n\nFixes #11030\n\nChange-Id: Ic24e4e40ce5832c7e1930249246e86d34bfedaa6\nReviewed-on: https://go-review.googlesource.com/11000\nReviewed-by: Nigel Tao <nigeltao@golang.org>","distinct":true,"url":"https://api.github.com/repos/wheelcomplex/go/commits/b03129aa2758a337823071ffda37e49da5a814d0"}]}