diff options
author | zeripath <art27@cantab.net> | 2020-05-15 01:06:00 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-14 20:06:00 -0400 |
commit | 4a04740dafb1da047300dfbb9da596fee16af948 (patch) | |
tree | 3c2431aba9ca6802787f4b33e5c28bae9518399b /modules/webhook/deliver.go | |
parent | 4159866528e3ceb06d0b7ef1bdb3dc80ce6d0fc4 (diff) | |
download | gitea-4a04740dafb1da047300dfbb9da596fee16af948.tar.gz gitea-4a04740dafb1da047300dfbb9da596fee16af948.zip |
Handle panics that percolate up to the graceful module (#11291)
* Handle panics in graceful goroutines
Adds a some deferred functions to handle panics in graceful goroutines
Signed-off-by: Andrew Thornton <art27@cantab.net>
* Handle panic in webhook.Deliver
Signed-off-by: Andrew Thornton <art27@cantab.net>
* Handle panic in mirror.syncMirror
Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: Lauris BH <lauris@nix.lv>
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
Diffstat (limited to 'modules/webhook/deliver.go')
-rw-r--r-- | modules/webhook/deliver.go | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/modules/webhook/deliver.go b/modules/webhook/deliver.go index 89a95c52f2..7b0c651733 100644 --- a/modules/webhook/deliver.go +++ b/modules/webhook/deliver.go @@ -26,6 +26,14 @@ import ( // Deliver deliver hook task func Deliver(t *models.HookTask) error { + defer func() { + err := recover() + if err == nil { + return + } + // There was a panic whilst delivering a hook... + log.Error("PANIC whilst trying to deliver webhook[%d] for repo[%d] to %s Panic: %v\nStacktrace: %s", t.ID, t.RepoID, t.URL, err, log.Stack(2)) + }() t.IsDelivered = true var req *http.Request |