Closed Ovi3 closed 2 years ago
sample.go
package main import ( "github.com/traefik/yaegi/interp" "github.com/traefik/yaegi/stdlib" ) func main() { i := interp.New(interp.Options{}) i.Use(stdlib.Symbols) _, err := i.Eval(` import ( "context" "fmt" ) func quickPrint() { ctx, _ := context.WithCancel(context.Background()) ch := make(chan string, 20) defer close(ch) for i := 0; i < 10; i++ { fmt.Println(i) go func(ctx context.Context, ch <-chan string) { for { select { case <-ctx.Done(): return case tmp := <-ch: fmt.Println(tmp) } } }(ctx, ch) } for _, i := range "abcdef" { for _, j := range "0123456789" { for _, k := range "ABCDEF" { select { case <-ctx.Done(): return default: tmp := string(i) + string(j) + string(k) ch <- tmp } } } } return } `) if err != nil { panic(err) } }
// no panic
runtime: goroutine stack exceeds 1000000000-byte limit runtime: sp=0xc020400390 stack=[0xc020400000, 0xc040400000] fatal error: stack overflow runtime stack: runtime.throw({0xe07e96?, 0x1441820?}) runtime/panic.go:992 +0x71 runtime.newstack() runtime/stack.go:1101 +0x5cc runtime.morestack() runtime/asm_amd64.s:547 +0x8b goroutine 1 [running]: runtime.mallocgc(0x10?, 0xdca2a0?, 0x1?) runtime/malloc.go:909 +0x91d fp=0xc0204003a0 sp=0xc020400398 pc=0x41227d runtime.makeslice(0x0?, 0x0?, 0x0?) runtime/slice.go:103 +0x52 fp=0xc0204003c8 sp=0xc0204003a0 pc=0x454ff2 github.com/traefik/yaegi/interp._select(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/run.go:3672 +0x46 fp=0xc020400490 sp=0xc0204003c8 pc=0x6be4e6 github.com/traefik/yaegi/interp.setExec.func1(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2829 +0x1f6 fp=0xc0204004d8 sp=0xc020400490 pc=0x63d376 github.com/traefik/yaegi/interp.setExec.func1(0xc0003dad80) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020400520 sp=0xc0204004d8 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003db200) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020400568 sp=0xc020400520 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc0204005b0 sp=0xc020400568 pc=0x63d298 github.com/traefik/yaegi/interp.setExec(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2832 +0xe4 fp=0xc020400670 sp=0xc0204005b0 pc=0x63d144 github.com/traefik/yaegi/interp.getExec(...) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2794 github.com/traefik/yaegi/interp._select(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/run.go:3689 +0x215 fp=0xc020400738 sp=0xc020400670 pc=0x6be6b5 github.com/traefik/yaegi/interp.setExec.func1(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2829 +0x1f6 fp=0xc020400780 sp=0xc020400738 pc=0x63d376 github.com/traefik/yaegi/interp.setExec.func1(0xc0003dad80) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc0204007c8 sp=0xc020400780 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003db200) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020400810 sp=0xc0204007c8 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020400858 sp=0xc020400810 pc=0x63d298 github.com/traefik/yaegi/interp.setExec(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2832 +0xe4 fp=0xc020400918 sp=0xc020400858 pc=0x63d144 github.com/traefik/yaegi/interp.getExec(...) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2794 github.com/traefik/yaegi/interp._select(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/run.go:3689 +0x215 fp=0xc0204009e0 sp=0xc020400918 pc=0x6be6b5 github.com/traefik/yaegi/interp.setExec.func1(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2829 +0x1f6 fp=0xc020400a28 sp=0xc0204009e0 pc=0x63d376 github.com/traefik/yaegi/interp.setExec.func1(0xc0003dad80) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020400a70 sp=0xc020400a28 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003db200) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020400ab8 sp=0xc020400a70 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020400b00 sp=0xc020400ab8 pc=0x63d298 github.com/traefik/yaegi/interp.setExec(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2832 +0xe4 fp=0xc020400bc0 sp=0xc020400b00 pc=0x63d144 github.com/traefik/yaegi/interp.getExec(...) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2794 github.com/traefik/yaegi/interp._select(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/run.go:3689 +0x215 fp=0xc020400c88 sp=0xc020400bc0 pc=0x6be6b5 github.com/traefik/yaegi/interp.setExec.func1(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2829 +0x1f6 fp=0xc020400cd0 sp=0xc020400c88 pc=0x63d376 github.com/traefik/yaegi/interp.setExec.func1(0xc0003dad80) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020400d18 sp=0xc020400cd0 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003db200) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020400d60 sp=0xc020400d18 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020400da8 sp=0xc020400d60 pc=0x63d298 github.com/traefik/yaegi/interp.setExec(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2832 +0xe4 fp=0xc020400e68 sp=0xc020400da8 pc=0x63d144 github.com/traefik/yaegi/interp.getExec(...) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2794 github.com/traefik/yaegi/interp._select(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/run.go:3689 +0x215 fp=0xc020400f30 sp=0xc020400e68 pc=0x6be6b5 github.com/traefik/yaegi/interp.setExec.func1(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2829 +0x1f6 fp=0xc020400f78 sp=0xc020400f30 pc=0x63d376 github.com/traefik/yaegi/interp.setExec.func1(0xc0003dad80) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020400fc0 sp=0xc020400f78 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003db200) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020401008 sp=0xc020400fc0 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020401050 sp=0xc020401008 pc=0x63d298 github.com/traefik/yaegi/interp.setExec(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2832 +0xe4 fp=0xc020401110 sp=0xc020401050 pc=0x63d144 github.com/traefik/yaegi/interp.getExec(...) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2794 github.com/traefik/yaegi/interp._select(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/run.go:3689 +0x215 fp=0xc0204011d8 sp=0xc020401110 pc=0x6be6b5 github.com/traefik/yaegi/interp.setExec.func1(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2829 +0x1f6 fp=0xc020401220 sp=0xc0204011d8 pc=0x63d376 github.com/traefik/yaegi/interp.setExec.func1(0xc0003dad80) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020401268 sp=0xc020401220 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003db200) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc0204012b0 sp=0xc020401268 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc0204012f8 sp=0xc0204012b0 pc=0x63d298 github.com/traefik/yaegi/interp.setExec(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2832 +0xe4 fp=0xc0204013b8 sp=0xc0204012f8 pc=0x63d144 github.com/traefik/yaegi/interp.getExec(...) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2794 github.com/traefik/yaegi/interp._select(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/run.go:3689 +0x215 fp=0xc020401480 sp=0xc0204013b8 pc=0x6be6b5 github.com/traefik/yaegi/interp.setExec.func1(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2829 +0x1f6 fp=0xc0204014c8 sp=0xc020401480 pc=0x63d376 github.com/traefik/yaegi/interp.setExec.func1(0xc0003dad80) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020401510 sp=0xc0204014c8 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003db200) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020401558 sp=0xc020401510 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc0204015a0 sp=0xc020401558 pc=0x63d298 github.com/traefik/yaegi/interp.setExec(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2832 +0xe4 fp=0xc020401660 sp=0xc0204015a0 pc=0x63d144 github.com/traefik/yaegi/interp.getExec(...) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2794 github.com/traefik/yaegi/interp._select(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/run.go:3689 +0x215 fp=0xc020401728 sp=0xc020401660 pc=0x6be6b5 github.com/traefik/yaegi/interp.setExec.func1(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2829 +0x1f6 fp=0xc020401770 sp=0xc020401728 pc=0x63d376 github.com/traefik/yaegi/interp.setExec.func1(0xc0003dad80) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc0204017b8 sp=0xc020401770 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003db200) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020401800 sp=0xc0204017b8 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020401848 sp=0xc020401800 pc=0x63d298 github.com/traefik/yaegi/interp.setExec(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2832 +0xe4 fp=0xc020401908 sp=0xc020401848 pc=0x63d144 github.com/traefik/yaegi/interp.getExec(...) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2794 github.com/traefik/yaegi/interp._select(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/run.go:3689 +0x215 fp=0xc0204019d0 sp=0xc020401908 pc=0x6be6b5 github.com/traefik/yaegi/interp.setExec.func1(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2829 +0x1f6 fp=0xc020401a18 sp=0xc0204019d0 pc=0x63d376 github.com/traefik/yaegi/interp.setExec.func1(0xc0003dad80) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020401a60 sp=0xc020401a18 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003db200) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020401aa8 sp=0xc020401a60 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020401af0 sp=0xc020401aa8 pc=0x63d298 github.com/traefik/yaegi/interp.setExec(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2832 +0xe4 fp=0xc020401bb0 sp=0xc020401af0 pc=0x63d144 github.com/traefik/yaegi/interp.getExec(...) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2794 github.com/traefik/yaegi/interp._select(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/run.go:3689 +0x215 fp=0xc020401c78 sp=0xc020401bb0 pc=0x6be6b5 github.com/traefik/yaegi/interp.setExec.func1(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2829 +0x1f6 fp=0xc020401cc0 sp=0xc020401c78 pc=0x63d376 github.com/traefik/yaegi/interp.setExec.func1(0xc0003dad80) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020401d08 sp=0xc020401cc0 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003db200) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020401d50 sp=0xc020401d08 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020401d98 sp=0xc020401d50 pc=0x63d298 github.com/traefik/yaegi/interp.setExec(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2832 +0xe4 fp=0xc020401e58 sp=0xc020401d98 pc=0x63d144 github.com/traefik/yaegi/interp.getExec(...) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2794 github.com/traefik/yaegi/interp._select(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/run.go:3689 +0x215 fp=0xc020401f20 sp=0xc020401e58 pc=0x6be6b5 github.com/traefik/yaegi/interp.setExec.func1(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2829 +0x1f6 fp=0xc020401f68 sp=0xc020401f20 pc=0x63d376 github.com/traefik/yaegi/interp.setExec.func1(0xc0003dad80) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020401fb0 sp=0xc020401f68 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003db200) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020401ff8 sp=0xc020401fb0 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020402040 sp=0xc020401ff8 pc=0x63d298 github.com/traefik/yaegi/interp.setExec(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2832 +0xe4 fp=0xc020402100 sp=0xc020402040 pc=0x63d144 github.com/traefik/yaegi/interp.getExec(...) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2794 github.com/traefik/yaegi/interp._select(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/run.go:3689 +0x215 fp=0xc0204021c8 sp=0xc020402100 pc=0x6be6b5 github.com/traefik/yaegi/interp.setExec.func1(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2829 +0x1f6 fp=0xc020402210 sp=0xc0204021c8 pc=0x63d376 github.com/traefik/yaegi/interp.setExec.func1(0xc0003dad80) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020402258 sp=0xc020402210 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003db200) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc0204022a0 sp=0xc020402258 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc0204022e8 sp=0xc0204022a0 pc=0x63d298 github.com/traefik/yaegi/interp.setExec(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2832 +0xe4 fp=0xc0204023a8 sp=0xc0204022e8 pc=0x63d144 github.com/traefik/yaegi/interp.getExec(...) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2794 github.com/traefik/yaegi/interp._select(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/run.go:3689 +0x215 fp=0xc020402470 sp=0xc0204023a8 pc=0x6be6b5 github.com/traefik/yaegi/interp.setExec.func1(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2829 +0x1f6 fp=0xc0204024b8 sp=0xc020402470 pc=0x63d376 github.com/traefik/yaegi/interp.setExec.func1(0xc0003dad80) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020402500 sp=0xc0204024b8 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003db200) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020402548 sp=0xc020402500 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020402590 sp=0xc020402548 pc=0x63d298 github.com/traefik/yaegi/interp.setExec(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2832 +0xe4 fp=0xc020402650 sp=0xc020402590 pc=0x63d144 github.com/traefik/yaegi/interp.getExec(...) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2794 github.com/traefik/yaegi/interp._select(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/run.go:3689 +0x215 fp=0xc020402718 sp=0xc020402650 pc=0x6be6b5 github.com/traefik/yaegi/interp.setExec.func1(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2829 +0x1f6 fp=0xc020402760 sp=0xc020402718 pc=0x63d376 github.com/traefik/yaegi/interp.setExec.func1(0xc0003dad80) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc0204027a8 sp=0xc020402760 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003db200) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc0204027f0 sp=0xc0204027a8 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020402838 sp=0xc0204027f0 pc=0x63d298 github.com/traefik/yaegi/interp.setExec(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2832 +0xe4 fp=0xc0204028f8 sp=0xc020402838 pc=0x63d144 github.com/traefik/yaegi/interp.getExec(...) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2794 github.com/traefik/yaegi/interp._select(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/run.go:3689 +0x215 fp=0xc0204029c0 sp=0xc0204028f8 pc=0x6be6b5 github.com/traefik/yaegi/interp.setExec.func1(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2829 +0x1f6 fp=0xc020402a08 sp=0xc0204029c0 pc=0x63d376 github.com/traefik/yaegi/interp.setExec.func1(0xc0003dad80) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020402a50 sp=0xc020402a08 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003db200) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020402a98 sp=0xc020402a50 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020402ae0 sp=0xc020402a98 pc=0x63d298 github.com/traefik/yaegi/interp.setExec(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2832 +0xe4 fp=0xc020402ba0 sp=0xc020402ae0 pc=0x63d144 github.com/traefik/yaegi/interp.getExec(...) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2794 github.com/traefik/yaegi/interp._select(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/run.go:3689 +0x215 fp=0xc020402c68 sp=0xc020402ba0 pc=0x6be6b5 github.com/traefik/yaegi/interp.setExec.func1(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2829 +0x1f6 fp=0xc020402cb0 sp=0xc020402c68 pc=0x63d376 github.com/traefik/yaegi/interp.setExec.func1(0xc0003dad80) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020402cf8 sp=0xc020402cb0 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003db200) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020402d40 sp=0xc020402cf8 pc=0x63d298 github.com/traefik/yaegi/interp.setExec.func1(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2818 +0x118 fp=0xc020402d88 sp=0xc020402d40 pc=0x63d298 github.com/traefik/yaegi/interp.setExec(0xc0003daea0) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2832 +0xe4 fp=0xc020402e48 sp=0xc020402d88 pc=0x63d144 github.com/traefik/yaegi/interp.getExec(...) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2794 github.com/traefik/yaegi/interp._select(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/run.go:3689 +0x215 fp=0xc020402f10 sp=0xc020402e48 pc=0x6be6b5 github.com/traefik/yaegi/interp.setExec.func1(0xc0003d9e60) github.com/traefik/yaegi@v0.14.1/interp/cfg.go:2829 +0x1f6 fp=0xc020402f58 sp=0xc020402f10 pc=0x63d376 exit status 2
v0.14.1
$ go version go version go1.18.3 linux/amd64
Seem like when using channel variable, and it will panic goroutine stack exceeds 1000000000-byte limit
goroutine stack exceeds 1000000000-byte limit
The following program
sample.go
triggers an unexpected resultExpected result
Got
Yaegi Version
v0.14.1
Additional Notes
$ go version go version go1.18.3 linux/amd64
Seem like when using channel variable, and it will panic
goroutine stack exceeds 1000000000-byte limit