Open shiyuge opened 1 year ago
sample.go
package main import ( "context" ) func main() { checkImpl(context) } func checkImpl(ctx context.Context) { // intentionally left blank }
# command-line-arguments ./sample.go:8:12: use of package context not in selector
panic: runtime error: invalid memory address or nil pointer dereference [recovered] panic: ./sample.go:8:2: CFG post-order panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x13d96e0] goroutine 1 [running]: github.com/traefik/yaegi/interp.(*Interpreter).cfg.func2.1() /Users/bytedance/go/pkg/mod/github.com/traefik/yaegi@v0.15.1/interp/cfg.go:601 +0x78 panic({0x19ef600, 0x219afc0}) /usr/local/go/src/runtime/panic.go:890 +0x263 github.com/traefik/yaegi/interp.(*itype).assignableTo(0xc0003fa3c0, 0xc0003fa640) /Users/bytedance/go/pkg/mod/github.com/traefik/yaegi@v0.15.1/interp/type.go:1465 +0x1a0 github.com/traefik/yaegi/interp.typecheck.assignment({0xc0003fa780?}, 0xc0003f92c0, 0x2383a68?, {0x0, 0x0}) /Users/bytedance/go/pkg/mod/github.com/traefik/yaegi@v0.15.1/interp/typecheck.go:57 +0x1c5 github.com/traefik/yaegi/interp.typecheck.argument({0xc0001b22b8?}, {0xc0003f92c0?, 0x0?}, 0xc0003fa780, 0x0, 0x1, 0x0) /Users/bytedance/go/pkg/mod/github.com/traefik/yaegi@v0.15.1/interp/typecheck.go:1015 +0x3cd github.com/traefik/yaegi/interp.typecheck.arguments({0x0?}, 0x0?, {0xc00020ea78?, 0x1, 0x133d427?}, 0xc0003f9180, 0x0) /Users/bytedance/go/pkg/mod/github.com/traefik/yaegi@v0.15.1/interp/typecheck.go:970 +0x292 github.com/traefik/yaegi/interp.(*Interpreter).cfg.func2(0xc0003f9040) /Users/bytedance/go/pkg/mod/github.com/traefik/yaegi@v0.15.1/interp/cfg.go:1317 +0xaa4e github.com/traefik/yaegi/interp.(*node).Walk(0xc0003f9040, 0xc0002218e8, 0xc000221930) /Users/bytedance/go/pkg/mod/github.com/traefik/yaegi@v0.15.1/interp/interp.go:294 +0xad github.com/traefik/yaegi/interp.(*node).Walk(0xc0003f8f00, 0xc0002218e8, 0xc000221930) /Users/bytedance/go/pkg/mod/github.com/traefik/yaegi@v0.15.1/interp/interp.go:291 +0x75 github.com/traefik/yaegi/interp.(*node).Walk(0xc0003f8dc0, 0xc0002218e8, 0xc000221930) /Users/bytedance/go/pkg/mod/github.com/traefik/yaegi@v0.15.1/interp/interp.go:291 +0x75 github.com/traefik/yaegi/interp.(*node).Walk(0xc0003f8640, 0xc0002218e8, 0xc000221930) /Users/bytedance/go/pkg/mod/github.com/traefik/yaegi@v0.15.1/interp/interp.go:291 +0x75 github.com/traefik/yaegi/interp.(*node).Walk(0xc0003f8000, 0xc0002218e8, 0xc000221930) /Users/bytedance/go/pkg/mod/github.com/traefik/yaegi@v0.15.1/interp/interp.go:291 +0x75 github.com/traefik/yaegi/interp.(*Interpreter).cfg(0xc0001e58c0, 0xc0003f8000, 0xc0001e0510, {0xc0002c4898, 0x4}, {0xc0002c4898, 0x4}) /Users/bytedance/go/pkg/mod/github.com/traefik/yaegi@v0.15.1/interp/cfg.go:62 +0x2b4 github.com/traefik/yaegi/interp.(*Interpreter).CompileAST(0xc0001e58c0, {0x1c95898?, 0xc0001e0360?}) /Users/bytedance/go/pkg/mod/github.com/traefik/yaegi@v0.15.1/interp/program.go:97 +0x1ad github.com/traefik/yaegi/interp.(*Interpreter).compileSrc(0xc0001e58c0, {0xc000290ab0?, 0x8f?}, {0x7ff7bfeff87b?, 0xc000186600?}, 0xb0?) /Users/bytedance/go/pkg/mod/github.com/traefik/yaegi@v0.15.1/interp/program.go:64 +0xb8 github.com/traefik/yaegi/interp.(*Interpreter).eval(0xc0001e58c0, {0xc000290ab0?, 0x8f?}, {0x7ff7bfeff87b?, 0x200?}, 0x90?) /Users/bytedance/go/pkg/mod/github.com/traefik/yaegi@v0.15.1/interp/interp.go:556 +0x28 github.com/traefik/yaegi/interp.(*Interpreter).EvalPath(0xc0001e58c0, {0x7ff7bfeff87b, 0xb}) /Users/bytedance/go/pkg/mod/github.com/traefik/yaegi@v0.15.1/interp/interp.go:514 +0xab main.runFile(0x7ff7bfeff87b?, {0x7ff7bfeff87b, 0xb}, 0x0) /Users/bytedance/go/pkg/mod/github.com/traefik/yaegi@v0.15.1/cmd/yaegi/run.go:153 +0xee main.run({0xc000198010?, 0x1, 0x1}) /Users/bytedance/go/pkg/mod/github.com/traefik/yaegi@v0.15.1/cmd/yaegi/run.go:116 +0xb9a main.main() /Users/bytedance/go/pkg/mod/github.com/traefik/yaegi@v0.15.1/cmd/yaegi/yaegi.go:144 +0x2cb exit status 2
v0.15.1
No response
The following program
sample.go
triggers an unexpected resultExpected result
Got
Yaegi Version
v0.15.1
Additional Notes
No response