Skip to content
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

Recover from panic in cron task (#28409) #28425

Merged
merged 2 commits into from Dec 12, 2023

Conversation

GiteaBot
Copy link
Contributor

Backport #28409 by @earl-warren

  • Currently there's code to recover gracefully from panics that happen within the execution of cron tasks. However this recover code wasn't being run, because RunWithShutdownContext also contains code to recover from any panic and then gracefully shutdown Forgejo. Because RunWithShutdownContext registers that code as last, that would get run first which in this case is not behavior that we want.
  • Move the recover code to inside the function, so that is run first before RunWithShutdownContext's recover code (which is now a noop).

Fixes: https://codeberg.org/forgejo/forgejo/issues/1910

- Currently there's code to recover gracefully from panics that happen
within the execution of cron tasks. However this recover code wasn't
being run, because `RunWithShutdownContext` also contains code to
recover from any panic and then gracefully shutdown Forgejo. Because
`RunWithShutdownContext` registers that code as last, that would get run
first which in this case is not behavior that we want.
- Move the recover code to inside the function, so that is run first
before `RunWithShutdownContext`'s recover code (which is now a noop).

Fixes: https://codeberg.org/forgejo/forgejo/issues/1910

Co-authored-by: Gusted <postmaster@gusted.xyz>
@GiteaBot GiteaBot added the lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. label Dec 11, 2023
@GiteaBot GiteaBot added this to the 1.21.2 milestone Dec 11, 2023
@pull-request-size pull-request-size bot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Dec 11, 2023
@GiteaBot GiteaBot added lgtm/need 1 This PR needs approval from one additional maintainer to be merged. and removed lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. labels Dec 11, 2023
@GiteaBot GiteaBot added lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. and removed lgtm/need 1 This PR needs approval from one additional maintainer to be merged. labels Dec 11, 2023
@lafriks lafriks enabled auto-merge (squash) December 11, 2023 16:08
@lafriks lafriks enabled auto-merge (squash) December 11, 2023 16:08
@lunny lunny added the reviewed/wait-merge This pull request is part of the merge queue. It will be merged soon. label Dec 12, 2023
@lafriks lafriks merged commit 6f4d5c0 into go-gitea:release/v1.21 Dec 12, 2023
26 checks passed
@GiteaBot GiteaBot removed the reviewed/wait-merge This pull request is part of the merge queue. It will be merged soon. label Dec 12, 2023
@go-gitea go-gitea locked as resolved and limited conversation to collaborators Mar 11, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants