apache / apisix-go-plugin-runner

Go Plugin Runner for APISIX
https://apisix.apache.org/
Apache License 2.0
169 stars 69 forks source link

panic recovered: runtime error: invalid memory address or nil pointer dereference #45

Closed floating-yuan closed 2 years ago

floating-yuan commented 2 years ago

Issue description

apisix-go-plugin-runner process will panic after running for a while,it works fine when the beginning

Environment

the apisix and runner are running in docker container,use unix:/tmp/x.sock

Minimal test code / Steps to reproduce the issue

1.run apisix-go-plugin-runner 2.waiting for a while 3.request apisix route

What's the actual result? (including assertion message & call stack if applicable)

2021-10-11T09:01:28.801Z    INFO    server/server.go:94 Client connected (unix)
2021-10-11T09:01:28.807Z    INFO    server/server.go:110    receive rpc type: 2 data length: 572
2021-10-11T09:01:28.811Z    ERROR   server/server.go:60 panic recovered: runtime error: invalid memory address or nil pointer dereference
github.com/apache/apisix-go-plugin-runner/internal/server.recoverPanic
    /Users/Downloads/apisix-go-plugin-runner-0.2.0-src/internal/server/server.go:60
runtime.gopanic
    /usr/local/go/src/runtime/panic.go:969
runtime.panicmem
    /usr/local/go/src/runtime/panic.go:212
runtime.sigpanic
    /usr/local/go/src/runtime/signal_unix.go:742
github.com/google/flatbuffers/go.(*Builder).Reset
    /Users/go/pkg/mod/github.com/google/flatbuffers@v2.0.0+incompatible/go/builder.go:45
github.com/apache/apisix-go-plugin-runner/internal/util.PutBuilder
    /Users/Downloads/apisix-go-plugin-runner-0.2.0-src/internal/util/pool.go:37
github.com/apache/apisix-go-plugin-runner/internal/server.handleConn
    /Users/Downloads/apisix-go-plugin-runner-0.2.0-src/internal/server/server.go:121
spacewander commented 2 years ago

Duplicate of #41