ionorg / ion-sfu

Pure Go WebRTC SFU

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

nil pointer dereference when removing peer

kevmo314 opened this issue · comments

ion-sfu crashes here: https://github.com/pion/ion-sfu/blob/master/cmd/signal/grpc/server/server.go#L93

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0x934cae]

goroutine 545 [running]:
github.com/pion/ion-sfu/pkg/sfu.(*Subscriber).DownTracks(0xc000210d20)
        /home/.../ion-sfu/pkg/sfu/subscriber.go:222 +0x4e
github.com/pion/ion-sfu/cmd/signal/grpc/server.(*SFUServer).Signal.func1()
        /home/.../ion-sfu/cmd/signal/grpc/server/server.go:93 +0x2c5
github.com/pion/ion-sfu/cmd/signal/grpc/server.(*SFUServer).Signal(0xc000121488, {0xe2b8f8, 0xc0000421c0})
        /home/.../ion-sfu/cmd/signal/grpc/server/server.go:118 +0x2106
github.com/pion/ion/proto/rtc._RTC_Signal_Handler({0xc7f840, 0xc000121488}, {0xe24320, 0xc00000e198})
        /root/go/pkg/mod/github.com/pion/ion@v1.10.0/proto/rtc/rtc_grpc.pb.go:92 +0x9f
github.com/grpc-ecosystem/go-grpc-prometheus.(*ServerMetrics).StreamServerInterceptor.func1({0xc7f840, 0xc000121488}, {0xe245f0, 0xc000014000}, 0xba1480, 0xd3c608)
        /root/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-prometheus@v1.2.0/server_metrics.go:121 +0x109
google.golang.org/grpc.(*Server).processStreamingRPC(0xc0001a7a40, {0xe2c140, 0xc0001a8180}, 0xc000146360, 0xc00024b290, 0x1389940, 0x0)
        /root/go/pkg/mod/google.golang.org/grpc@v1.41.0/server.go:1539 +0xe9a
google.golang.org/grpc.(*Server).handleStream(0xc0001a7a40, {0xe2c140, 0xc0001a8180}, 0xc000146360, 0x0)
        /root/go/pkg/mod/google.golang.org/grpc@v1.41.0/server.go:1612 +0x9e5
google.golang.org/grpc.(*Server).serveStreams.func1.2()
        /root/go/pkg/mod/google.golang.org/grpc@v1.41.0/server.go:923 +0x98
created by google.golang.org/grpc.(*Server).serveStreams.func1
        /root/go/pkg/mod/google.golang.org/grpc@v1.41.0/server.go:921 +0x294
exit status 2