murkland / tango-legacy

last generation rollback netplay for mega man battle network / 前世代のロックマンエグゼのロールバックネットプレイ
GNU Affero General Public License v3.0
3 stars 0 forks source link

blip_read_samples crashes on startup #15

Closed bigfarts closed 2 years ago

bigfarts commented 2 years ago
Exception 0xc0000005 0x1 0xc000858000 0x7ff6bc932670
PC=0x7ff6bc932670
signal arrived during external code execution

runtime.cgocall(0x7ff6bc8ce580, 0xc0009bfd38)
        runtime/cgocall.go:157 +0x4a fp=0xc0009bfd10 sp=0xc0009bfcd8 pc=0x7ff6bc374b0a
github.com/murkland/bbn6/mgba._Cfunc_blip_read_samples(0x26d66275970, 0xc000857000, 0x402, 0x1)
        _cgo_gotypes.go:1702 +0x5a fp=0xc0009bfd38 sp=0xc0009bfd10 pc=0x7ff6bc57da7a
github.com/murkland/bbn6/mgba.(*Blip).ReadSamples.func1(0x26d66275970?, 0xc0009bfd98?, 0x402, 0x1)
        github.com/murkland/bbn6/mgba/blip.go:28 +0x71 fp=0xc0009bfd78 sp=0xc0009bfd38 pc=0x7ff6bc57f151
github.com/murkland/bbn6/mgba.(*Blip).ReadSamples(0x3f800000?, 0x40000003f800000?, 0xc07f800000?, 0xc6?)
        github.com/murkland/bbn6/mgba/blip.go:28 +0x1d fp=0xc0009bfda8 sp=0xc0009bfd78 pc=0x7ff6bc57f09d
github.com/murkland/bbn6/av.(*AudioReader).Read(0xc000475fc0, {0xc000857000, 0x1000, 0x1000})
        github.com/murkland/bbn6/av/audioreader.go:47 +0x267 fp=0xc0009bfe38 sp=0xc0009bfda8 pc=0x7ff6bc58c1e7
github.com/hajimehoshi/oto/v2.(*playerImpl).readSourceToBuffer(0xc0004242d0)
        github.com/hajimehoshi/oto/v2@v2.1.0-alpha.2/player_notjs.go:386 +0x1f8 fp=0xc0009bfee0 sp=0xc0009bfe38 pc=0x7ff6bc589d18
github.com/hajimehoshi/oto/v2.(*players).loop(0xc0005be3c0)
        github.com/hajimehoshi/oto/v2@v2.1.0-alpha.2/player_notjs.go:71 +0x185 fp=0xc0009bffc8 sp=0xc0009bfee0 pc=0x7ff6bc587bc5
github.com/hajimehoshi/oto/v2.newPlayers.func1()
        github.com/hajimehoshi/oto/v2@v2.1.0-alpha.2/player_notjs.go:36 +0x26 fp=0xc0009bffe0 sp=0xc0009bffc8 pc=0x7ff6bc587826
runtime.goexit()
        runtime/asm_amd64.s:1571 +0x1 fp=0xc0009bffe8 sp=0xc0009bffe0 pc=0x7ff6bc3d4921
created by github.com/hajimehoshi/oto/v2.newPlayers
        github.com/hajimehoshi/oto/v2@v2.1.0-alpha.2/player_notjs.go:36 +0xd8

goroutine 1 [chan receive, locked to thread]:
github.com/hajimehoshi/ebiten/v2/internal/thread.(*OSThread).Loop(0xc000532050)
        github.com/hajimehoshi/ebiten/v2@v2.2.5/internal/thread/thread.go:50 +0x5f
github.com/hajimehoshi/ebiten/v2/internal/uidriver/glfw.(*UserInterface).Run(0x7ff6bcab64c0, {0x7ff6bcce2ec0?, 0x7ff6bd0927c0?})
        github.com/hajimehoshi/ebiten/v2@v2.2.5/internal/uidriver/glfw/run_notsinglethread.go:60 +0x1c2
github.com/hajimehoshi/ebiten/v2.RunGame({0x7ff6bcce1b70?, 0xc000424480})
        github.com/hajimehoshi/ebiten/v2@v2.2.5/run.go:160 +0xe5
main.main()
        github.com/murkland/bbn6/main.go:119 +0x79b

goroutine 7 [select]:
github.com/pion/interceptor/pkg/nack.(*GeneratorInterceptor).loop(0xc0000666e0, {0x7ff6bccdf4a0, 0xc000413410})
        github.com/pion/interceptor@v0.1.7/pkg/nack/generator_interceptor.go:139 +0x15a
created by github.com/pion/interceptor/pkg/nack.(*GeneratorInterceptor).BindRTCPWriter
        github.com/pion/interceptor@v0.1.7/pkg/nack/generator_interceptor.go:74 +0x12d

goroutine 8 [select]:
github.com/pion/interceptor/pkg/report.(*ReceiverInterceptor).loop(0xc000622770, {0x7ff6bccdf4a0, 0xc000413410})
        github.com/pion/interceptor@v0.1.7/pkg/report/receiver_interceptor.go:97 +0x1a5
created by github.com/pion/interceptor/pkg/report.(*ReceiverInterceptor).BindRTCPWriter
        github.com/pion/interceptor@v0.1.7/pkg/report/receiver_interceptor.go:86 +0x12d

goroutine 9 [select]:
github.com/pion/interceptor/pkg/report.(*SenderInterceptor).loop(0xc0006227e0, {0x7ff6bccdf4a0, 0xc000413410})
        github.com/pion/interceptor@v0.1.7/pkg/report/sender_interceptor.go:98 +0x1a5
created by github.com/pion/interceptor/pkg/report.(*SenderInterceptor).BindRTCPWriter
        github.com/pion/interceptor@v0.1.7/pkg/report/sender_interceptor.go:87 +0x12d

goroutine 10 [select]:
github.com/pion/interceptor/pkg/twcc.(*SenderInterceptor).loop(0xc00002e3c0, {0x7ff6bccdf4a0, 0xc000413410})
        github.com/pion/interceptor@v0.1.7/pkg/twcc/sender_interceptor.go:171 +0x125
created by github.com/pion/interceptor/pkg/twcc.(*SenderInterceptor).BindRTCPWriter
        github.com/pion/interceptor@v0.1.7/pkg/twcc/sender_interceptor.go:87 +0x185

goroutine 12 [IO wait]:
internal/poll.runtime_pollWait(0x26d6580f6d8, 0x72)
        runtime/netpoll.go:302 +0x89
internal/poll.(*pollDesc).wait(0x6f6c2e7063745f2e?, 0x2e6c6163?, 0x0)
        internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.execIO(0xc0005a2298, 0x7ff6bcc38780)
        internal/poll/fd_windows.go:175 +0xe5
internal/poll.(*FD).ReadFromInet4(0xc0005a2280, {0xc00068a000, 0x0?, 0x0?}, 0xc000271c90)
        internal/poll/fd_windows.go:610 +0x13e
net.(*netFD).readFromInet4(0xc0005a2280, {0xc00068a000?, 0xc00058e770?, 0xc000271ca0?}, 0x7ff6bc388325?)
        net/fd_posix.go:66 +0x29
net.(*UDPConn).readFrom(0xc000056800?, {0xc00068a000?, 0x0?, 0xc00058e030?}, 0xc0008001e0)
        net/udpsock_posix.go:52 +0x1b8
net.(*UDPConn).readFromUDP(0xc000006670, {0xc00068a000?, 0x100000000000000?, 0x0?}, 0xc000271dd0?)
        net/udpsock.go:149 +0x31
net.(*UDPConn).ReadFrom(0x7ff6bc4df314?, {0xc00068a000, 0x200, 0x200})
        net/udpsock.go:158 +0x50
golang.org/x/net/ipv4.(*payloadHandler).ReadFrom(0xc000646800?, {0xc00068a000?, 0xc00068a000?, 0x200?})
        golang.org/x/net@v0.0.0-20220127200216-cd36cc0744dd/ipv4/payload_nocmsg.go:20 +0x42
github.com/pion/mdns.(*Conn).start(0xc000646800)
        github.com/pion/mdns@v0.0.5/conn.go:258 +0x107
created by github.com/pion/mdns.Server
        github.com/pion/mdns@v0.0.5/conn.go:98 +0x42a

goroutine 13 [select]:
github.com/pion/ice/v2.(*Agent).taskLoop(0xc000359080)
        github.com/pion/ice/v2@v2.1.20/agent.go:221 +0x145
created by github.com/pion/ice/v2.NewAgent
        github.com/pion/ice/v2@v2.1.20/agent.go:354 +0xc45

goroutine 14 [chan receive]:
github.com/pion/ice/v2.(*Agent).startOnConnectionStateChangeRoutine.func1()
        github.com/pion/ice/v2@v2.1.20/agent.go:410 +0x48
created by github.com/pion/ice/v2.(*Agent).startOnConnectionStateChangeRoutine
        github.com/pion/ice/v2@v2.1.20/agent.go:406 +0x5a

goroutine 15 [select]:
github.com/pion/ice/v2.(*Agent).startOnConnectionStateChangeRoutine.func2()
        github.com/pion/ice/v2@v2.1.20/agent.go:419 +0xad
created by github.com/pion/ice/v2.(*Agent).startOnConnectionStateChangeRoutine
        github.com/pion/ice/v2@v2.1.20/agent.go:417 +0x97

goroutine 36 [select]:
context.propagateCancel.func1()
        context/context.go:279 +0x9e
created by context.propagateCancel
        context/context.go:278 +0x1cb

goroutine 48 [select]:
github.com/pion/transport/packetio.(*Buffer).Read(0xc00051a960, {0xc000888000, 0x2000, 0x2000})
        github.com/pion/transport@v0.13.0/packetio/buffer.go:266 +0x168
github.com/pion/webrtc/v3/internal/mux.(*Endpoint).Read(0x7ff6bcb05640?, {0xc000888000?, 0x26d5ebd0108?, 0x18?})
        github.com/pion/webrtc/v3@v3.1.23/internal/mux/endpoint.go:37 +0x25
github.com/pion/transport/connctx.(*connCtx).ReadContext(0xc00071c080, {0x7ff6bcce2d00?, 0xc00071c140}, {0xc000888000, 0x2000, 0x2000})
        github.com/pion/transport@v0.13.0/connctx/connctx.go:93 +0x22e
github.com/pion/dtls/v2.(*Conn).readAndBuffer(0xc0000b6000, {0x7ff6bcce2d00, 0xc00071c140})
        github.com/pion/dtls/v2@v2.1.2/conn.go:562 +0x10e
github.com/pion/dtls/v2.(*Conn).handshake.func3()
        github.com/pion/dtls/v2@v2.1.2/conn.go:846 +0xfd
created by github.com/pion/dtls/v2.(*Conn).handshake
        github.com/pion/dtls/v2@v2.1.2/conn.go:835 +0x3dd

goroutine 261 [chan receive]:
github.com/pion/srtp/v2.(*SessionSRTP).AcceptStream(0x0?)
        github.com/pion/srtp/v2@v2.0.5/session_srtp.go:93 +0x2c
github.com/pion/webrtc/v3.(*PeerConnection).undeclaredMediaProcessor.func1()
        github.com/pion/webrtc/v3@v3.1.23/peerconnection.go:1559 +0xf1
created by github.com/pion/webrtc/v3.(*PeerConnection).undeclaredMediaProcessor
        github.com/pion/webrtc/v3@v3.1.23/peerconnection.go:1550 +0x5a

goroutine 52 [IO wait]:
internal/poll.runtime_pollWait(0x26d6580f5e8, 0x72)
        runtime/netpoll.go:302 +0x89
internal/poll.(*pollDesc).wait(0x10000004d9cb0?, 0x0?, 0x0)
        internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.execIO(0xc0005a2518, 0x7ff6bcc38788)
        internal/poll/fd_windows.go:175 +0xe5
internal/poll.(*FD).ReadFromInet6(0xc0005a2500, {0xc000536000, 0x7ff6bc3b9200?, 0x0?}, 0xc0004d9dd0)
        internal/poll/fd_windows.go:639 +0x13e
net.(*netFD).readFromInet6(0xc0005a2500, {0xc000536000?, 0x100c0004d9da8?, 0x26d666a0800?}, 0x0?)
        net/fd_posix.go:72 +0x29
net.(*UDPConn).readFrom(0xc000700000?, {0xc000536000?, 0x0?, 0x28?}, 0xc000800270)
        net/udpsock_posix.go:59 +0x85
net.(*UDPConn).readFromUDP(0xc000006718, {0xc000536000?, 0x7ff6bc3baed2?, 0x2000?}, 0xc000554190?)
        net/udpsock.go:149 +0x31
net.(*UDPConn).ReadFrom(0x7ff6bcce5d80?, {0xc000536000, 0x2000, 0x2000})
        net/udpsock.go:158 +0x50
github.com/pion/ice/v2.(*candidateBase).recvLoop(0xc0000a7040, 0xc00009e8e0?)
        github.com/pion/ice/v2@v2.1.20/candidate_base.go:222 +0x1a9
created by github.com/pion/ice/v2.(*candidateBase).start
        github.com/pion/ice/v2@v2.1.20/candidate_base.go:205 +0x14a

goroutine 85 [IO wait]:
internal/poll.runtime_pollWait(0x26d6580eaa8, 0x72)
        runtime/netpoll.go:302 +0x89
internal/poll.(*pollDesc).wait(0xc00004d1e0?, 0xc000927c98?, 0x0)
        internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.execIO(0xc000694518, 0x7ff6bcc38780)
        internal/poll/fd_windows.go:175 +0xe5
internal/poll.(*FD).ReadFromInet4(0xc000694500, {0xc000072000, 0xc000586840?, 0x0?}, 0xc000927db0)
        internal/poll/fd_windows.go:610 +0x13e
net.(*netFD).readFromInet4(0xc000694500, {0xc000072000?, 0xc00004d1e0?, 0xc00004d268?}, 0xc000586890?)
        net/fd_posix.go:66 +0x29
net.(*UDPConn).readFrom(0xc000700000?, {0xc000072000?, 0x0?, 0xc00069e0c0?}, 0xc0005bf590)
        net/udpsock_posix.go:52 +0x1b8
net.(*UDPConn).readFromUDP(0xc0000d00a0, {0xc000072000?, 0x7ff6bc3baed2?, 0x2000?}, 0xc0006a09a0?)
        net/udpsock.go:149 +0x31
net.(*UDPConn).ReadFrom(0x7ff6bcce5d80?, {0xc000072000, 0x2000, 0x2000})
        net/udpsock.go:158 +0x50
github.com/pion/ice/v2.(*candidateBase).recvLoop(0xc00069e0c0, 0x0?)
        github.com/pion/ice/v2@v2.1.20/candidate_base.go:222 +0x1a9
created by github.com/pion/ice/v2.(*candidateBase).start
        github.com/pion/ice/v2@v2.1.20/candidate_base.go:205 +0x14a

goroutine 181 [IO wait]:
internal/poll.runtime_pollWait(0x26d6580e7d8, 0x72)
        runtime/netpoll.go:302 +0x89
internal/poll.(*pollDesc).wait(0xc00004d520?, 0xc000923c98?, 0x0)
        internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.execIO(0xc000694a18, 0x7ff6bcc38780)
        internal/poll/fd_windows.go:175 +0xe5
internal/poll.(*FD).ReadFromInet4(0xc000694a00, {0xc00008e000, 0xc0000d8840?, 0x0?}, 0xc000923db0)
        internal/poll/fd_windows.go:610 +0x13e
net.(*netFD).readFromInet4(0xc000694a00, {0xc00008e000?, 0xc00004d520?, 0xc00004d5a8?}, 0xc0000d8890?)
        net/fd_posix.go:66 +0x29
net.(*UDPConn).readFrom(0xc000500c00?, {0xc00008e000?, 0x0?, 0xc00082a0c0?}, 0xc0005bf4d0)
        net/udpsock_posix.go:52 +0x1b8
net.(*UDPConn).readFromUDP(0xc0000d00b0, {0xc00008e000?, 0x7ff6bc3baed2?, 0x2000?}, 0xc0000eee70?)
        net/udpsock.go:149 +0x31
net.(*UDPConn).ReadFrom(0x7ff6bcce5d80?, {0xc00008e000, 0x2000, 0x2000})
        net/udpsock.go:158 +0x50
github.com/pion/ice/v2.(*candidateBase).recvLoop(0xc00082a0c0, 0x0?)
        github.com/pion/ice/v2@v2.1.20/candidate_base.go:222 +0x1a9
created by github.com/pion/ice/v2.(*candidateBase).start
        github.com/pion/ice/v2@v2.1.20/candidate_base.go:205 +0x14a

goroutine 44 [select]:
net/http.(*persistConn).writeLoop(0xc0002d4900)
        net/http/transport.go:2386 +0xf5
created by net/http.(*Transport).dialConn
        net/http/transport.go:1748 +0x1791

goroutine 43 [IO wait]:
internal/poll.runtime_pollWait(0x26d65684dd8, 0x72)
        runtime/netpoll.go:302 +0x89
internal/poll.(*pollDesc).wait(0x7ff6bc3d7133?, 0x623c27ed?, 0x0)
        internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.execIO(0xc0004de798, 0x7ff6bcc38770)
        internal/poll/fd_windows.go:175 +0xe5
internal/poll.(*FD).Read(0xc0004de780, {0xc00032e000, 0x1000, 0x1000})
        internal/poll/fd_windows.go:441 +0x25f
net.(*netFD).Read(0xc0004de780, {0xc00032e000?, 0x7ff6bc3771d0?, 0x4?})
        net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc0004cc068, {0xc00032e000?, 0xc0004cc060?, 0x1?})
        net/net.go:183 +0x45
net/http.(*persistConn).Read(0xc0002d4900, {0xc00032e000?, 0xc00068e3c0?, 0xc000937d30?})
        net/http/transport.go:1926 +0x4e
bufio.(*Reader).fill(0xc0000d85a0)
        bufio/bufio.go:106 +0x103
bufio.(*Reader).Peek(0xc0000d85a0, 0x1)
        bufio/bufio.go:144 +0x5d
net/http.(*persistConn).readLoop(0xc0002d4900)
        net/http/transport.go:2087 +0x1ac
created by net/http.(*Transport).dialConn
        net/http/transport.go:1747 +0x173e

goroutine 84 [IO wait]:
internal/poll.runtime_pollWait(0x26d6580ee68, 0x72)
        runtime/netpoll.go:302 +0x89
internal/poll.(*pollDesc).wait(0xc000084340?, 0xc000529c98?, 0x0)
        internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.execIO(0xc0004de018, 0x7ff6bcc38780)
        internal/poll/fd_windows.go:175 +0xe5
internal/poll.(*FD).ReadFromInet4(0xc0004de000, {0xc0003f8000, 0xc00024e180?, 0x0?}, 0xc000529db0)
        internal/poll/fd_windows.go:610 +0x13e
net.(*netFD).readFromInet4(0xc0004de000, {0xc0003f8000?, 0xc000084340?, 0xc0000843c8?}, 0xc00024e1d0?)
        net/fd_posix.go:66 +0x29
net.(*UDPConn).readFrom(0xc000700000?, {0xc0003f8000?, 0x0?, 0xc00069e000?}, 0xc0005bf5f0)
        net/udpsock_posix.go:52 +0x1b8
net.(*UDPConn).readFromUDP(0xc0004cc018, {0xc0003f8000?, 0x7ff6bc3baed2?, 0x2000?}, 0xc000026bd0?)
        net/udpsock.go:149 +0x31
net.(*UDPConn).ReadFrom(0x7ff6bcce5d80?, {0xc0003f8000, 0x2000, 0x2000})
        net/udpsock.go:158 +0x50
github.com/pion/ice/v2.(*candidateBase).recvLoop(0xc00069e000, 0x0?)
        github.com/pion/ice/v2@v2.1.20/candidate_base.go:222 +0x1a9
created by github.com/pion/ice/v2.(*candidateBase).start
        github.com/pion/ice/v2@v2.1.20/candidate_base.go:205 +0x14a

goroutine 180 [IO wait]:
internal/poll.runtime_pollWait(0x26d6580e8c8, 0x72)
        runtime/netpoll.go:302 +0x89
internal/poll.(*pollDesc).wait(0xc00080c340?, 0xc0007abc98?, 0x0)
        internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.execIO(0xc000694798, 0x7ff6bcc38780)
        internal/poll/fd_windows.go:175 +0xe5
internal/poll.(*FD).ReadFromInet4(0xc000694780, {0xc000090000, 0xc00051a840?, 0x0?}, 0xc0007abdb0)
        internal/poll/fd_windows.go:610 +0x13e
net.(*netFD).readFromInet4(0xc000694780, {0xc000090000?, 0xc00080c340?, 0xc00080c3c8?}, 0xc00051a890?)
        net/fd_posix.go:66 +0x29
net.(*UDPConn).readFrom(0xc000080800?, {0xc000090000?, 0x0?, 0xc00082a000?}, 0xc000195410)
        net/udpsock_posix.go:52 +0x1b8
net.(*UDPConn).readFromUDP(0xc0000d00a8, {0xc000090000?, 0x7ff6bc3baed2?, 0x2000?}, 0xc000548930?)
        net/udpsock.go:149 +0x31
net.(*UDPConn).ReadFrom(0x7ff6bcce5d80?, {0xc000090000, 0x2000, 0x2000})
        net/udpsock.go:158 +0x50
github.com/pion/ice/v2.(*candidateBase).recvLoop(0xc00082a000, 0x0?)
        github.com/pion/ice/v2@v2.1.20/candidate_base.go:222 +0x1a9
created by github.com/pion/ice/v2.(*candidateBase).start
        github.com/pion/ice/v2@v2.1.20/candidate_base.go:205 +0x14a

goroutine 53 [IO wait]:
internal/poll.runtime_pollWait(0x26d6580f4f8, 0x72)
        runtime/netpoll.go:302 +0x89
internal/poll.(*pollDesc).wait(0xc000402680?, 0xc00094fc98?, 0x0)
        internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.execIO(0xc0005a2798, 0x7ff6bcc38780)
        internal/poll/fd_windows.go:175 +0xe5
internal/poll.(*FD).ReadFromInet4(0xc0005a2780, {0xc0001aa000, 0xc0000d8b40?, 0x0?}, 0xc00094fdb0)
        internal/poll/fd_windows.go:610 +0x13e
net.(*netFD).readFromInet4(0xc0005a2780, {0xc0001aa000?, 0xc000402680?, 0xc000402708?}, 0xc0000d8b90?)
        net/fd_posix.go:66 +0x29
net.(*UDPConn).readFrom(0xc000500400?, {0xc0001aa000?, 0x0?, 0xc0000a7110?}, 0xc0001953e0)
        net/udpsock_posix.go:52 +0x1b8
net.(*UDPConn).readFromUDP(0xc000006720, {0xc0001aa000?, 0x7ff6bc3baed2?, 0x2000?}, 0xc0006a0930?)
        net/udpsock.go:149 +0x31
net.(*UDPConn).ReadFrom(0x7ff6bcce5d80?, {0xc0001aa000, 0x2000, 0x2000})
        net/udpsock.go:158 +0x50
github.com/pion/ice/v2.(*candidateBase).recvLoop(0xc0000a7110, 0x0?)
        github.com/pion/ice/v2@v2.1.20/candidate_base.go:222 +0x1a9
created by github.com/pion/ice/v2.(*candidateBase).start
        github.com/pion/ice/v2@v2.1.20/candidate_base.go:205 +0x14a

goroutine 54 [IO wait]:
internal/poll.runtime_pollWait(0x26d6580f408, 0x72)
        runtime/netpoll.go:302 +0x89
internal/poll.(*pollDesc).wait(0xc0005a2a18?, 0x26d6566d018?, 0x0)
        internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.execIO(0xc0005a2a18, 0x7ff6bcc38788)
        internal/poll/fd_windows.go:175 +0xe5
internal/poll.(*FD).ReadFromInet6(0xc0005a2a00, {0xc00053a000, 0x7ff6bc388e7c?, 0x0?}, 0xc0007a9dd0)
        internal/poll/fd_windows.go:639 +0x13e
net.(*netFD).readFromInet6(0xc0005a2a00, {0xc00053a000?, 0x2000?, 0x0?}, 0x1003aa3b6?)
        net/fd_posix.go:72 +0x29
net.(*UDPConn).readFrom(0xc000580400?, {0xc00053a000?, 0x0?, 0x101c0007a9f98?}, 0xc000800150)
        net/udpsock_posix.go:59 +0x85
net.(*UDPConn).readFromUDP(0xc000006728, {0xc00053a000?, 0x7ff6bc3baed2?, 0x2000?}, 0x7ff6bcb11020?)
        net/udpsock.go:149 +0x31
net.(*UDPConn).ReadFrom(0xc0007a9f88?, {0xc00053a000, 0x2000, 0x2000})
        net/udpsock.go:158 +0x50
github.com/pion/ice/v2.(*candidateBase).recvLoop(0xc0000a71e0, 0x0?)
        github.com/pion/ice/v2@v2.1.20/candidate_base.go:222 +0x1a9
created by github.com/pion/ice/v2.(*candidateBase).start
        github.com/pion/ice/v2@v2.1.20/candidate_base.go:205 +0x14a

goroutine 40 [IO wait]:
internal/poll.runtime_pollWait(0x26d6580ed78, 0x72)
        runtime/netpoll.go:302 +0x89
internal/poll.(*pollDesc).wait(0xc0002021a0?, 0xc00094bc98?, 0x0)
        internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.execIO(0xc000694018, 0x7ff6bcc38780)
        internal/poll/fd_windows.go:175 +0xe5
internal/poll.(*FD).ReadFromInet4(0xc000694000, {0xc000170000, 0xc0000d8840?, 0x0?}, 0xc00094bdb0)
        internal/poll/fd_windows.go:610 +0x13e
net.(*netFD).readFromInet4(0xc000694000, {0xc000170000?, 0xc0002021a0?, 0xc000202228?}, 0xc0000d8890?)
        net/fd_posix.go:66 +0x29
net.(*UDPConn).readFrom(0xc000500400?, {0xc000170000?, 0x0?, 0xc0004e4000?}, 0xc000812480)
        net/udpsock_posix.go:52 +0x1b8
net.(*UDPConn).readFromUDP(0xc0000d0090, {0xc000170000?, 0x7ff6bc3baed2?, 0x2000?}, 0xc000026c40?)
        net/udpsock.go:149 +0x31
net.(*UDPConn).ReadFrom(0x7ff6bcce5d80?, {0xc000170000, 0x2000, 0x2000})
        net/udpsock.go:158 +0x50
github.com/pion/ice/v2.(*candidateBase).recvLoop(0xc0004e4000, 0x0?)
        github.com/pion/ice/v2@v2.1.20/candidate_base.go:222 +0x1a9
created by github.com/pion/ice/v2.(*candidateBase).start
        github.com/pion/ice/v2@v2.1.20/candidate_base.go:205 +0x14a

goroutine 55 [IO wait]:
internal/poll.runtime_pollWait(0x26d6580f318, 0x72)
        runtime/netpoll.go:302 +0x89
internal/poll.(*pollDesc).wait(0xc0005a2c98?, 0x26d65668a12?, 0x0)
        internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.execIO(0xc0005a2c98, 0x7ff6bcc38780)
        internal/poll/fd_windows.go:175 +0xe5
internal/poll.(*FD).ReadFromInet4(0xc0005a2c80, {0xc000092000, 0x7ff6bc388e7c?, 0x0?}, 0xc000957db0)
        internal/poll/fd_windows.go:610 +0x13e
net.(*netFD).readFromInet4(0xc0005a2c80, {0xc000092000?, 0x2000?, 0x0?}, 0x1003aa3b6?)
        net/fd_posix.go:66 +0x29
net.(*UDPConn).readFrom(0xc000056c00?, {0xc000092000?, 0x0?, 0x101c000957f98?}, 0xc000220e40)
        net/udpsock_posix.go:52 +0x1b8
net.(*UDPConn).readFromUDP(0xc000006730, {0xc000092000?, 0x7ff6bc3baed2?, 0x2000?}, 0x7ff6bcb11020?)
        net/udpsock.go:149 +0x31
net.(*UDPConn).ReadFrom(0xc000957f88?, {0xc000092000, 0x2000, 0x2000})
        net/udpsock.go:158 +0x50
github.com/pion/ice/v2.(*candidateBase).recvLoop(0xc0000a72b0, 0x0?)
        github.com/pion/ice/v2@v2.1.20/candidate_base.go:222 +0x1a9
created by github.com/pion/ice/v2.(*candidateBase).start
        github.com/pion/ice/v2@v2.1.20/candidate_base.go:205 +0x14a

goroutine 56 [IO wait]:
internal/poll.runtime_pollWait(0x26d6580f228, 0x72)
        runtime/netpoll.go:302 +0x89
internal/poll.(*pollDesc).wait(0xc0005a2f18?, 0x26d6566d01e?, 0x0)
        internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.execIO(0xc0005a2f18, 0x7ff6bcc38788)
        internal/poll/fd_windows.go:175 +0xe5
internal/poll.(*FD).ReadFromInet6(0xc0005a2f00, {0xc000538000, 0x7ff6bc388e7c?, 0x0?}, 0xc000949dd0)
        internal/poll/fd_windows.go:639 +0x13e
net.(*netFD).readFromInet6(0xc0005a2f00, {0xc000538000?, 0x2000?, 0x0?}, 0x1003aa3b6?)
        net/fd_posix.go:72 +0x29
net.(*UDPConn).readFrom(0xc000580400?, {0xc000538000?, 0x0?, 0x101c000949f98?}, 0xc0008000f0)
        net/udpsock_posix.go:59 +0x85
net.(*UDPConn).readFromUDP(0xc000006738, {0xc000538000?, 0x7ff6bc3baed2?, 0x2000?}, 0x7ff6bcb11020?)
        net/udpsock.go:149 +0x31
net.(*UDPConn).ReadFrom(0xc000949f88?, {0xc000538000, 0x2000, 0x2000})
        net/udpsock.go:158 +0x50
github.com/pion/ice/v2.(*candidateBase).recvLoop(0xc0000a7380, 0x0?)
        github.com/pion/ice/v2@v2.1.20/candidate_base.go:222 +0x1a9
created by github.com/pion/ice/v2.(*candidateBase).start
        github.com/pion/ice/v2@v2.1.20/candidate_base.go:205 +0x14a

goroutine 57 [IO wait]:
internal/poll.runtime_pollWait(0x26d6580f138, 0x72)
        runtime/netpoll.go:302 +0x89
internal/poll.(*pollDesc).wait(0xc0005a3198?, 0x26d65668a18?, 0x0)
        internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.execIO(0xc0005a3198, 0x7ff6bcc38788)
        internal/poll/fd_windows.go:175 +0xe5
internal/poll.(*FD).ReadFromInet6(0xc0005a3180, {0xc000478000, 0x7ff6bc388e7c?, 0x0?}, 0xc000953dd0)
        internal/poll/fd_windows.go:639 +0x13e
net.(*netFD).readFromInet6(0xc0005a3180, {0xc000478000?, 0x2000?, 0x0?}, 0x1003aa3b6?)
        net/fd_posix.go:72 +0x29
net.(*UDPConn).readFrom(0xc000500400?, {0xc000478000?, 0x0?, 0x101c000953f98?}, 0xc0004d2090)
        net/udpsock_posix.go:59 +0x85
net.(*UDPConn).readFromUDP(0xc000006740, {0xc000478000?, 0x7ff6bc3baed2?, 0x2000?}, 0x7ff6bcb11020?)
        net/udpsock.go:149 +0x31
net.(*UDPConn).ReadFrom(0xc000953f88?, {0xc000478000, 0x2000, 0x2000})
        net/udpsock.go:158 +0x50
github.com/pion/ice/v2.(*candidateBase).recvLoop(0xc0000a7450, 0x0?)
        github.com/pion/ice/v2@v2.1.20/candidate_base.go:222 +0x1a9
created by github.com/pion/ice/v2.(*candidateBase).start
        github.com/pion/ice/v2@v2.1.20/candidate_base.go:205 +0x14a

goroutine 58 [IO wait]:
internal/poll.runtime_pollWait(0x26d6580f048, 0x72)
        runtime/netpoll.go:302 +0x89
internal/poll.(*pollDesc).wait(0xc0005a3418?, 0x26d654f270c?, 0x0)
        internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.execIO(0xc0005a3418, 0x7ff6bcc38780)
        internal/poll/fd_windows.go:175 +0xe5
internal/poll.(*FD).ReadFromInet4(0xc0005a3400, {0xc0006c8000, 0xc000955d88?, 0x0?}, 0xc000955db0)
        internal/poll/fd_windows.go:610 +0x13e
net.(*netFD).readFromInet4(0xc0005a3400, {0xc0006c8000?, 0x5?, 0xc000955dc0?}, 0x7ff6bc388325?)
        net/fd_posix.go:66 +0x29
net.(*UDPConn).readFrom(0xc000057000?, {0xc0006c8000?, 0x0?, 0x101c000955f98?}, 0xc0000c25d0)
        net/udpsock_posix.go:52 +0x1b8
net.(*UDPConn).readFromUDP(0xc000006748, {0xc0006c8000?, 0x7ff6bc3baed2?, 0x2000?}, 0x7ff6bcb11020?)
        net/udpsock.go:149 +0x31
net.(*UDPConn).ReadFrom(0xc000955f88?, {0xc0006c8000, 0x2000, 0x2000})
        net/udpsock.go:158 +0x50
github.com/pion/ice/v2.(*candidateBase).recvLoop(0xc0000a7520, 0x0?)
        github.com/pion/ice/v2@v2.1.20/candidate_base.go:222 +0x1a9
created by github.com/pion/ice/v2.(*candidateBase).start
        github.com/pion/ice/v2@v2.1.20/candidate_base.go:205 +0x14a

goroutine 59 [IO wait]:
internal/poll.runtime_pollWait(0x26d6580ef58, 0x72)
        runtime/netpoll.go:302 +0x89
internal/poll.(*pollDesc).wait(0xc000403040?, 0xc00095fc98?, 0x0)
        internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.execIO(0xc0005a3698, 0x7ff6bcc38788)
        internal/poll/fd_windows.go:175 +0xe5
internal/poll.(*FD).ReadFromInet6(0xc0005a3680, {0xc0005ec000, 0xc00051a8a0?, 0x0?}, 0xc00095fdd0)
        internal/poll/fd_windows.go:639 +0x13e
net.(*netFD).readFromInet6(0xc0005a3680, {0xc0005ec000?, 0xc000403040?, 0xc0004030c8?}, 0xc00051a8f0?)
        net/fd_posix.go:72 +0x29
net.(*UDPConn).readFrom(0xc000700000?, {0xc0005ec000?, 0x0?, 0xc0000a75f0?}, 0xc000812450)
        net/udpsock_posix.go:59 +0x85
net.(*UDPConn).readFromUDP(0xc000006750, {0xc0005ec000?, 0x7ff6bc3baed2?, 0x2000?}, 0xc000026af0?)
        net/udpsock.go:149 +0x31
net.(*UDPConn).ReadFrom(0x7ff6bcce5d80?, {0xc0005ec000, 0x2000, 0x2000})
        net/udpsock.go:158 +0x50
github.com/pion/ice/v2.(*candidateBase).recvLoop(0xc0000a75f0, 0x0?)
        github.com/pion/ice/v2@v2.1.20/candidate_base.go:222 +0x1a9
created by github.com/pion/ice/v2.(*candidateBase).start
        github.com/pion/ice/v2@v2.1.20/candidate_base.go:205 +0x14a

goroutine 63 [semacquire]:
sync.runtime_SemacquireMutex(0x7ff6bc8d0252?, 0x10?, 0x7ff60000fb10?)
        runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0xc00042434c)
        sync/mutex.go:162 +0x165
sync.(*Mutex).Lock(...)
        sync/mutex.go:81
github.com/hajimehoshi/oto/v2.(*playerImpl).Play(0x0?)
        github.com/hajimehoshi/oto/v2@v2.1.0-alpha.2/player_notjs.go:165 +0x53
github.com/hajimehoshi/oto/v2.(*player).Play(0x10?)
        github.com/hajimehoshi/oto/v2@v2.1.0-alpha.2/player_notjs.go:159 +0x1c
github.com/murkland/bbn6/game.(*Game).Update(0xc000424480)
        github.com/murkland/bbn6/game/game.go:392 +0x72
github.com/hajimehoshi/ebiten/v2.(*imageDumper).update(0xc0007200a0)
        github.com/hajimehoshi/ebiten/v2@v2.2.5/imagedumper_desktop.go:111 +0x52
github.com/hajimehoshi/ebiten/v2.(*imageDumperGame).Update(0x7ff6bd0927c0?)
        github.com/hajimehoshi/ebiten/v2@v2.2.5/run.go:117 +0x7d
github.com/hajimehoshi/ebiten/v2.(*uiContext).updateFrameImpl(0x7ff6bd0927c0, 0x1)
        github.com/hajimehoshi/ebiten/v2@v2.2.5/uicontext.go:187 +0xc9
github.com/hajimehoshi/ebiten/v2.(*uiContext).updateFrame(0x7ff6bd0927c0, 0x0?)
        github.com/hajimehoshi/ebiten/v2@v2.2.5/uicontext.go:159 +0x89
github.com/hajimehoshi/ebiten/v2.(*uiContext).UpdateFrame(0xc000532050?)
        github.com/hajimehoshi/ebiten/v2@v2.2.5/uicontext.go:138 +0x32
github.com/hajimehoshi/ebiten/v2/internal/uidriver/glfw.(*UserInterface).loop(0x7ff6bcab64c0)
        github.com/hajimehoshi/ebiten/v2@v2.2.5/internal/uidriver/glfw/ui.go:1103 +0x191
github.com/hajimehoshi/ebiten/v2/internal/uidriver/glfw.(*UserInterface).Run.func1()
        github.com/hajimehoshi/ebiten/v2@v2.2.5/internal/uidriver/glfw/run_notsinglethread.go:53 +0xe6
created by github.com/hajimehoshi/ebiten/v2/internal/uidriver/glfw.(*UserInterface).Run
        github.com/hajimehoshi/ebiten/v2@v2.2.5/internal/uidriver/glfw/run_notsinglethread.go:37 +0x19f

goroutine 62 [semacquire]:
sync.runtime_Semacquire(0xc000202680?)
        runtime/sema.go:56 +0x25
sync.(*WaitGroup).Wait(0xc00058a001?)
        sync/waitgroup.go:136 +0x52
golang.org/x/sync/errgroup.(*Group).Wait(0xc00058a040)
        golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c/errgroup/errgroup.go:40 +0x27
github.com/murkland/bbn6/game.(*Game).RunBackgroundTasks(0xc000424480, {0x7ff6bcce2d38?, 0xc00009e010?})
        github.com/murkland/bbn6/game/game.go:120 +0x15f
main.main.func2()
        github.com/murkland/bbn6/main.go:114 +0x25
created by main.main
        github.com/murkland/bbn6/main.go:113 +0x78a

goroutine 60 [select]:
github.com/pion/ice/v2.(*Agent).connectivityChecks(0xc000359080)
        github.com/pion/ice/v2@v2.1.20/agent.go:536 +0x1ab
created by github.com/pion/ice/v2.(*Agent).startConnectivityChecks.func1
        github.com/pion/ice/v2@v2.1.20/agent.go:477 +0x2a5

goroutine 61 [semacquire]:
sync.runtime_SemacquireMutex(0x2?, 0xd8?, 0x7ff6bc37e825?)
        runtime/sema.go:71 +0x25
sync.(*Mutex).lockSlow(0xc00042434c)
        sync/mutex.go:162 +0x165
sync.(*Mutex).Lock(...)
        sync/mutex.go:81
github.com/hajimehoshi/oto/v2.(*playerImpl).readBufferAndAdd(0xc0004242d0, {0xc000530000?, 0x400?, 0x7ff6bcbf5618?})
        github.com/hajimehoshi/oto/v2@v2.1.0-alpha.2/player_notjs.go:325 +0x6c
github.com/hajimehoshi/oto/v2.(*players).read(0xc0005be3c0, {0xc000530000?, 0x400, 0x400})
        github.com/hajimehoshi/oto/v2@v2.1.0-alpha.2/player_notjs.go:107 +0x1dc
github.com/hajimehoshi/oto/v2.(*context).appendBuffers(0xc0003d8800)
        github.com/hajimehoshi/oto/v2@v2.1.0-alpha.2/driver_windows.go:222 +0xdb
github.com/hajimehoshi/oto/v2.(*context).loop(0xc000087200?)
        github.com/hajimehoshi/oto/v2@v2.1.0-alpha.2/driver_windows.go:210 +0x25
created by github.com/hajimehoshi/oto/v2.newContext
        github.com/hajimehoshi/oto/v2@v2.1.0-alpha.2/driver_windows.go:133 +0x3ca

goroutine 260 [select]:
github.com/pion/transport/packetio.(*Buffer).Read(0xc00051aa20, {0xc000890000, 0x2000, 0x2000})
        github.com/pion/transport@v0.13.0/packetio/buffer.go:266 +0x168
github.com/pion/webrtc/v3/internal/mux.(*Endpoint).Read(0xc0000e2580?, {0xc000890000?, 0xc000680048?, 0x0?})
        github.com/pion/webrtc/v3@v3.1.23/internal/mux/endpoint.go:37 +0x25
github.com/pion/srtp/v2.(*session).start.func1()
        github.com/pion/srtp/v2@v2.0.5/session.go:133 +0xba
created by github.com/pion/srtp/v2.(*session).start
        github.com/pion/srtp/v2@v2.0.5/session.go:120 +0x25e

goroutine 46 [select]:
github.com/pion/transport/packetio.(*Buffer).Read(0xc00002e540, {0xc000792000, 0x5b4, 0x5b4})
        github.com/pion/transport@v0.13.0/packetio/buffer.go:266 +0x168
github.com/pion/ice/v2.(*Conn).Read(0xc000819908, {0xc000792000, 0x5b4, 0x5b4})
        github.com/pion/ice/v2@v2.1.20/transport.go:73 +0x73
github.com/pion/webrtc/v3/internal/mux.(*Mux).readLoop(0xc0000dbc70)
        github.com/pion/webrtc/v3@v3.1.23/internal/mux/mux.go:109 +0xcb
created by github.com/pion/webrtc/v3/internal/mux.NewMux
        github.com/pion/webrtc/v3@v3.1.23/internal/mux/mux.go:47 +0x165

goroutine 47 [select]:
github.com/pion/dtls/v2.(*handshakeFSM).finish(0xc0007200f0, {0x7ff6bcce2d00, 0xc00071c180}, {0x7ff6bcce4208, 0xc0000b6000})
        github.com/pion/dtls/v2@v2.1.2/handshaker.go:312 +0x252
github.com/pion/dtls/v2.(*handshakeFSM).Run(0xc0007200f0, {0x7ff6bcce2d00, 0xc00071c180}, {0x7ff6bcce4208, 0xc0000b6000}, 0x0?)
        github.com/pion/dtls/v2@v2.1.2/handshaker.go:179 +0x43d
github.com/pion/dtls/v2.(*Conn).handshake.func2()
        github.com/pion/dtls/v2@v2.1.2/conn.go:827 +0x85
created by github.com/pion/dtls/v2.(*Conn).handshake
        github.com/pion/dtls/v2@v2.1.2/conn.go:825 +0x337

goroutine 275 [select]:
github.com/pion/transport/connctx.(*connCtx).ReadContext.func1()
        github.com/pion/transport@v0.13.0/connctx/connctx.go:78 +0xc9
created by github.com/pion/transport/connctx.(*connCtx).ReadContext
        github.com/pion/transport@v0.13.0/connctx/connctx.go:76 +0x1fe

goroutine 259 [select]:
github.com/pion/transport/packetio.(*Buffer).Read(0xc00051a9c0, {0xc00088e000, 0x2000, 0x2000})
        github.com/pion/transport@v0.13.0/packetio/buffer.go:266 +0x168
github.com/pion/webrtc/v3/internal/mux.(*Endpoint).Read(0xc00008d4e0?, {0xc00088e000?, 0x7ff6bc99e4b8?, 0x100000001?})
        github.com/pion/webrtc/v3@v3.1.23/internal/mux/endpoint.go:37 +0x25
github.com/pion/srtp/v2.(*session).start.func1()
        github.com/pion/srtp/v2@v2.0.5/session.go:133 +0xba
created by github.com/pion/srtp/v2.(*session).start
        github.com/pion/srtp/v2@v2.0.5/session.go:120 +0x25e

goroutine 71 [select]:
github.com/murkland/ctxwebrtc.(*DataChannel).Recv(0xc000067630, {0x7ff6bcce2d00, 0xc00058a000})
        github.com/murkland/ctxwebrtc@v0.0.0-20220306073518-b5815ce4a060/datachannel.go:45 +0xc5
github.com/murkland/bbn6/packets.Recv({0x7ff6bcce2d00?, 0xc00058a000?}, 0x0?)
        github.com/murkland/bbn6/packets/packets.go:110 +0x4a
github.com/murkland/bbn6/game.(*Game).handleConn(0xc000424480, {0x7ff6bcce2d00, 0xc00058a000})
        github.com/murkland/bbn6/game/game.go:172 +0x47
github.com/murkland/bbn6/game.(*Game).RunBackgroundTasks.func1()
        github.com/murkland/bbn6/game/game.go:113 +0x25
golang.org/x/sync/errgroup.(*Group).Go.func1()
        golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c/errgroup/errgroup.go:57 +0x67
created by golang.org/x/sync/errgroup.(*Group).Go
        golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c/errgroup/errgroup.go:54 +0x8d

goroutine 72 [select]:
github.com/murkland/bbn6/game.(*Game).sendPings(0xc000424480, {0x7ff6bcce2d00, 0xc00058a000})
        github.com/murkland/bbn6/game/game.go:132 +0x16a
github.com/murkland/bbn6/game.(*Game).RunBackgroundTasks.func2()
        github.com/murkland/bbn6/game/game.go:117 +0x25
golang.org/x/sync/errgroup.(*Group).Go.func1()
        golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c/errgroup/errgroup.go:57 +0x67
created by golang.org/x/sync/errgroup.(*Group).Go
        golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c/errgroup/errgroup.go:54 +0x8d

goroutine 262 [chan receive]:
github.com/pion/srtp/v2.(*SessionSRTCP).AcceptStream(0xc000680138?)
        github.com/pion/srtp/v2@v2.0.5/session_srtcp.go:92 +0x2c
github.com/pion/webrtc/v3.(*PeerConnection).undeclaredMediaProcessor.func2()
        github.com/pion/webrtc/v3@v3.1.23/peerconnection.go:1597 +0xf1
created by github.com/pion/webrtc/v3.(*PeerConnection).undeclaredMediaProcessor
        github.com/pion/webrtc/v3@v3.1.23/peerconnection.go:1589 +0x97

goroutine 263 [select]:
github.com/pion/dtls/v2.(*Conn).Read(0xc0000b6000, {0xc000892000, 0x2000, 0xc00071e4c0?})
        github.com/pion/dtls/v2@v2.1.2/conn.go:289 +0x165
github.com/pion/sctp.(*Association).readLoop(0xc0006441c0)
        github.com/pion/sctp@v1.8.2/association.go:509 +0x15e
created by github.com/pion/sctp.(*Association).init
        github.com/pion/sctp@v1.8.2/association.go:339 +0xd0

goroutine 264 [select]:
github.com/pion/sctp.(*Association).writeLoop(0xc0006441c0)
        github.com/pion/sctp@v1.8.2/association.go:558 +0x206
created by github.com/pion/sctp.(*Association).init
        github.com/pion/sctp@v1.8.2/association.go:340 +0x113

goroutine 269 [sync.Cond.Wait]:
sync.runtime_notifyListWait(0xc000788a90, 0x3)
        runtime/sema.go:513 +0x146
sync.(*Cond).Wait(0x7ff6bccde2a0?)
        sync/cond.go:56 +0x8c
github.com/pion/sctp.(*Stream).ReadSCTP(0xc00040a320, {0xc0009d4000, 0xffff, 0xffff})
        github.com/pion/sctp@v1.8.2/stream.go:108 +0xab
github.com/pion/datachannel.(*DataChannel).ReadDataChannel(0xc0004246c0, {0xc0009d4000, 0xffff, 0xffff})
        github.com/pion/datachannel@v1.5.2/datachannel.go:186 +0x65
github.com/pion/webrtc/v3.(*DataChannel).readLoop(0xc0006400f0)
        github.com/pion/webrtc/v3@v3.1.23/datachannel.go:325 +0xb7
created by github.com/pion/webrtc/v3.(*DataChannel).handleOpen
        github.com/pion/webrtc/v3@v3.1.23/datachannel.go:294 +0x1a5

goroutine 270 [chan receive]:
github.com/pion/sctp.(*Association).AcceptStream(...)
        github.com/pion/sctp@v1.8.2/association.go:1307
github.com/pion/datachannel.Accept(0xc0006400f0?, 0x400000002?, {0xc0004cc100, 0x1, 0x10?})
        github.com/pion/datachannel@v1.5.2/datachannel.go:116 +0x45
github.com/pion/webrtc/v3.(*SCTPTransport).acceptDataChannels(0xc00008d540, 0xc000906000?)
        github.com/pion/webrtc/v3@v3.1.23/sctptransport.go:173 +0x288
created by github.com/pion/webrtc/v3.(*SCTPTransport).Start
        github.com/pion/webrtc/v3@v3.1.23/sctptransport.go:135 +0x3f8
rax     0x0
rbx     0x1008
rcx     0x26d66275970
rdi     0x402
rsi     0x26d66275990
rbp     0x0
rsp     0xb0d0fff860
r8      0x4
r9      0x0
r10     0xc000858000
r11     0x0
r12     0x402
r13     0x26d66276998
r14     0xc00044e4e0
r15     0x4
rip     0x7ff6bc932670
rflags  0x10246
cs      0x33
fs      0x53
gs      0x2b
bigfarts commented 2 years ago

buffer is accessed safely now