mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-10 09:09:02 +00:00
922a239079
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. |
||
---|---|---|
.. | ||
analyze | ||
auth | ||
avatar | ||
base | ||
cache | ||
charset | ||
context | ||
convert | ||
cron | ||
generate | ||
git | ||
gitgraph | ||
graceful | ||
highlight | ||
httplib | ||
indexer | ||
lfs | ||
log | ||
markup | ||
metrics | ||
migrations | ||
notification | ||
options | ||
password | ||
pprof | ||
private | ||
process | ||
public | ||
queue | ||
recaptcha | ||
references | ||
repofiles | ||
repository | ||
secret | ||
session | ||
setting | ||
ssh | ||
structs | ||
sync | ||
task | ||
templates | ||
test | ||
timeutil | ||
upload | ||
user | ||
util | ||
validation | ||
webhook |