traefik / yaegi

Yaegi is Another Elegant Go Interpreter

Home Page:https://pkg.go.dev/github.com/traefik/yaegi

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cant import extended library

avonar opened this issue · comments

The following program sample.go triggers an unexpected result

package main

import (
	_ "github.com/jackc/pgx/v4/pgxpool"
)

func main() {
	println("Hello, playground")
}

Expected result

$ yaegi run ./main.go
Hello, playground

Got

$ yaegi run ./main.go
/tmp/test_rpoject/vendor/src/golang.org/x/text/internal/language/lookup.go:67:6: panic
/tmp/test_rpoject/vendor/src/golang.org/x/text/internal/language/lookup.go:40:5: panic
/tmp/test_rpoject/vendor/src/golang.org/x/text/internal/language/parse.go:300:6: panic
/tmp/test_rpoject/vendor/src/golang.org/x/text/internal/language/parse.go:262:2: panic
/tmp/test_rpoject/vendor/src/golang.org/x/text/internal/language/tags.go:10:12: panic
/tmp/test_rpoject/vendor/src/golang.org/x/text/internal/language/compact/compact.go:56:10: panic
panic: <error Value> [recovered]
	panic: <error Value> [recovered]
	panic: <error Value>

goroutine 1 [running]:
github.com/traefik/yaegi/interp.runCfg.func1()
	github.com/traefik/yaegi/interp/run.go:192 +0x13c
panic({0x1056801a0, 0x140028947c8})
	runtime/panic.go:884 +0x204
github.com/traefik/yaegi/interp.runCfg.func1()
	github.com/traefik/yaegi/interp/run.go:192 +0x13c
panic({0x1056801a0, 0x140028947c8})
	runtime/panic.go:884 +0x204
github.com/traefik/yaegi/interp._panic.func1(0x1400288c6e0?)
	github.com/traefik/yaegi/interp/run.go:904 +0x50
github.com/traefik/yaegi/interp.runCfg(0x140020e6c60, 0x1400288c6e0, 0x1400365a328?, 0x10555cac0?)
	github.com/traefik/yaegi/interp/run.go:200 +0x21c
github.com/traefik/yaegi/interp.call.func9(0x140033dea50)
	github.com/traefik/yaegi/interp/run.go:1438 +0x7c0
github.com/traefik/yaegi/interp.runCfg(0x1400164e360, 0x140033dea50, 0x51?, 0x4?)
	github.com/traefik/yaegi/interp/run.go:200 +0x21c
github.com/traefik/yaegi/interp.(*Interpreter).run(0x140000ef680, 0x1400164d7a0, 0x140000d4580?)
	github.com/traefik/yaegi/interp/run.go:119 +0x3a8
github.com/traefik/yaegi/interp.(*Interpreter).importSrc(0x140000ef680, {0x14000126b60, 0x1a}, {0x1400055d0e1, 0x2b}, 0x1)
	github.com/traefik/yaegi/interp/src.go:168 +0x8b4
github.com/traefik/yaegi/interp.(*Interpreter).gta.func1(0x1400107cc60)
	github.com/traefik/yaegi/interp/gta.go:261 +0x1bc4
github.com/traefik/yaegi/interp.(*node).Walk(0x1400107cc60, 0x1400365b348, 0x0)
	github.com/traefik/yaegi/interp/interp.go:284 +0x34
github.com/traefik/yaegi/interp.(*node).Walk(0x1400107c120, 0x1400365b348, 0x0)
	github.com/traefik/yaegi/interp/interp.go:288 +0x74
github.com/traefik/yaegi/interp.(*node).Walk(0x1400107b440, 0x1400365b348, 0x0)
	github.com/traefik/yaegi/interp/interp.go:288 +0x74
github.com/traefik/yaegi/interp.(*Interpreter).gta(0x140000ef680, 0x1400107b440, {0x14000126b60, 0x1a}, {0x1400052e901, 0x1a}, {0x14001262d78, 0x8})
	github.com/traefik/yaegi/interp/gta.go:20 +0x158
github.com/traefik/yaegi/interp.(*Interpreter).importSrc(0x140000ef680, {0x14000c2bfb0, 0x17}, {0x1400052e901, 0x1a}, 0x1)
	github.com/traefik/yaegi/interp/src.go:108 +0xc48
github.com/traefik/yaegi/interp.(*Interpreter).gta.func1(0x140012a1440)
	github.com/traefik/yaegi/interp/gta.go:261 +0x1bc4
github.com/traefik/yaegi/interp.(*node).Walk(0x140012a1440, 0x1400365c138, 0x0)
	github.com/traefik/yaegi/interp/interp.go:284 +0x34
github.com/traefik/yaegi/interp.(*node).Walk(0x140012a1320, 0x1400365c138, 0x0)
	github.com/traefik/yaegi/interp/interp.go:288 +0x74
github.com/traefik/yaegi/interp.(*node).Walk(0x140012a10e0, 0x1400365c138, 0x0)
	github.com/traefik/yaegi/interp/interp.go:288 +0x74
github.com/traefik/yaegi/interp.(*Interpreter).gta(0x140000ef680, 0x140012a10e0, {0x14000c2bfb0, 0x17}, {0x1400052e7c1, 0x17}, {0x14001262780, 0x5})
	github.com/traefik/yaegi/interp/gta.go:20 +0x158
github.com/traefik/yaegi/interp.(*Interpreter).importSrc(0x140000ef680, {0x1400052e8a0, 0x1f}, {0x1400052e7c1, 0x17}, 0x1)
	github.com/traefik/yaegi/interp/src.go:108 +0xc48
github.com/traefik/yaegi/interp.(*Interpreter).gta.func1(0x140012279e0)
	github.com/traefik/yaegi/interp/gta.go:261 +0x1bc4
github.com/traefik/yaegi/interp.(*node).Walk(0x140012279e0, 0x1400365cf28, 0x0)
	github.com/traefik/yaegi/interp/interp.go:284 +0x34
github.com/traefik/yaegi/interp.(*node).Walk(0x140012278c0, 0x1400365cf28, 0x0)
	github.com/traefik/yaegi/interp/interp.go:288 +0x74
github.com/traefik/yaegi/interp.(*node).Walk(0x14001227680, 0x1400365cf28, 0x0)
	github.com/traefik/yaegi/interp/interp.go:288 +0x74
github.com/traefik/yaegi/interp.(*Interpreter).gta(0x140000ef680, 0x14001227680, {0x1400052e8a0, 0x1f}, {0x140000417d1, 0x1f}, {0x14000ffa020, 0x6})
	github.com/traefik/yaegi/interp/gta.go:20 +0x158
github.com/traefik/yaegi/interp.(*Interpreter).importSrc(0x140000ef680, {0x1400003e7e0, 0x17}, {0x140000417d1, 0x1f}, 0x1)
	github.com/traefik/yaegi/interp/src.go:108 +0xc48
github.com/traefik/yaegi/interp.(*Interpreter).gta.func1(0x1400043d0e0)
	github.com/traefik/yaegi/interp/gta.go:261 +0x1bc4
github.com/traefik/yaegi/interp.(*node).Walk(0x1400043d0e0, 0x1400365dd18, 0x0)
	github.com/traefik/yaegi/interp/interp.go:284 +0x34
github.com/traefik/yaegi/interp.(*node).Walk(0x1400041b8c0, 0x1400365dd18, 0x0)
	github.com/traefik/yaegi/interp/interp.go:288 +0x74
github.com/traefik/yaegi/interp.(*node).Walk(0x1400041b680, 0x1400365dd18, 0x0)
	github.com/traefik/yaegi/interp/interp.go:288 +0x74
github.com/traefik/yaegi/interp.(*Interpreter).gta(0x140000ef680, 0x1400041b680, {0x1400003e7e0, 0x17}, {0x1400003a901, 0x17}, {0x140002d918a, 0x6})
	github.com/traefik/yaegi/interp/gta.go:20 +0x158
github.com/traefik/yaegi/interp.(*Interpreter).importSrc(0x140000ef680, {0x1400003a940, 0x1f}, {0x1400003a901, 0x17}, 0x1)
	github.com/traefik/yaegi/interp/src.go:108 +0xc48
github.com/traefik/yaegi/interp.(*Interpreter).gta.func1(0x140003ecea0)
	github.com/traefik/yaegi/interp/gta.go:261 +0x1bc4
github.com/traefik/yaegi/interp.(*node).Walk(0x140003ecea0, 0x1400365eb08, 0x0)
	github.com/traefik/yaegi/interp/interp.go:284 +0x34
github.com/traefik/yaegi/interp.(*node).Walk(0x140003ecd80, 0x1400365eb08, 0x0)
	github.com/traefik/yaegi/interp/interp.go:288 +0x74
github.com/traefik/yaegi/interp.(*node).Walk(0x140003ecb40, 0x1400365eb08, 0x0)
	github.com/traefik/yaegi/interp/interp.go:288 +0x74
github.com/traefik/yaegi/interp.(*Interpreter).gta(0x140000ef680, 0x140003ecb40, {0x1400003a940, 0x1f}, {0x14000041471, 0x1f}, {0x140002d8ca7, 0x7})
	github.com/traefik/yaegi/interp/gta.go:20 +0x158
github.com/traefik/yaegi/interp.(*Interpreter).importSrc(0x140000ef680, {0x140002d8b80, 0x4}, {0x14000041471, 0x1f}, 0x1)
	github.com/traefik/yaegi/interp/src.go:108 +0xc48
github.com/traefik/yaegi/interp.(*Interpreter).gta.func1(0x140002dbb00)
	github.com/traefik/yaegi/interp/gta.go:261 +0x1bc4
github.com/traefik/yaegi/interp.(*node).Walk(0x140002dbb00, 0x1400365f8f8, 0x0)
	github.com/traefik/yaegi/interp/interp.go:284 +0x34
github.com/traefik/yaegi/interp.(*node).Walk(0x140002db9e0, 0x1400365f8f8, 0x0)
	github.com/traefik/yaegi/interp/interp.go:288 +0x74
github.com/traefik/yaegi/interp.(*node).Walk(0x140002db7a0, 0x1400365f8f8, 0x0)
	github.com/traefik/yaegi/interp/interp.go:288 +0x74
github.com/traefik/yaegi/interp.(*Interpreter).gta(0x140000ef680, 0x140002db7a0, {0x140002d8b80, 0x4}, {0x140002d8b80, 0x4}, {0x140002d8b80, 0x4})
	github.com/traefik/yaegi/interp/gta.go:20 +0x158
github.com/traefik/yaegi/interp.(*Interpreter).gtaRetry(0x140000ef680?, {0x140001bbae0?, 0x140000cc800?, 0x140001bba20?}, {0x140002d8b80, 0x4}, {0x140002d8b80, 0x4})
	github.com/traefik/yaegi/interp/gta.go:383 +0x110
github.com/traefik/yaegi/interp.(*Interpreter).CompileAST(0x140000ef680, {0x10568c888?, 0x140000cc800?})
	github.com/traefik/yaegi/interp/program.go:87 +0x124
github.com/traefik/yaegi/interp.(*Interpreter).compileSrc(0x140000ef680, {0x140000e45a0?, 0x104bbb300?}, {0x16b34786a?, 0x140000e45a0?}, 0x5?)
	github.com/traefik/yaegi/interp/program.go:59 +0xe0
github.com/traefik/yaegi/interp.(*Interpreter).eval(0x140000ef680, {0x140000e45a0?, 0x105?}, {0x16b34786a?, 0x140000e4360?}, 0x5?)
	github.com/traefik/yaegi/interp/interp.go:552 +0x28
github.com/traefik/yaegi/interp.(*Interpreter).EvalPath(0x140000ef680, {0x16b34786a, 0x9})
	github.com/traefik/yaegi/interp/interp.go:510 +0xa4
main.runFile(0x16b34786a?, {0x16b34786a, 0x9}, 0x0)
	github.com/traefik/yaegi/cmd/yaegi/run.go:153 +0xe8
main.run({0x140000321d0?, 0x1, 0x1})
	github.com/traefik/yaegi/cmd/yaegi/run.go:116 +0xb2c
main.main()
	github.com/traefik/yaegi/cmd/yaegi/yaegi.go:133 +0xdc

Yaegi Version

0.14.2

Additional Notes

Hello, i tried write plugin for traefik which are using pgx as databse connector.

And got some erros while importing the package.

traefik-w-plugin-example-reverse-proxy-1  | time="2022-09-15T08:17:21Z" level=error msg="Plugins are disabled because an error has occurred." error="gitlab.office.local/avonar/traefik-plugin: failed to import plugin code \"gitlab.office.local/avonar/traefik-plugin\": 1:21: import \"gitlab.office.local/avonar/traefik-plugin\" error: plugins-local/src/gitlab.office.local/avonar/traefik-plugin/demo.go:13:2: import \"github.com/jackc/pgx/v4/pgxpool\" error: unable to find source related to: \"github.com/jackc/pgx/v4/pgxpool\""

I tried research this by simple example with import library in yaegi runtime, and get an error, looks like a bug for me.

also my logs from traefik runtime which are trying to import the same library

traefik-w-plugin-example-reverse-proxy-1  | panic: reflect.Set: value of type int is not assignable to type uint16 [recovered]
traefik-w-plugin-example-reverse-proxy-1  | 	panic: reflect.Set: value of type int is not assignable to type uint16 [recovered]
traefik-w-plugin-example-reverse-proxy-1  | 	panic: reflect.Set: value of type int is not assignable to type uint16 [recovered]
traefik-w-plugin-example-reverse-proxy-1  | 	panic: reflect.Set: value of type int is not assignable to type uint16 [recovered]
traefik-w-plugin-example-reverse-proxy-1  | 	panic: reflect.Set: value of type int is not assignable to type uint16
traefik-w-plugin-example-reverse-proxy-1  |
traefik-w-plugin-example-reverse-proxy-1  | goroutine 1 [running]:
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.runCfg.func1()
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/run.go:192 +0x148
traefik-w-plugin-example-reverse-proxy-1  | panic({0x3075760, 0xc0016d0710})
traefik-w-plugin-example-reverse-proxy-1  | 	runtime/panic.go:884 +0x212
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.runCfg.func1()
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/run.go:192 +0x148
traefik-w-plugin-example-reverse-proxy-1  | panic({0x3075760, 0xc0016d0710})
traefik-w-plugin-example-reverse-proxy-1  | 	runtime/panic.go:884 +0x212
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.runCfg.func1()
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/run.go:192 +0x148
traefik-w-plugin-example-reverse-proxy-1  | panic({0x3075760, 0xc0016d0710})
traefik-w-plugin-example-reverse-proxy-1  | 	runtime/panic.go:884 +0x212
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.runCfg.func1()
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/run.go:192 +0x148
traefik-w-plugin-example-reverse-proxy-1  | panic({0x3075760, 0xc0016d0710})
traefik-w-plugin-example-reverse-proxy-1  | 	runtime/panic.go:884 +0x212
traefik-w-plugin-example-reverse-proxy-1  | reflect.Value.assignTo({0x30718a0?, 0xc0025bd610?, 0xc001389812?}, {0x39a35c1, 0xb}, 0x30759a0, 0x0)
traefik-w-plugin-example-reverse-proxy-1  | 	reflect/value.go:3145 +0x2a5
traefik-w-plugin-example-reverse-proxy-1  | reflect.Value.Set({0x30759a0?, 0xc0013897da?, 0xc00245d280?}, {0x30718a0?, 0xc0025bd610?, 0xc0005e94a0?})
traefik-w-plugin-example-reverse-proxy-1  | 	reflect/value.go:2160 +0xeb
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp._return.func1(0xc0005e94a0)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/run.go:2435 +0x54
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.runCfg(0xc001a405a0, 0xc0005e94a0, 0xc000100800?, 0x30759a0?)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/run.go:200 +0x29d
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.call.func9(0xc0005e93f0)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/run.go:1438 +0x965
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.runCfg(0xc001992900, 0xc0005e93f0, 0x8?, 0x30759a0?)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/run.go:200 +0x29d
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.call.func9(0xc0005e8630)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/run.go:1438 +0x965
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.runCfg(0xc0034ceea0, 0xc0005e8630, 0x0?, 0xc0019c9560?)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/run.go:200 +0x29d
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.call.func9(0xc0005e8580)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/run.go:1438 +0x965
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.runCfg(0xc0038de360, 0xc0005e8580, 0x58?, 0x60?)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/run.go:200 +0x29d
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*Interpreter).run(0xc0002d4480, 0xc0038db680, 0xc000165970?)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/run.go:119 +0x38e
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*Interpreter).importSrc(0xc0002d4480, {0xc000e5f0e0, 0x56}, {0xc001499521, 0x1a}, 0x1)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/src.go:168 +0xb4f
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*Interpreter).gta.func1(0xc0017af560)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/gta.go:261 +0x2135
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*node).Walk(0xc0017af560, 0xc003efa990, 0x0)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/interp.go:284 +0x34
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*node).Walk(0xc0017af440, 0xc003efa990, 0x0)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/interp.go:288 +0x75
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*node).Walk(0xc0017af200, 0xc003efa990, 0x0)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/interp.go:288 +0x75
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*Interpreter).gta(0xc0002d4480, 0xc0017af200, {0xc000e5f0e0, 0x56}, {0xc001499401, 0x17}, {0xc001771f30, 0x5})
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/gta.go:20 +0x22b
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*Interpreter).importSrc(0xc0002d4480, {0xc000e5ef60, 0x5e}, {0xc001499401, 0x17}, 0x1)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/src.go:108 +0x100f
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*Interpreter).gta.func1(0xc00173fb00)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/gta.go:261 +0x2135
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*node).Walk(0xc00173fb00, 0xc003efb758, 0x0)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/interp.go:284 +0x34
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*node).Walk(0xc00173f9e0, 0xc003efb758, 0x0)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/interp.go:288 +0x75
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*node).Walk(0xc00173f7a0, 0xc003efb758, 0x0)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/interp.go:288 +0x75
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*Interpreter).gta(0xc0002d4480, 0xc00173f7a0, {0xc000e5ef60, 0x5e}, {0xc0002ce601, 0x1f}, {0xc0014f5800, 0x6})
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/gta.go:20 +0x22b
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*Interpreter).importSrc(0xc0002d4480, {0xc00011efc0, 0x56}, {0xc0002ce601, 0x1f}, 0x1)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/src.go:108 +0x100f
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*Interpreter).gta.func1(0xc000990fc0)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/gta.go:261 +0x2135
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*node).Walk(0xc000990fc0, 0xc003efc520, 0x0)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/interp.go:284 +0x34
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*node).Walk(0xc0009757a0, 0xc003efc520, 0x0)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/interp.go:288 +0x75
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*node).Walk(0xc000975560, 0xc003efc520, 0x0)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/interp.go:288 +0x75
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*Interpreter).gta(0xc0002d4480, 0xc000975560, {0xc00011efc0, 0x56}, {0xc000296e81, 0x17}, {0xc0002c501a, 0x6})
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/gta.go:20 +0x22b
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*Interpreter).importSrc(0xc0002d4480, {0xc00011ee40, 0x5e}, {0xc000296e81, 0x17}, 0x1)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/src.go:108 +0x100f
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*Interpreter).gta.func1(0xc00095ad80)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/gta.go:261 +0x2135
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*node).Walk(0xc00095ad80, 0xc003efd2e8, 0x0)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/interp.go:284 +0x34
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*node).Walk(0xc00095ac60, 0xc003efd2e8, 0x0)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/interp.go:288 +0x75
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*node).Walk(0xc00095aa20, 0xc003efd2e8, 0x0)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/interp.go:288 +0x75
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*Interpreter).gta(0xc0002d4480, 0xc00095aa20, {0xc00011ee40, 0x5e}, {0xc0002ce1e1, 0x1f}, {0xc0002c4b60, 0x7})
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/gta.go:20 +0x22b
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*Interpreter).importSrc(0xc0002d4480, {0xc0007608c0, 0x37}, {0xc0002ce1e1, 0x1f}, 0x1)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/src.go:108 +0x100f
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*Interpreter).gta.func1(0xc0009386c0)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/gta.go:261 +0x2135
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*node).Walk(0xc0009386c0, 0xc003efe0b0, 0x0)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/interp.go:284 +0x34
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*node).Walk(0xc0002d9560, 0xc003efe0b0, 0x0)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/interp.go:288 +0x75
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*node).Walk(0xc0002d9320, 0xc003efe0b0, 0x0)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/interp.go:288 +0x75
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*Interpreter).gta(0xc0002d4480, 0xc0002d9320, {0xc0007608c0, 0x37}, {0xc000760501, 0x37}, {0xc0002c4460, 0xe})
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/gta.go:20 +0x22b
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*Interpreter).importSrc(0xc0002d4480, {0xc0002c4328, 0x4}, {0xc000760501, 0x37}, 0x1)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/src.go:108 +0x100f
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*Interpreter).gta.func1(0xc0002d90e0)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/gta.go:261 +0x2135
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*node).Walk(0xc0002d90e0, 0xc003efee78, 0x0)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/interp.go:284 +0x34
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*node).Walk(0xc0002d8fc0, 0xc003efee78, 0x0)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/interp.go:288 +0x75
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*node).Walk(0xc0002d8d80, 0xc003efee78, 0x0)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/interp.go:288 +0x75
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*Interpreter).gta(0xc0002d4480, 0xc0002d8d80, {0xc0002c4328, 0x4}, {0xc0002c4328, 0x4}, {0xc0002c4328, 0x4})
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/gta.go:20 +0x22b
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*Interpreter).gtaRetry(0xc0002d4480?, {0xc000bd5058?, 0xc0005a8300?, 0xc000bd4fa0?}, {0xc0002c4328, 0x4}, {0xc0002c4328, 0x4})
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/gta.go:383 +0x154
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*Interpreter).CompileAST(0xc0002d4480, {0x44404a8?, 0xc0005a8300?})
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/program.go:87 +0x17f
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*Interpreter).compileSrc(0xc0002d4480, {0xc000760400?, 0x1?}, {0x0?, 0xc000760400?}, 0x70?)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/program.go:59 +0xb8
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*Interpreter).eval(0xc0002d4480, {0xc000760400?, 0xc000bd52c8?}, {0x0?, 0x1?}, 0x0?)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/interp.go:552 +0x28
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/yaegi/interp.(*Interpreter).Eval(...)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/yaegi@v0.14.2/interp/interp.go:494
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/traefik/v2/pkg/plugins.NewBuilder(0x0, 0x1?, 0x1?)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/traefik/v2/pkg/plugins/builder.go:104 +0xdc6
traefik-w-plugin-example-reverse-proxy-1  | main.createPluginBuilder(0xc0004b9170?)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/traefik/v2/cmd/traefik/plugins.go:18 +0x35
traefik-w-plugin-example-reverse-proxy-1  | main.setupServer(0xc0004b9170)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/traefik/v2/cmd/traefik/traefik.go:224 +0x625
traefik-w-plugin-example-reverse-proxy-1  | main.runCmd(0xc0004b9170)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/traefik/v2/cmd/traefik/traefik.go:117 +0x3df
traefik-w-plugin-example-reverse-proxy-1  | main.main.func1({0xc0002aab20?, 0xc00011c070?, 0x8?})
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/traefik/v2/cmd/traefik/traefik.go:62 +0x1f
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/paerser/cli.run(0xc00028da80, {0xc00011c070?, 0x3?, 0x3?})
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/paerser@v0.1.9/cli/commands.go:133 +0x193
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/paerser/cli.execute(0xc00028da80, {0xc00011c050?, 0x5, 0x5}, 0x78?)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/paerser@v0.1.9/cli/commands.go:76 +0x74a
traefik-w-plugin-example-reverse-proxy-1  | github.com/traefik/paerser/cli.Execute(...)
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/paerser@v0.1.9/cli/commands.go:51
traefik-w-plugin-example-reverse-proxy-1  | main.main()
traefik-w-plugin-example-reverse-proxy-1  | 	github.com/traefik/traefik/v2/cmd/traefik/traefik.go:78 +0x405