Closed
Description
Welcome
- Yes, I'm using a binary release within 2 latest major releases. Only such installations are supported.
- Yes, I've searched similar issues on GitHub and didn't find any.
- Yes, I've included all information below (version, config, etc).
- Yes, I've tried with the standalone linter if available. (https://golangci-lint.run/usage/linters/)
Description of the problem
Hey, thanks a lot for this great piece of software. It has helped tremendously during development.
Today it started to act out though, and I'm not quite sure why. I've tried to google the error, but unreachable
seems not so common?
The main application itself builds fine. (It also contains multiple tools, all of them build fine go build ./...
).
I've tried to figure out the problem by adding folders to skip-dirs
configuration, but even if I blacklist all folders where model
is referenced, the linter still throws this error. (mainly, packages
/ plugins
)
The configuration itself seems to get pulled and used though. If I disable all linters inside the configuration, I get an error that at least one linter needs to be enabled.
Thanks in advance!
Version of golangci-lint
$ golangci-lint --version
golangci-lint has version 1.49.0 built from cc2d97f3 on 2022-08-24T10:24:37Z
Configuration file
$ cat .golangci.yml
run:
tests: true
skip-dirs:
- contracts/wasm
issues:
exclude-use-default: false
# Maximum issues count per one linter.
# Set to 0 to disable.
# Default: 50
max-issues-per-linter: 0
# Maximum count of issues with the same text.
# Set to 0 to disable.
# Default: 3
max-same-issues: 0
new-from-rev: ""
exclude:
- 'Error return value of .((os\.)?std(out|err)\..*|.*Close|.*Flush|os\.Remove(All)?|.*print(f|ln)?|os\.(Un)?Setenv). is not checked' # errcheck
- "err113: do not define dynamic errors, use wrapped static errors instead:" # goerr113
- "type name will be used as [0-9A-Za-z_.]+ by other packages, and that stutters; consider calling this" # golint
- "Potential file inclusion via variable" # gosec
- "G404: Use of weak random number generator" # gosec
- "Subprocess launch(ed with variable|ing should be audited)" # gosec
- "Use of unsafe calls should be audited" # gosec
- "G108: Profiling endpoint is automatically exposed on /debug/pprof" # gosec
- "(Expect directory permissions to be 0750 or less|Expect file permissions to be 0600 or less)" # gosec
- "G101: Potential hardcoded credentials" # gosec
- "(G104|G307)" # gosec Duplicated errcheck checks.
- "`[0-9A-Za-z_.]+` - `[0-9A-Za-z_.]+` always receives `[0-9A-Za-z_.]+`" # unparam
- "should have comment .*or be unexported" # revive
- "exported: comment on exported" # revive
- "package-comments" # revive
- "blank-imports" # revive
- "var-naming: don't use leading k in Go names;" #revive
- 'shadow: declaration of "err"' # govet
exclude-rules:
- path: (_test\.go|example_test\.go|example_[0-9A-Za-z_-]+_test\.go)
linters:
- errcheck
- bodyclose
- noctx
- gosec
- funlen
- gomnd
- path: (_test\.go|example_test\.go|example_[0-9A-Za-z_-]+_test\.go)
linters:
- gocritic
text: "unnecessaryBlock: block doesn't have definitions, can be simply deleted"
linters-settings:
funlen:
lines: 100
statements: 50
gocritic:
enabled-tags:
- diagnostic
- style
- opinionated
disabled-checks:
- commentedOutCode
- ifElseChain
- commentFormatting
- dupImport
- unnamedResult
- octalLiteral
- whyNoLint
- wrapperFunc
gomnd:
settings:
mnd:
# don't include the "operation" and "assign"
checks: [argument, case, condition, return]
govet:
check-shadowing: true
misspell:
locale: US
nolintlint:
allow-unused: false # report any unused nolint directives
goimports:
local-prefixes: github.com/iotaledger
golint:
min-confidence: 0.9
gocyclo:
min-complexity: 15
staticcheck:
checks: ["all"]
stylecheck:
initialisms:
[
"ACL",
"API",
"ASCII",
"CPU",
"CSS",
"DNS",
"EOF",
"GUID",
"HTML",
"HTTP",
"HTTPS",
"ID",
"IP",
"JSON",
"QPS",
"RAM",
"RPC",
"SLA",
"SMTP",
"SQL",
"SSH",
"TCP",
"TLS",
"TTL",
"UDP",
"UI",
"GID",
"UID",
"UUID",
"URI",
"URL",
"UTF8",
"VM",
"XML",
"XMPP",
"XSRF",
"XSS",
"SIP",
"RTP",
"AMQP",
"DB",
"TS",
]
linters:
disable-all: true
enable:
- bodyclose # Checks whether HTTP response body is closed successfully.
- dogsled # Checks assignments with too many blank identifiers (e.g. x, , , _, := f()).
- dupl # Tool for code clone detection.
- errcheck # Errcheck is a program for checking for unchecked errors in go programs. These unchecked errors can be critical bugs in some cases
- exportloopref # Checks for pointers to enclosing loop variables.
- funlen # Tool for detection of long functions.
- goconst # Finds repeated strings that could be replaced by a constant.
- gocritic # Provides many diagnostics that check for bugs, performance and style issues.
- gocyclo # Computes and checks the cyclomatic complexity of functions.
- goerr113 # Golang linter to check the errors handling expressions.
- gofmt # Gofmt checks whether code was gofmt-ed. By default this tool runs with -s option to check for code simplification.
- gofumpt # Gofumpt checks whether code was gofumpt-ed. A more strict version of gofmt.
- goimports # Sorts and format imports.
- revive # revive is the newer replacement for golint
- goprintffuncname # Checks that printf-like functions are named with f at the end.
- gosec # Inspects source code for security problems.
- gosimple # Linter for Go source code that specializes in simplifying a code.
- govet # Vet examines Go source code and reports suspicious constructs.
- ineffassign # Detects when assignments to existing variables are not used.
- misspell # Finds commonly misspelled English words in comments.
- nakedret # Finds naked returns in functions greater than a specified function length.
- noctx # noctx finds sending http request without context.Context.
- nolintlint # Reports ill-formed or insufficient nolint directives.
- staticcheck # Staticcheck is a go vet on steroids, applying a ton of static analysis checks.
- unconvert # Remove unnecessary type conversions.
- unparam # Reports unused function parameters.
- unused # Checks Go code for unused constants, variables, functions and types.
- whitespace # Tool for detection of leading and trailing whitespace.
- asasalint # check for pass []any as any in variadic func(...any)
- asciicheck # Simple linter to check that your code does not contain non-ASCII identifiers [fast: true, auto-fix: false]
- bidichk # Checks for dangerous unicode character sequences
- contextcheck # check the function whether use a non-inherited context
- decorder # check declaration order and count of types, constants, variables and functions
- depguard # Go linter that checks if package imports are in a list of acceptable packages [fast: true, auto-fix: false]
- execinquery # execinquery is a linter about query string checker in Query function which reads your Go src files and warning it finds
- goheader # Checks is file header matches to pattern [fast: true, auto-fix: false]
- gomodguard # Allow and block list linter for direct Go module dependencies. This is different from depguard where there are different block types for example version constraints and module recommendations. [fast: true, auto-fix: false]
- grouper # An analyzer to analyze expression groups.
- importas # Enforces consistent import aliases [fast: true, auto-fix: false]
- predeclared # find code that shadows one of Go's predeclared identifiers [fast: true, auto-fix: false]
- rowserrcheck # checks whether Err of rows is checked successfully [fast: true, auto-fix: false]
- sqlclosecheck # Checks that sql.Rows and sql.Stmt are closed. [fast: true, auto-fix: false]
- tenv # tenv is analyzer that detects using os.Setenv instead of t.Setenv since Go1.17
- tparallel # tparallel detects inappropriate usage of t.Parallel() method in your Go test codes [fast: true, auto-fix: false]
- usestdlibvars # A linter that detect the possibility to use variables/constants from the Go standard library.
- wastedassign # wastedassign finds wasted assignment statements. [fast: true, auto-fix: false]
# nlreturn # nlreturn checks for a new line before return and branch statements to increase code clarity [fast: true, auto-fix: false]
# don't enable:
# gomnd: An analyzer to detect magic numbers.
# cyclop: checks function and package cyclomatic complexity [fast: true, auto-fix: false]
# durationcheck: check for two durations multiplied together [fast: true, auto-fix: false]
# errorlint: go-errorlint is a source code linter for Go software that can be used to find code that will cause problemswith the error wrapping scheme introduced in Go 1.13. [fast: true, auto-fix: false]
# exhaustive: check exhaustiveness of enum switch statements [fast: true, auto-fix: false]
# exhaustivestruct: Checks if all struct's fields are initialized [fast: true, auto-fix: false]
# forbidigo: Forbids identifiers [fast: true, auto-fix: false]
# forcetypeassert: finds forced type assertions [fast: true, auto-fix: false]
# gci: Gci control golang package import order and make it always deterministic. [fast: true, auto-fix: true]
# gochecknoglobals: check that no global variables exist [fast: true, auto-fix: false]
# gochecknoinits: Checks that no init functions are present in Go code [fast: true, auto-fix: false]
# gocognit: Computes and checks the cognitive complexity of functions [fast: true, auto-fix: false]
# godot: Check if comments end in a period [fast: true, auto-fix: true]
# godox: Tool for detection of FIXME, TODO and other comment keywords [fast: true, auto-fix: false]
# gofmt: Gofmt checks whether code was gofmt-ed. By default this tool runs with -s option to check for code simplification [fast: true, auto-fix: true]
# ifshort: Checks that your code uses short syntax for if-statements whenever possible [fast: true, auto-fix: false]
# interfacer: Linter that suggests narrower interface types [fast: true, auto-fix: false]
# lll: Reports long lines [fast: true, auto-fix: false]
# makezero: Finds slice declarations with non-zero initial length [fast: true, auto-fix: false]
# maligned: Tool to detect Go structs that would take less memory if their fields were sorted [fast: true, auto-fix: false]
# nestif: Reports deeply nested if statements [fast: true, auto-fix: false]
# nilerr: Finds the code that returns nil even if it checks that the error is not nil. [fast: true, auto-fix: false]
# paralleltest: paralleltest detects missing usage of t.Parallel() method in your Go test [fast: true, auto-fix: false]
# prealloc: Finds slice declarations that could potentially be preallocated [fast: true, auto-fix: false]
# scopelint: Scopelint checks for unpinned variables in go programs [fast: true, auto-fix: false]
# testpackage: linter that makes you use a separate _test package [fast: true, auto-fix: false]
# thelper: thelper detects golang test helpers without t.Helper() call and checks the consistency of test helpers [fast: true, auto-fix: false]
# typecheck: Like the front-end of a Go compiler, parses and type-checks Go code [fast: true, auto-fix: false]
# wrapcheck: Checks that errors returned from external packages are wrapped [fast: true, auto-fix: false]
# wsl: Whitespace Linter - Forces you to use empty lines! [fast: true, auto-fix: false]
Go environment
$ go version && go env
go version go1.19.1 linux/amd64
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/luke/.cache/go-build"
GOENV="/home/luke/.config/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/luke/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/luke/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/lib/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.19.1"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/mnt/Dev/Coding/iota/wasp/go.mod"
GOWORK=""
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 -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build2211723381=/tmp/go-build -gno-record-gcc-switches"
Verbose output of running
$ golangci-lint cache clean
$ golangci-lint run -v
INFO [config_reader] Used config file .golangci.yml
INFO [lintersdb] Active 46 linters: [asasalint asciicheck bidichk bodyclose contextcheck decorder depguard dogsled dupl errcheck execinquery exportloopref funlen goconst gocritic gocyclo goerr113 gofmt gofumpt goheader goimports gomodguard goprintffuncname gosec gosimple govet grouper importas ineffassign misspell nakedret noctx nolintlint predeclared revive rowserrcheck sqlclosecheck staticcheck tenv tparallel unconvert unparam unused usestdlibvars wastedassign whitespace]
INFO [loader] Go packages loading at mode 575 (name|types_sizes|compiled_files|deps|files|imports|exports_file) took 3.357854787s
INFO [runner/filename_unadjuster] Pre-built 0 adjustments in 84.341832ms
INFO [linters context] importas settings found, but no aliases listed. List aliases under alias: key.
INFO [linters context/goanalysis] analyzers took 8m50.044485131s with top 10 stages: gocritic: 5m22.516747593s, the_only_name: 31.437252214s, bidichk: 18.805256688s, buildir: 18.269513403s, buildssa: 16.623013874s, dupl: 9.618072064s, goimports: 7.361402425s, gofumpt: 6.896177913s, gofmt: 4.775866533s, unconvert: 4.707850439s
ERRO [runner] Panic: gocritic: package "model" (isInitialPkg: true, needAnalyzeSource: true): unreachable: goroutine 152401 [running]:
runtime/debug.Stack()
runtime/debug/stack.go:24 +0x65
github.com/golangci/golangci-lint/pkg/golinters/goanalysis.(*action).analyzeSafe.func1()
github.com/golangci/golangci-lint/pkg/golinters/goanalysis/runner_action.go:101 +0x155
panic({0xf149a0, 0x12f3500})
runtime/panic.go:884 +0x212
github.com/quasilyte/go-ruleguard/internal/xtypes.typeIdentical({0x12fb460?, 0xc06ae8ca80?}, {0x12fb208?, 0x19f41c0?}, 0x0)
github.com/quasilyte/go-ruleguard@v0.3.17/internal/xtypes/xtypes.go:218 +0x687
github.com/quasilyte/go-ruleguard/internal/xtypes.Identical(...)
github.com/quasilyte/go-ruleguard@v0.3.17/internal/xtypes/xtypes.go:57
github.com/quasilyte/go-ruleguard/ruleguard/typematch.(*Pattern).matchIdentical(0xc04a95a7c8?, 0xc02e273460, 0xc01f4cacf0, {0x12fb460?, 0xc06ae8ca80?})
github.com/quasilyte/go-ruleguard@v0.3.17/ruleguard/typematch/typematch.go:439 +0xba
github.com/quasilyte/go-ruleguard/ruleguard/typematch.(*Pattern).MatchIdentical(0xc05ba8fe70, 0xc02e273460, {0x12fb460, 0xc06ae8ca80})
github.com/quasilyte/go-ruleguard@v0.3.17/ruleguard/typematch/typematch.go:370 +0x15d
github.com/quasilyte/go-ruleguard/ruleguard.makeTypeIsFilter.func2(0xc056625a38)
github.com/quasilyte/go-ruleguard@v0.3.17/ruleguard/filters.go:345 +0x117
github.com/quasilyte/go-ruleguard/ruleguard.(*rulesRunner).handleMatch(0xc0566258c0, {0xc008458000, 0x16, 0xc05ba8ff20, {0x111a3ff, 0x14}, {0x0, 0x0}, {0x108fc19, 0x2}, ...}, ...)
github.com/quasilyte/go-ruleguard@v0.3.17/ruleguard/runner.go:352 +0x130
github.com/quasilyte/go-ruleguard/ruleguard.(*rulesRunner).runRules.func1({{0x12fa8d0, 0xc06613e4c0}, {0xc019a25700, 0x1, 0x8}})
github.com/quasilyte/go-ruleguard@v0.3.17/ruleguard/runner.go:252 +0xc5
github.com/quasilyte/gogrep.(*matcher).MatchNode(0xc01f4d4060, 0xc056625930, {0x12fa8d0?, 0xc06613e4c0?}, 0xc04a95ac88)
github.com/quasilyte/gogrep@v0.0.0-20220120141003-628d8b3623b5/match.go:84 +0x4e3
github.com/quasilyte/gogrep.(*Pattern).MatchNode(...)
github.com/quasilyte/gogrep@v0.0.0-20220120141003-628d8b3623b5/gogrep.go:90
github.com/quasilyte/go-ruleguard/ruleguard.(*rulesRunner).runRules(0xc0566258c0?, {0x12fa8d0?, 0xc06613e4c0?}, 0x7?)
github.com/quasilyte/go-ruleguard@v0.3.17/ruleguard/runner.go:251 +0x14b
github.com/quasilyte/go-ruleguard/ruleguard.(*rulesRunner).run.func1({0x12fa8d0?, 0xc06613e4c0?}, 0xc066146000?)
github.com/quasilyte/go-ruleguard@v0.3.17/ruleguard/runner.go:166 +0x33
github.com/quasilyte/go-ruleguard/ruleguard.(*astWalker).walk(0xc04a95b4f8, {0x12fa8d0?, 0xc06613e4c0?})
github.com/quasilyte/go-ruleguard@v0.3.17/ruleguard/ast_walker.go:116 +0x22e
github.com/quasilyte/go-ruleguard/ruleguard.(*astWalker).walk(0xc04a95b4f8, {0x12fae20?, 0xc06612ea20?})
github.com/quasilyte/go-ruleguard@v0.3.17/ruleguard/ast_walker.go:136 +0x12dd
github.com/quasilyte/go-ruleguard/ruleguard.(*astWalker).walkExprList(0xc04a95b4f8?, {0xc06613e500?, 0x3, 0x40a80d?})
github.com/quasilyte/go-ruleguard@v0.3.17/ruleguard/ast_walker.go:31 +0x85
github.com/quasilyte/go-ruleguard/ruleguard.(*astWalker).walk(0xc04a95b4f8, {0x12faa38?, 0xc06613e540?})
github.com/quasilyte/go-ruleguard@v0.3.17/ruleguard/ast_walker.go:79 +0x15fe
github.com/quasilyte/go-ruleguard/ruleguard.(*astWalker).walk(0xc04a95b4f8, {0x12fb168?, 0xc066133400?})
github.com/quasilyte/go-ruleguard@v0.3.17/ruleguard/ast_walker.go:126 +0x5ac
github.com/quasilyte/go-ruleguard/ruleguard.(*astWalker).walkExprList(0x12faf10?, {0xc095e2da80?, 0x1, 0xc06612ea50?})
github.com/quasilyte/go-ruleguard@v0.3.17/ruleguard/ast_walker.go:31 +0x85
github.com/quasilyte/go-ruleguard/ruleguard.(*astWalker).walk(0xc04a95b4f8, {0x12faf10?, 0xc066133420?})
github.com/quasilyte/go-ruleguard@v0.3.17/ruleguard/ast_walker.go:208 +0xcd2
github.com/quasilyte/go-ruleguard/ruleguard.(*astWalker).walkStmtList(0x12fa880?, {0xc095e2da90?, 0x1, 0x7f4f7d6ea4c0?})
github.com/quasilyte/go-ruleguard@v0.3.17/ruleguard/ast_walker.go:37 +0x85
github.com/quasilyte/go-ruleguard/ruleguard.(*astWalker).walk(0xc04a95b4f8, {0x12fa880?, 0xc06612ea50?})
github.com/quasilyte/go-ruleguard@v0.3.17/ruleguard/ast_walker.go:218 +0x181e
github.com/quasilyte/go-ruleguard/ruleguard.(*astWalker).walk(0xc04a95b4f8, {0x12fabc8?, 0xc06612ea80?})
github.com/quasilyte/go-ruleguard@v0.3.17/ruleguard/ast_walker.go:360 +0x7d9
github.com/quasilyte/go-ruleguard/ruleguard.(*astWalker).walkDeclList(0xc04a95b4f8?, {0xc063743800?, 0x7, 0xc04a95b478?})
github.com/quasilyte/go-ruleguard@v0.3.17/ruleguard/ast_walker.go:43 +0x85
github.com/quasilyte/go-ruleguard/ruleguard.(*astWalker).walk(0xc04a95b4f8, {0x12fab78?, 0xc063743900?})
github.com/quasilyte/go-ruleguard@v0.3.17/ruleguard/ast_walker.go:367 +0x135e
github.com/quasilyte/go-ruleguard/ruleguard.(*astWalker).Walk(...)
github.com/quasilyte/go-ruleguard@v0.3.17/ruleguard/ast_walker.go:20
github.com/quasilyte/go-ruleguard/ruleguard.(*rulesRunner).run(0xc0566258c0, 0xc063743900)
github.com/quasilyte/go-ruleguard@v0.3.17/ruleguard/runner.go:165 +0x1c9
github.com/quasilyte/go-ruleguard/ruleguard.(*engine).Run(0x404534?, 0x1b50360?, 0x0?, 0x9d9b4f?)
github.com/quasilyte/go-ruleguard@v0.3.17/ruleguard/engine.go:130 +0x45
github.com/quasilyte/go-ruleguard/ruleguard.(*Engine).Run(...)
github.com/quasilyte/go-ruleguard@v0.3.17/ruleguard/ruleguard.go:74
github.com/go-critic/go-critic/checkers.runRuleguardEngine(0xc04c7e3bc8, 0xc063743900, 0xc050088700, 0xc01cbe5ea0)
github.com/go-critic/go-critic@v0.6.4/checkers/ruleguard_checker.go:301 +0xd9
github.com/go-critic/go-critic/checkers.(*embeddedRuleguardChecker).WalkFile(0xc08e9509e0, 0xc063743900?)
github.com/go-critic/go-critic@v0.6.4/checkers/embedded_rules.go:98 +0xea
github.com/go-critic/go-critic/framework/linter.(*Checker).Check(...)
github.com/go-critic/go-critic@v0.6.4/framework/linter/linter.go:130
github.com/golangci/golangci-lint/pkg/golinters.runGocriticOnFile(0xc0a0fa2de0, 0xc00192bed5?, {0xc01f4cfc00, 0x56, 0xf5af20?})
github.com/golangci/golangci-lint/pkg/golinters/gocritic.go:178 +0xd1
github.com/golangci/golangci-lint/pkg/golinters.runGocriticOnPackage(0xc0a0fa2de0, {0xc01f4cfc00, 0x56, 0x80}, {0xc01902a090, 0x12, 0xc068b239e0?})
github.com/golangci/golangci-lint/pkg/golinters/gocritic.go:166 +0x1df
github.com/golangci/golangci-lint/pkg/golinters.(*goCriticWrapper).run(0xc00080e140, 0xc04eff9040)
github.com/golangci/golangci-lint/pkg/golinters/gocritic.go:126 +0x217
github.com/golangci/golangci-lint/pkg/golinters.NewGoCritic.func1(0xf531e0?)
github.com/golangci/golangci-lint/pkg/golinters/gocritic.go:49 +0x39
github.com/golangci/golangci-lint/pkg/golinters/goanalysis.(*action).analyze(0xc006572c90)
github.com/golangci/golangci-lint/pkg/golinters/goanalysis/runner_action.go:187 +0x9d6
github.com/golangci/golangci-lint/pkg/golinters/goanalysis.(*action).analyzeSafe.func2()
github.com/golangci/golangci-lint/pkg/golinters/goanalysis/runner_action.go:105 +0x1d
github.com/golangci/golangci-lint/pkg/timeutils.(*Stopwatch).TrackStage(0xc002859090, {0x10a7381, 0x8}, 0xc0633d7f48)
github.com/golangci/golangci-lint/pkg/timeutils/stopwatch.go:111 +0x4a
github.com/golangci/golangci-lint/pkg/golinters/goanalysis.(*action).analyzeSafe(0x726f662072656666?)
github.com/golangci/golangci-lint/pkg/golinters/goanalysis/runner_action.go:104 +0x85
github.com/golangci/golangci-lint/pkg/golinters/goanalysis.(*loadingPackage).analyze.func2(0xc006572c90)
github.com/golangci/golangci-lint/pkg/golinters/goanalysis/runner_loadingpackage.go:80 +0xb4
created by github.com/golangci/golangci-lint/pkg/golinters/goanalysis.(*loadingPackage).analyze
github.com/golangci/golangci-lint/pkg/golinters/goanalysis/runner_loadingpackage.go:75 +0x1eb
WARN [runner] Can't run linter goanalysis_metalinter: goanalysis_metalinter: gocritic: package "model" (isInitialPkg: true, needAnalyzeSource: true): unreachable
WARN [linters context] rowserrcheck is disabled because of generics. You can track the evolution of the generics support by following the https://github.com/golangci/golangci-lint/issues/2649.
WARN [linters context] sqlclosecheck is disabled because of generics. You can track the evolution of the generics support by following the https://github.com/golangci/golangci-lint/issues/2649.
WARN [linters context] wastedassign is disabled because of generics. You can track the evolution of the generics support by following the https://github.com/golangci/golangci-lint/issues/2649.
INFO [runner] processing took 3.608µs with stages: max_same_issues: 752ns, skip_dirs: 541ns, max_from_linter: 281ns, filename_unadjuster: 260ns, nolint: 231ns, cgo: 201ns, autogenerated_exclude: 190ns, exclude: 160ns, path_prettifier: 150ns, skip_files: 150ns, uniq_by_line: 71ns, sort_results: 71ns, path_prefixer: 70ns, identifier_marker: 70ns, diff: 70ns, exclude-rules: 70ns, severity-rules: 70ns, source_code: 70ns, path_shortener: 70ns, max_per_file_from_linter: 60ns
INFO [runner] linters took 20.17836385s with stages: goanalysis_metalinter: 20.178292094s, rowserrcheck: 10.28µs, sqlclosecheck: 9.077µs, wastedassign: 7.715µs
ERRO Running error: 1 error occurred:
* can't run linter goanalysis_metalinter: goanalysis_metalinter: gocritic: package "model" (isInitialPkg: true, needAnalyzeSource: true): unreachable
INFO Memory: 232 samples, avg is 2069.2MB, max is 3793.1MB
INFO Execution took 23.629186986s
Code example or link to a public repository
git clone git@github.com:iotaledger/wasp.git
cd wasp
git checkout d4867062dcaef522f63bc73d0529d795f560e970
rm -rf contracts/wasm
# This should build fine
go build ./...