diff options
author | zeripath <art27@cantab.net> | 2020-02-28 22:00:09 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-28 22:00:09 +0000 |
commit | c32f3da33c38e18a7ed4a8c49de27898c2aa07f8 (patch) | |
tree | 8b9454925b3095126ef4617cf2999b024aae9b6d /modules/indexer/issues | |
parent | 154b137b6d97e11c3d52d3b5844d61f8f14d26b9 (diff) | |
download | gitea-c32f3da33c38e18a7ed4a8c49de27898c2aa07f8.tar.gz gitea-c32f3da33c38e18a7ed4a8c49de27898c2aa07f8.zip |
Handle panic in indexer initialisation better (#10534)
* Handle panic in indexer initialisation better
* as per @guillep2k
Diffstat (limited to 'modules/indexer/issues')
-rw-r--r-- | modules/indexer/issues/indexer.go | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/modules/indexer/issues/indexer.go b/modules/indexer/issues/indexer.go index d2233ac6a8..d2079e9dbf 100644 --- a/modules/indexer/issues/indexer.go +++ b/modules/indexer/issues/indexer.go @@ -143,6 +143,14 @@ func InitIssueIndexer(syncReindex bool) { var populate bool switch setting.Indexer.IssueType { case "bleve": + defer func() { + if err := recover(); err != nil { + log.Error("PANIC whilst initializing issue indexer: %v\nStacktrace: %s", err, log.Stack(2)) + log.Error("The indexer files are likely corrupted and may need to be deleted") + holder.cancel() + log.Fatal("PID: %d Unable to initialize the Bleve Issue Indexer at path: %s Error: %v", os.Getpid(), setting.Indexer.IssuePath, err) + } + }() issueIndexer := NewBleveIndexer(setting.Indexer.IssuePath) exist, err := issueIndexer.Init() if err != nil { |