Skip to content

Instantly share code, notes, and snippets.

@tab1293
Created February 1, 2021 19:09
Show Gist options
  • Save tab1293/2c304b132d497927a6e94cdc168c9cba to your computer and use it in GitHub Desktop.
Save tab1293/2c304b132d497927a6e94cdc168c9cba to your computer and use it in GitHub Desktop.
Pion NACK interceptor race
==================
WARNING: DATA RACE
Read at 0x00c00037601a by goroutine 103:
github.com/pion/interceptor/pkg/nack.(*sendBuffer).get()
/go/pkg/mod/github.com/pion/interceptor@v0.0.8/pkg/nack/send_buffer.go:64 +0x8b
github.com/pion/interceptor/pkg/nack.(*ResponderInterceptor).resendPackets.func1()
/go/pkg/mod/github.com/pion/interceptor@v0.0.8/pkg/nack/responder_interceptor.go:104 +0x59
github.com/pion/rtcp.(*NackPair).Range()
/go/pkg/mod/github.com/pion/rtcp@v1.2.6/transport_layer_nack.go:64 +0x54
github.com/pion/interceptor/pkg/nack.(*ResponderInterceptor).resendPackets()
/go/pkg/mod/github.com/pion/interceptor@v0.0.8/pkg/nack/responder_interceptor.go:103 +0x106
Previous write at 0x00c00037601a by goroutine 22:
github.com/pion/interceptor/pkg/nack.(*sendBuffer).add()
/go/pkg/mod/github.com/pion/interceptor@v0.0.8/pkg/nack/send_buffer.go:60 +0x238
github.com/pion/interceptor/pkg/nack.(*ResponderInterceptor).BindLocalStream.func1()
/go/pkg/mod/github.com/pion/interceptor@v0.0.8/pkg/nack/responder_interceptor.go:84 +0x1b0
github.com/pion/interceptor.RTPWriterFunc.Write()
/go/pkg/mod/github.com/pion/interceptor@v0.0.8/interceptor.go:82 +0x72
github.com/pion/webrtc/v3.(*interceptorToTrackLocalWriter).WriteRTP()
/go/pkg/mod/github.com/pion/webrtc/v3@v3.0.1/interceptor.go:46 +0xf5
github.com/pion/webrtc/v3.(*TrackLocalStaticRTP).WriteRTP()
/go/pkg/mod/github.com/pion/webrtc/v3@v3.0.1/track_local_static.go:120 +0x308
github.com/pion/webrtc/v3.(*TrackLocalStaticRTP).Write()
/go/pkg/mod/github.com/pion/webrtc/v3@v3.0.1/track_local_static.go:138 +0x116
main.(*host).addTrack()
/build/host.go:307 +0x1684
main.(*host).addTrack-fm()
/build/host.go:197 +0x55
Goroutine 103 (running) created at:
github.com/pion/interceptor/pkg/nack.(*ResponderInterceptor).BindRTCPReader.func1()
/go/pkg/mod/github.com/pion/interceptor@v0.0.8/pkg/nack/responder_interceptor.go:65 +0x195
github.com/pion/interceptor.RTCPReaderFunc.Read()
/go/pkg/mod/github.com/pion/interceptor@v0.0.8/interceptor.go:97 +0x68
github.com/pion/webrtc/v3.(*RTPSender).Read()
/go/pkg/mod/github.com/pion/webrtc/v3@v3.0.1/rtpsender.go:214 +0x21c
github.com/pion/webrtc/v3.(*RTPSender).ReadRTCP()
/go/pkg/mod/github.com/pion/webrtc/v3@v3.0.1/rtpsender.go:223 +0x85
main.(*viewer).addTrack.func1()
/build/viewer.go:154 +0x56
Goroutine 22 (running) created at:
github.com/pion/webrtc/v3.(*PeerConnection).onTrack()
/go/pkg/mod/github.com/pion/webrtc/v3@v3.0.1/peerconnection.go:438 +0x164
github.com/pion/webrtc/v3.(*PeerConnection).startReceiver.func1()
/go/pkg/mod/github.com/pion/webrtc/v3@v3.0.1/peerconnection.go:1163 +0x58a
==================
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment