Golangci-lint: Cannot run on linux kernel, and inline `// nolint: ***` are not respected

Created on 1 Apr 2019  路  4Comments  路  Source: golangci/golangci-lint

I can run on mac Darwin Kernel Version 18.2.0: Thu Dec 20 20:46:53 PST 2018; root:xnu-4903.241.1~1/RELEASE_X86_64 x86_64, but not on ubuntu, got bunches of error:

level=warning msg="[runner] Can't run linter golint: no AST for file ....
level=warning msg="[runner] Can't process result by nolint processor: can't filter issue result.Issue{FromLinter:\"gocritic\"

I clearly have the // nolint: errcheck there

daemon/daemon.go:42:27: Error return value of `prometheusServer.Serve` is not checked (errcheck)

    go prometheusServer.Serve(prometheusListener) // nolint: errcheck

And scan all the auto-generated *.pb.go files.

NOTHING is working!

Most helpful comment

thank you,
please try using v1.16.0: this bug was fixed there

All 4 comments

Hi!
A GitHub issue template for this project requests for golangci-lint version and configuration file. You didn't fill this information so I can't help. Please, attach it.

  1. Version of golangci-lint: golangci-lint --version (or git commit if you don't use binary distribution)
golangci-lint has version 1.15.0 built from 901cf25 on 2019-02-18T08:22:26Z
  1. Config file: cat .golangci.yml
run:
  deadline: 10m
  skip-files:
    - daemon/httpserving/tf/benchmarks/json_codec_benchmark_test.go

linters:
  disable-all: true
  enable:
    - deadcode
    - dupl
    - gosec
    - goconst
    - gofmt
    - goimports
    - golint
    - stylecheck
    - gosimple
    - interfacer
    - ineffassign
    - misspell
    - nakedret
    - structcheck
    - staticcheck
    - unconvert
    - unparam
    - varcheck
    - vet
    - vetshadow
    - typecheck
    - maligned
    - prealloc
    - scopelint
    - gocritic
    - errcheck
    - unused
    - gocyclo
    - depguard

issues:
  exclude:
    # gosec
    - "G401: Use of weak cryptographic primitive"
    # gosec
    - "G501: Blacklisted import `crypto/md5`: weak cryptographic primitive"
    # staticcheck
    - "SA1019: grpc.CallCustomCodec is deprecated: use ForceCodec instead."
  1. Go environment: go version && go env
go version go1.12.1 linux/amd64

+ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/var/lib/jenkins/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode"
GOPROXY=""
GORACE=""
GOROOT="/mnt/data/workspace/rence-server-pipeline-dsl_master/go"
GOTMPDIR=""
GOTOOLDIR="/mnt/data/workspace/rence-server-pipeline-dsl_master/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build850258226=/tmp/go-build -gno-record-gcc-switches"
  1. Verbose output of running: golangci-lint run -v
level=warning msg="[runner] Can't run linter golint: no AST for file /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/config/config.go in cache: {m:map[/var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/tests/internal/grpcrp/test.pb.go:0xc023f6b230 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/config/config.go:0xc023f6ad20 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/daemon/prometheus/prometheus.go:0xc023f6ae70 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/daemon/httpserving/common/marshaler.go:0xc023f6b0b0 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/tests/internal/config/config.go:0xc023f6b1d0 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/tests/entry_test.go:0xc023f6b2f0 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/daemon/prometheus/metrics_request_duration.go:0xc023f6ae40 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/pkg/util/codec.go:0xc023f6aed0 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/daemon/httprp/http_reverse_proxy.go:0xc023f6b080 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/daemon/httpserving/tf/api/v2/predict.go:0xc023f6b0e0 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/daemon/daemon.go:0xc023f6b170 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/pkg/util/strings.go:0xc023f6af60 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/pkg/util/time.go:0xc023f6af90 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/pkg/util/unittest.go:0xc023f6afc0 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/daemon/internal/httpcommon/handlers.go:0xc023f6b020 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/main.go:0xc023f6b1a0 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/pkg/grpcconnpool/test.pb.go:0xc023f6ad80 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/daemon/internal/resources/grpcconnpool.go:0xc023f6adb0 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/pkg/auth/auth.go:0xc023f6aea0 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/tests/internal/model/models.go:0xc023f6b260 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/tests/internal/util/util.go:0xc023f6b290 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/tests/internal/data/data.go:0xc023f6b200 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/pkg/grpcconnpool/pool.go:0xc023f6ad50 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/pkg/util/k8s.go:0xc023f6af30 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/daemon/grpcrp/grpc_reverse_proxy.go:0xc023f6aff0 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/daemon/internal/httpcommon/metrics.go:0xc023f6b050 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/daemon/httpserving/gzip_handler.go:0xc023f6b140 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/daemon/prometheus/metrics_req_total.go:0xc023f6ae10 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/daemon/httpserving/tf/benchmarks/json_codec_benchmark_test.go:0xc023f6b2c0 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/pkg/gokitlog/logger.go:0xc023f6ade0 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/pkg/util/http.go:0xc023f6af00 /var/lib/jenkins/workspace/rence-server-pipeline-dsl_master/gocode/src/github.wdf.sap.corp/ICN-ML/mlf-inference-server/daemon/httpserving/api_blueprint.go:0xc023f6b110] s:[0xc023f6ad20 0xc023f6ae70 0xc023f6b0b0 0xc023f6b1d0 0xc023f6b2f0 0xc023f6ae40 0xc023f6aed0 0xc023f6b080 0xc023f6b0e0 0xc023f6b170 0xc023f6af60 0xc023f6af90 0xc023f6afc0 0xc023f6b020 0xc023f6b1a0 0xc023f6ad80 0xc023f6adb0 0xc023f6aea0 0xc023f6b260 0xc023f6b290 0xc023f6b200 0xc023f6ad50 0xc023f6af30 0xc023f6aff0 0xc023f6b050 0xc023f6b140 0xc023f6ae10 0xc023f6b2c0 0xc023f6ade0 0xc023f6af00 0xc023f6b110 0xc023f6b230] log:{rd:0xc000490060 tags:[loader astcache] origLog:0xc024153bc0}}"

level=warning msg="[runner] Can't process result by autogenerated_exclude processor: can't filter issue result.Issue{FromLinter:\"gocritic\", Text:\"singleCaseSwitch: found switch with default case only\", Pos:token.Position{Filename:\"pkg/grpcconnpool/test.pb.go\", Offset:5912, Line:245, Column:3}, LineRange:(*result.Range)(nil), HunkPos:0, SourceLines:[]string(nil), Replacement:(*result.Replacement)(nil)}: can't parse file pkg/grpcconnpool/test.pb.go: <nil>"

level=warning msg="[runner] Can't process result by nolint processor: can't filter issue result.Issue{FromLinter:\"gocritic\", Text:\"singleCaseSwitch: found switch with default case only\", Pos:token.Position{Filename:\"pkg/grpcconnpool/test.pb.go\", Offset:5912, Line:245, Column:3}, LineRange:(*result.Range)(nil), HunkPos:0, SourceLines:[]string(nil), Replacement:(*result.Replacement)(nil)}: can't parse file pkg/grpcconnpool/test.pb.go: <nil>, astcache is [/var/lib/jenkins/w ...................

level=warning msg="[runner] Can't process result by autogenerated_exclude processor: can't filter issue result.Issue{FromLinter:\"dupl\", Text:\"217-444 lines are duplicate of `pkg/grpcconnpool/test.pb.go:217-444`\", Pos:token.Position{Filename:\"tests/internal/grpcrp/test.pb.go\", Offset:0, Line:217, Column:0}, LineRange:(*result.Range)(0xc02b394b40), HunkPos:0, SourceLines:[]string(nil), Replacement:(*result.Replacement)(nil)}: can't parse file tests/internal/grpcrp/test.pb.go: <nil>"

daemon/grpcrp/grpc_reverse_proxy.go:11: File is not `goimports`-ed (goimports)
    "google.golang.org/grpc/codes" // nolint: goimports

thank you,
please try using v1.16.0: this bug was fixed there

thanks a lot, verified, it is working, will close.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

liubog2008 picture liubog2008  路  3Comments

atc0005 picture atc0005  路  4Comments

KeepMasterBranch picture KeepMasterBranch  路  3Comments

cyriltovena picture cyriltovena  路  5Comments

jirfag picture jirfag  路  3Comments