rsocket / rsocket-go

rsocket-go implementation
Apache License 2.0
511 stars 46 forks source link

Panic seen when trying to close subscription #132

Open r-shar opened 1 year ago

r-shar commented 1 year ago

We are using flux and trying to cancel a subscriber using rx.subscription.Cancel().

But we are seeing the following panic error:

panic: frame has been released!

goroutine 682 [running]: 
github.com/rsocket/rsocket-go/core/framing.(*bufferedFrame).HasFlag(...)
        /go/pkg/mod/github.com/rsocket/rsocket-go@v0.8.12/core/framing/buffered.go:47
github.com/rsocket/rsocket-go/core/framing.(*bufferedFrame).trySeekMetadataLen(0xc00007ea80?, 0x5578bb59a7cd?)
        /go/pkg/mod/github.com/rsocket/rsocket-go@v0.8.12/core/framing/buffered.go:100 +0x19d
github.com/rsocket/rsocket-go/core/framing.(*bufferedFrame).trySliceMetadata(0xc000c75f50, 0x0)
        /go/pkg/mod/github.com/rsocket/rsocket-go@v0.8.12/core/framing/buffered.go:113 +0x27
github.com/rsocket/rsocket-go/core/framing.(*PayloadFrame).Metadata(0x1b2?)
        /go/pkg/mod/github.com/rsocket/rsocket-go@v0.8.12/core/framing/payload.go:61 +0x1e 

Please provide any suggestion/advise if we're missing anything here.

Your Environment

go version: 1.19.4 rsocket library version: v0.8.12 libraries used: rx/subscriber.go which uses reactor.Subscription (reactor-go/subscriber.go)