Skip to content

Commit

Permalink
feat(*): update CHANGELOG.md file (#708)
Browse files Browse the repository at this point in the history
* error panic handling

* updated CHANGELOG.md file

* correct msg panic error (#5)

* fix(typo): delete-all to deleteall (#827)

* typo: delete-all to deleteall

* docs: update tools/asynq/README.md

* fix archiveall runall

---------

Co-authored-by: Mohamed Sohail <sohailsameja@gmail.com>

* Fixed go:build for BSD

* chore: fix function names in comment

Signed-off-by: camcui <cuishua@sina.cn>

---------

Signed-off-by: camcui <cuishua@sina.cn>
Co-authored-by: crazyoptimist <me@crazyoptimist.net>
Co-authored-by: Mohamed Sohail <sohailsameja@gmail.com>
Co-authored-by: mrusme <marius@xn--gckvb8fzb.com>
Co-authored-by: camcui <cuishua@sina.cn>
  • Loading branch information
5 people authored May 6, 2024
1 parent 4c5202e commit 92973d6
Showing 1 changed file with 4 additions and 6 deletions.
10 changes: 4 additions & 6 deletions processor.go
Original file line number Diff line number Diff line change
Expand Up @@ -415,21 +415,19 @@ func (p *processor) queues() []string {
func (p *processor) perform(ctx context.Context, task *Task) (err error) {
defer func() {
if x := recover(); x != nil {
errMsg := string(debug.Stack())

p.logger.Errorf("recovering from panic. See the stack trace below for details:\n%s", errMsg)
p.logger.Errorf("recovering from panic. See the stack trace below for details:\n%s", string(debug.Stack()))
_, file, line, ok := runtime.Caller(1) // skip the first frame (panic itself)
if ok && strings.Contains(file, "runtime/") {
// The panic came from the runtime, most likely due to incorrect
// map/slice usage. The parent frame should have the real trigger.
_, file, line, ok = runtime.Caller(2)
}

var errMsg string
// Include the file and line number info in the error, if runtime.Caller returned ok.
if ok {
err = fmt.Errorf("panic [%s:%d]: %v", file, line, x)
errMsg = fmt.Sprintf("panic [%s:%d]: %v", file, line, x)
} else {
err = fmt.Errorf("panic: %v", x)
errMsg = fmt.Sprintf("panic: %v", x)
}
err = &errors.PanicError{
ErrMsg: errMsg,
Expand Down

0 comments on commit 92973d6

Please sign in to comment.