Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

panic: runtime error: slice bounds out of range [:3524] with capacity 1500 #74

Closed
nodomain opened this issue Feb 18, 2021 · 6 comments
Closed
Labels
bug Something isn't working

Comments

@nodomain
Copy link

While trying your cool solution both in a Docker environment and native on my EC2 box, it reproducedly crashes after some seconds of sharing my local screen to another local browser.

Config:

      SCREEGO_EXTERNAL_IP: "x.x.x.20"
      SCREEGO_TURN_ADDRESS: "0.0.0.0:443"
      SCREEGO_SERVER_ADDRESS: "0.0.0.0:80"
      SCREEGO_SECRET: "totallysecret"
      SCREEGO_TURN_PORT_RANGE: "50000:55000"
      SCREEGO_TURN_STRICT_AUTH: "false"
      SCREEGO_TRUST_PROXY_HEADERS: "true"
      SCREEGO_AUTH_MODE: "none"
      SCREEGO_CORS_ALLOWED_ORIGINS: "https://other.tld"
      SCREEGO_LOG_LEVEL: "debug"

Log:

ubuntu@ip-172-31-42-4:~/screego$ sudo ./screego serve
2021-02-18T14:49:11Z DBG Logger initialized
2021-02-18T14:49:11Z DBG Loading file /home/ubuntu/screego/screego.config
2021-02-18T14:49:11Z INF Users file not specified
2021-02-18T14:49:11Z DBG Using Port Range max=55000 min=50000
2021-02-18T14:49:11Z INF Start TURN/STUN addr=0.0.0.0:443
2021-02-18T14:49:11Z INF Start HTTP addr=0.0.0.0:80
2021-02-18T14:49:15Z DBG HTTP duration="345.412µs" host=host.tld ip=172.31.35.145:64080 path=/ size=2158 status=200
2021-02-18T14:49:15Z DBG HTTP duration=2.592104ms host=host.tld ip=172.31.35.145:64080 path=/static/css/main.08e397cf.chunk.css size=0 status=200
2021-02-18T14:49:15Z DBG HTTP duration=17.883149ms host=host.tld ip=172.31.35.145:64082 path=/static/js/2.6c008a11.chunk.js size=0 status=200
2021-02-18T14:49:15Z DBG HTTP duration=3.990749ms host=host.tld ip=172.31.35.145:64080 path=/static/js/main.4606f178.chunk.js size=0 status=200
2021-02-18T14:49:15Z DBG HTTP duration="46.64µs" host=host.tld ip=172.31.35.145:64082 path=/config size=70 status=200
2021-02-18T14:49:15Z DBG HTTP duration="548.608µs" host=host.tld ip=172.31.35.145:64082 path=/favicon.ico size=15086 status=200
2021-02-18T14:49:15Z DBG HTTP duration=10.723208ms host=host.tld ip=172.31.35.145:64082 path=/static/media/logo.d2ceaca5.svg size=0 status=200
2021-02-18T14:49:15Z DBG WebSocket New Connection id=c0n7squa08d27mvfd2ng ip=172.31.35.145
2021-02-18T14:49:15Z DBG HTTP duration="185.827µs" host=host.tld ip=172.31.35.145:64084 path=/stream size=0 status=0
2021-02-18T14:49:15Z DBG WebSocket Receive event=*ws.Join id=c0n7squa08d27mvfd2ng ip=172.31.35.145
2021-02-18T14:49:15Z DBG WebSocket Close code=1000 id=c0n7squa08d27mvfd2ng ip=172.31.35.145 reason="room with id obliged-beige-salamander does not exist"
2021-02-18T14:49:15Z DBG HTTP duration="125.84µs" host=172.31.42.4 ip=172.31.17.53:24862 path=/ size=2158 status=200
2021-02-18T14:49:16Z DBG HTTP duration="134.916µs" host=172.31.42.4 ip=172.31.35.145:64088 path=/ size=2158 status=200
2021-02-18T14:49:20Z DBG WebSocket New Connection id=c0n7ss6a08d27mvfd2o0 ip=172.31.35.145
2021-02-18T14:49:20Z DBG HTTP duration="177.001µs" host=host.tld ip=172.31.35.145:64082 path=/stream size=0 status=0
2021-02-18T14:49:20Z DBG WebSocket Receive event=*ws.Create id=c0n7ss6a08d27mvfd2o0 ip=172.31.35.145
2021-02-18T14:49:20Z DBG WebSocket Send event=room id=c0n7ss6a08d27mvfd2o0 ip=172.31.35.145
2021-02-18T14:49:24Z DBG HTTP duration="105.697µs" host=host.tld ip=172.31.35.145:64096 path=/ size=2158 status=200
2021-02-18T14:49:24Z DBG HTTP duration="95.075µs" host=host.tld ip=172.31.35.145:64096 path=/static/css/main.08e397cf.chunk.css size=0 status=200
2021-02-18T14:49:24Z DBG HTTP duration=3.70267ms host=host.tld ip=172.31.35.145:64098 path=/static/js/2.6c008a11.chunk.js size=0 status=200
2021-02-18T14:49:24Z DBG HTTP duration="188.866µs" host=host.tld ip=172.31.35.145:64096 path=/static/js/main.4606f178.chunk.js size=0 status=200
2021-02-18T14:49:25Z DBG HTTP duration="20.124µs" host=host.tld ip=172.31.35.145:64098 path=/config size=70 status=200
2021-02-18T14:49:25Z DBG HTTP duration="109.365µs" host=host.tld ip=172.31.35.145:64098 path=/favicon.ico size=15086 status=200
2021-02-18T14:49:25Z DBG HTTP duration=1.796977ms host=host.tld ip=172.31.35.145:64098 path=/static/media/logo.d2ceaca5.svg size=0 status=200
2021-02-18T14:49:25Z DBG WebSocket New Connection id=c0n7stea08d27mvfd2og ip=172.31.35.145
2021-02-18T14:49:25Z DBG HTTP duration="168.819µs" host=host.tld ip=172.31.35.145:64100 path=/stream size=0 status=0
2021-02-18T14:49:25Z DBG WebSocket Receive event=*ws.Join id=c0n7stea08d27mvfd2og ip=172.31.35.145
2021-02-18T14:49:25Z DBG WebSocket Send event=room id=c0n7stea08d27mvfd2og ip=172.31.35.145
2021-02-18T14:49:25Z DBG WebSocket Send event=room id=c0n7ss6a08d27mvfd2o0 ip=172.31.35.145
turn ERROR: 2021/02/18 14:49:25 error when handling datagram: unable to handle ChannelData from 46.100.86.24:13778: no allocation found 46.100.86.24:13778:172.31.42.4:443
2021-02-18T14:49:34Z DBG WebSocket Receive event=*ws.StartShare id=c0n7stea08d27mvfd2og ip=172.31.35.145
2021-02-18T14:49:34Z DBG WebSocket Send event=clientsession id=c0n7ss6a08d27mvfd2o0 ip=172.31.35.145
2021-02-18T14:49:34Z DBG WebSocket Send event=hostsession id=c0n7stea08d27mvfd2og ip=172.31.35.145
2021-02-18T14:49:34Z DBG WebSocket Send event=room id=c0n7stea08d27mvfd2og ip=172.31.35.145
2021-02-18T14:49:34Z DBG WebSocket Send event=room id=c0n7ss6a08d27mvfd2o0 ip=172.31.35.145
2021-02-18T14:49:34Z DBG WebSocket Receive event=*ws.HostOffer id=c0n7stea08d27mvfd2og ip=172.31.35.145
2021-02-18T14:49:34Z DBG WebSocket Receive event=*ws.HostICE id=c0n7stea08d27mvfd2og ip=172.31.35.145
2021-02-18T14:49:34Z DBG WebSocket Receive event=*ws.HostICE id=c0n7stea08d27mvfd2og ip=172.31.35.145
2021-02-18T14:49:34Z DBG WebSocket Send event=hostoffer id=c0n7ss6a08d27mvfd2o0 ip=172.31.35.145
2021-02-18T14:49:34Z DBG WebSocket Send event=hostice id=c0n7ss6a08d27mvfd2o0 ip=172.31.35.145
2021-02-18T14:49:34Z DBG WebSocket Send event=hostice id=c0n7ss6a08d27mvfd2o0 ip=172.31.35.145
2021-02-18T14:49:34Z DBG WebSocket Receive event=*ws.HostICE id=c0n7stea08d27mvfd2og ip=172.31.35.145
2021-02-18T14:49:34Z DBG WebSocket Send event=hostice id=c0n7ss6a08d27mvfd2o0 ip=172.31.35.145
2021-02-18T14:49:34Z DBG TURN authenticated addr=89.247.119.26:58526 realm=screego
2021-02-18T14:49:34Z DBG TURN allocated addr=[::]:53934 relayaddr=3.64.59.20:53934
2021-02-18T14:49:34Z DBG WebSocket Receive event=*ws.HostICE id=c0n7stea08d27mvfd2og ip=172.31.35.145
2021-02-18T14:49:34Z DBG WebSocket Send event=hostice id=c0n7ss6a08d27mvfd2o0 ip=172.31.35.145
2021-02-18T14:49:34Z DBG WebSocket Receive event=*ws.ClientAnswer id=c0n7ss6a08d27mvfd2o0 ip=172.31.35.145
2021-02-18T14:49:34Z DBG WebSocket Send event=clientanswer id=c0n7stea08d27mvfd2og ip=172.31.35.145
2021-02-18T14:49:34Z DBG WebSocket Receive event=*ws.ClientICE id=c0n7ss6a08d27mvfd2o0 ip=172.31.35.145
2021-02-18T14:49:34Z DBG WebSocket Send event=clientice id=c0n7stea08d27mvfd2og ip=172.31.35.145
2021-02-18T14:49:34Z DBG TURN authenticated addr=89.247.119.26:51089 realm=screego
2021-02-18T14:49:34Z DBG TURN allocated addr=[::]:54764 relayaddr=3.64.59.20:54764
2021-02-18T14:49:34Z DBG WebSocket Receive event=*ws.ClientICE id=c0n7ss6a08d27mvfd2o0 ip=172.31.35.145
2021-02-18T14:49:34Z DBG WebSocket Send event=clientice id=c0n7stea08d27mvfd2og ip=172.31.35.145
2021-02-18T14:49:35Z DBG WebSocket Receive event=*ws.HostICE id=c0n7stea08d27mvfd2og ip=172.31.35.145
2021-02-18T14:49:35Z DBG WebSocket Send event=hostice id=c0n7ss6a08d27mvfd2o0 ip=172.31.35.145
2021-02-18T14:49:45Z DBG HTTP duration="101.239µs" host=172.31.42.4 ip=172.31.17.53:24880 path=/ size=2158 status=200
2021-02-18T14:49:46Z DBG HTTP duration="115.434µs" host=172.31.42.4 ip=172.31.35.145:64114 path=/ size=2158 status=200
panic: runtime error: slice bounds out of range [:3524] with capacity 1500

goroutine 60 [running]:
github.com/pion/turn/v2.(*Server).readLoop(0xc000271a40, 0xd85b20, 0xc0001a10e0, 0xc00006afc0)
	/home/runner/go/pkg/mod/github.com/pion/turn/v2@v2.0.5/server.go:150 +0x3ac
created by github.com/pion/turn/v2.NewServer.func2
	/home/runner/go/pkg/mod/github.com/pion/turn/v2@v2.0.5/server.go:102 +0x1b2

@jmattheis
Copy link
Member

What browser / os are you using?

@nodomain
Copy link
Author

Edge Version 88.0.705.74 (64-Bit)
Chrome Version 88.0.4324.182 (x86_64)
Mac 10.15.7 (19H524)

@jmattheis
Copy link
Member

jmattheis commented Feb 19, 2021

Did you logged in and used turn for nat traversal?

@nodomain
Copy link
Author

I deactivated login because the site is protected by other measures and used TURN (I think)

@jmattheis
Copy link
Member

Alright, I've created an issue on the library used for the turn server.

@jmattheis jmattheis added the bug Something isn't working label May 24, 2021
@jmattheis
Copy link
Member

Probably fixed with v1.10.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants