mirror of
https://github.com/go-gitea/gitea.git
synced 2025-12-16 22:15:43 +08:00
As seen in trouble shooting #11032 the new feature of Go 1.14 is causing several second delays in startup in certain situations. Debugging shows it spending several seconds handling SIGURG commands during init: ``` 6922:04:51.984234 trace init() ./modules/queue/unique_queue_wrapped.go remote: ) = 69 <0.000012> remote: [pid 15984] 22:04:51 write(1, "\ttime taken: 236.761\302\265s\n\n", 25 time taken: 236.761µs remote: remote: ) = 25 <0.000011> remote: [pid 15984] 22:04:51 --- SIGURG {si_signo=SIGURG, si_code=SI_TKILL, si_pid=15984, si_uid=0} --- remote: [pid 15984] 22:04:52 --- SIGURG {si_signo=SIGURG, si_code=SI_TKILL, si_pid=15984, si_uid=0} --- remote: [pid 15984] 22:04:52 --- SIGURG {si_signo=SIGURG, si_code=SI_TKILL, si_pid=15984, si_uid=0} --- ``` This causes up to 20 seconds added to a push in some cases as it happens for each call of the gitea hook command. This is likely the cause of #10661 as well and would start to effect users once we release 1.12 which would be the first release compiled with Go 1.14. I suspect this is just a slight issue with the upstream implementatation as there have been a few very similar bugs fixed and reported: https://github.com/golang/go/issues/37741 https://github.com/golang/go/issues/37942 We should revisit this in the future and see if a newer version of Go has solved it, but for now disable this option in the environment that gitea hook runs in to avoid it. |
||
|---|---|---|
| .. | ||
| pipeline | ||
| tests/repos | ||
| blame_test.go | ||
| blame.go | ||
| blob_test.go | ||
| blob.go | ||
| cache.go | ||
| command_test.go | ||
| command.go | ||
| commit_archive.go | ||
| commit_info_test.go | ||
| commit_info.go | ||
| commit_reader.go | ||
| commit_test.go | ||
| commit.go | ||
| diff_test.go | ||
| diff.go | ||
| error.go | ||
| git_test.go | ||
| git.go | ||
| hook.go | ||
| notes_test.go | ||
| notes.go | ||
| parse_test.go | ||
| parse.go | ||
| README.md | ||
| ref.go | ||
| repo_attribute.go | ||
| repo_blame.go | ||
| repo_blob_test.go | ||
| repo_blob.go | ||
| repo_branch_test.go | ||
| repo_branch.go | ||
| repo_commit_test.go | ||
| repo_commit.go | ||
| repo_commitgraph.go | ||
| repo_compare_test.go | ||
| repo_compare.go | ||
| repo_gpg.go | ||
| repo_hook.go | ||
| repo_index.go | ||
| repo_language_stats.go | ||
| repo_object.go | ||
| repo_ref_test.go | ||
| repo_ref.go | ||
| repo_stats_test.go | ||
| repo_stats.go | ||
| repo_tag_test.go | ||
| repo_tag.go | ||
| repo_test.go | ||
| repo_tree.go | ||
| repo.go | ||
| sha1.go | ||
| signature.go | ||
| submodule_test.go | ||
| submodule.go | ||
| tag.go | ||
| tree_blob.go | ||
| tree_entry_test.go | ||
| tree_entry.go | ||
| tree.go | ||
| utils.go | ||
Git Module
This module is merged from https://github.com/go-gitea/git which is a Go module to access Git through shell commands. Now it's a part of gitea's main repository for easier pull request.