1
0
mirror of https://github.com/golang/go synced 2024-09-30 22:58:34 -06:00

internal/lsp: fix panic when logging errors in snapshot.KnownPackages

Fixes golang/go#35606

Change-Id: I85eef677ed2e6a971d2955ba97358d26ecf18ac1
Reviewed-on: https://go-review.googlesource.com/c/tools/+/207346
Run-TryBot: Rebecca Stambler <rstambler@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Michael Matloob <matloob@golang.org>
This commit is contained in:
Rebecca Stambler 2019-11-15 12:48:50 -05:00
parent 1c71899d35
commit 3a792d9c32

View File

@ -2,12 +2,12 @@ package cache
import (
"context"
"fmt"
"os"
"sync"
"golang.org/x/tools/go/analysis"
"golang.org/x/tools/internal/lsp/source"
"golang.org/x/tools/internal/lsp/telemetry"
"golang.org/x/tools/internal/span"
"golang.org/x/tools/internal/telemetry/log"
)
@ -144,14 +144,14 @@ func (s *snapshot) KnownPackages(ctx context.Context) []source.Package {
}
cph, err := s.checkPackageHandle(ctx, pkgID, mode)
if err != nil {
log.Error(ctx, fmt.Sprintf("cph.Check of %v", cph.m.pkgPath), err)
log.Error(ctx, "failed to create CheckPackageHandle", err, telemetry.Package.Of(pkgID))
continue
}
// Check the package now if it's not checked yet.
// TODO(matloob): is this too slow?
pkg, err := cph.check(ctx)
if err != nil {
log.Error(ctx, fmt.Sprintf("cph.Check of %v", cph.m.pkgPath), err)
log.Error(ctx, "failed to check package", err, telemetry.Package.Of(pkgID))
continue
}
results = append(results, pkg)