Summary: | sys-apps/portage: Add timeout configuration for sync-type = git | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Zac Medico <zmedico> |
Component: | Core | Assignee: | Portage team <dev-portage> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | esigra, whissi |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=180009 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 240187 |
I've checked to see if git fetch has some kind of timeout optio, but didn't find one. As a quick and dirty workaround, I guess it would be possible to use sync-git-pull-env to override GIT_SSH_COMMAND, and wrap the ssh command with a timeout command. However, we should add an option for an overall sync timeout, and this option can be independent the sync protocol. We have a somewhat related PORTAGE_RSYNC_INITIAL_TIMEOUT variable that was added for bug 180009. |
Apparently it's possible for git fetch to hang forever: > root 5540 0.2 0.0 11656 5468 ? Ss 12:07 0:00 tmux > root 5541 0.0 0.0 10144 3904 pts/1 Ss 12:07 0:00 \_ -bash > root 5544 0.1 0.3 187912 32184 pts/1 S+ 12:07 0:00 | \_ /usr/bin/python3.8 -b /usr/lib/python-exec/python3.8/emerge --sync > root 5605 0.0 0.3 114476 26872 pts/1 S+ 12:08 0:00 | \_ /usr/bin/python3.8 -b /usr/lib/python-exec/python3.8/emerge --sync > root 5617 0.0 0.0 12384 4376 pts/1 S+ 12:08 0:00 | | \_ /usr/bin/git fetch origin > root 5620 0.0 0.0 12232 5408 pts/1 S+ 12:08 0:00 | | \_ /usr/bin/ssh git@github.com git-upload-pack 'Whissi/gentoo-overlay.git' > root 5606 0.0 0.3 114708 27384 pts/1 S+ 12:08 0:00 | \_ /usr/bin/python3.8 -b /usr/lib/python-exec/python3.8/emerge --sync