New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
x/build/cmd/gitmirror: panic in parseRefs #29560
Labels
Builders
x/build issues (builders, bots, dashboards)
FrozenDueToAge
NeedsInvestigation
Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone
Comments
dmitshur
added
Builders
x/build issues (builders, bots, dashboards)
NeedsInvestigation
Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
labels
Jan 4, 2019
Change https://golang.org/cl/156341 mentions this issue: |
gopherbot
pushed a commit
to golang/build
that referenced
this issue
Jan 5, 2019
Updates golang/go#29560 Change-Id: I397b38af3dc421b5de6e6a799ad6b0e5ccab62f3 Reviewed-on: https://go-review.googlesource.com/c/156341 Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
bradfitz
changed the title
x/build/cmd/gitmirror: possible panic in parseRefs
x/build/cmd/gitmirror: panic in parseRefs
Jan 5, 2019
Change https://golang.org/cl/190897 mentions this issue: |
codebien
pushed a commit
to codebien/build
that referenced
this issue
Nov 13, 2019
In 2016, there were problems with git mirroring being slow and flaky, as described in golang/go#16388. In order to resolve that problem, CL 25110 added a custom mirroring implementation that effectively split up the work done by a single git push -f --mirror dest command into smaller batches of work. It was noted in the commit message and updated documentation of CL 127315 that it may no longer be needed in newer versions of git, and that the problem seemed to affect the HTTPS transport, not so much the SSH transport. By now, the following conditions are different: • It's 2019. • We're using a newer version of git. • We're using the SSH transport (which may or may not be better than the HTTPS transport). • We are mirroring only the refs/heads/* and refs/tags/* namespaces, not refs/changes/* which contains an order of magnitude more refs. As a result, it should be possible to revert to a simple mirroring implementation that uses a single git push -f --mirror dest command. This removes complexity in our code, leveraging the git binary to do more for us (at the expense of relinquishing tighter control and ability to do things differently if we start encountering problems). It resolves the issue of deleted refs not being deleted from mirrors (golang/go#23099) without having to add even more complexity. Debian 10 (buster) is the current stable release of Debian. Start using it, since it comes with a newer version of git (git version 2.20.1, compared to git version 2.11.0 in Debian 9), which we want in hopes of git being better capable of pushing a large number of refs without problems. If we run into problems again, we might have to add some of the complexity back, but hopefully that won't happen. Remove the old and unused code since it's easy to get it back from VCS history. Fixes golang/go#23099 Fixes golang/go#29560 Updates golang/go#16388 Change-Id: Id63419a5e4df5a87d7c9dc4be4e7e38a4849b3df Reviewed-on: https://go-review.googlesource.com/c/build/+/190897 Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Alexander Rakoczy <alex@golang.org>
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
Builders
x/build issues (builders, bots, dashboards)
FrozenDueToAge
NeedsInvestigation
Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Spotted the following crash due to a panic in gitmirror production logs. It happened once between December 13, 2018 and today, running version golang/build@a196f5a. Making an issue for future reference, but the urgency to fix it is not high.
The relevant line is x/build/cmd/gitmirror/gitmirror.go:1533.
To resolve this issue, the first step is to understand why and under what conditions it happens. Help is welcome.
The text was updated successfully, but these errors were encountered: