diff --git a/internal/lsp/cache/check.go b/internal/lsp/cache/check.go
index fb7772e..41ed042 100644
--- a/internal/lsp/cache/check.go
+++ b/internal/lsp/cache/check.go
@@ -310,7 +310,8 @@
 		for _, e := range rawErrors {
 			srcErr, err := sourceError(ctx, fset, pkg, e)
 			if err != nil {
-				return nil, err
+				log.Error(ctx, "unable to compute error positions", err, telemetry.Package.Of(pkg.ID()))
+				continue
 			}
 			pkg.errors = append(pkg.errors, srcErr)
 		}
diff --git a/internal/lsp/cache/errors.go b/internal/lsp/cache/errors.go
index 57740ff..984a8f4 100644
--- a/internal/lsp/cache/errors.go
+++ b/internal/lsp/cache/errors.go
@@ -12,7 +12,9 @@
 	"golang.org/x/tools/go/packages"
 	"golang.org/x/tools/internal/lsp/protocol"
 	"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"
 	errors "golang.org/x/xerrors"
 )
 
@@ -40,7 +42,8 @@
 		kind = source.ParseError
 		spn, err = scannerErrorRange(ctx, fset, pkg, e.Pos)
 		if err != nil {
-			return nil, err
+			log.Error(ctx, "no span for scanner.Error pos", err, telemetry.Package.Of(pkg.ID()))
+			spn = span.Parse(e.Pos.String())
 		}
 
 	case scanner.ErrorList:
@@ -52,9 +55,9 @@
 		kind = source.ParseError
 		spn, err = scannerErrorRange(ctx, fset, pkg, e[0].Pos)
 		if err != nil {
-			return nil, err
+			log.Error(ctx, "no span for scanner.Error pos", err, telemetry.Package.Of(pkg.ID()))
+			spn = span.Parse(e[0].Pos.String())
 		}
-
 	case types.Error:
 		msg = e.Msg
 		kind = source.TypeError
