Open makkarpov opened 3 years ago
Hello @makkarpov! :wave: we're sorry you found a bug... so first of all, thank you very much for reporting it.
To know about progress, check in Triage. All issues are considered Backlog Candidates until work priorities align and the issue is selected for development. It will then become part of our official Backlog.
Sorry for the bot issue. It checks the prerequisites. Otherwise people just write a line like "doesn't work, fix please".
Now about the issue: could it happen due to too many async calls happening at the same time? i.e. does it happen if only one WebRtcEndpoint is operating on the pipeline?
Yes, it happens with just single client and otherwise unoccupied server. When I removed browser-to-server ICE trickling (i.e. it's sendonly anyway) everything started to work flawlessly.
Prerequisites
(not sure if your bot checks it)
Issue description
When
addIceCandidates
is called beforegatherCandidates
(e.g. because of async race conditions), Kurento gets confused.Context
Pipeline that is being run is a simple RTP-to-WebRTC converter, just two blocks attached together. WebRTC is operating in send-only mode.
No logs shows up, so debugging that may be tricky.
How to reproduce?
My tests shows that it's sufficient to send ICE candidates before
gatherCandidates
call.Expected & current behavior
Kurento should start sending ICE candidates immediately after
gatherCandidates
call, but it stucks for ~10-20s instead.INFO about Kurento Media Server
sha256:c195eb150fced18b05edc1aea963f3d0546fa83961d0d81aa7f12084a094326f
INFO about your Application Server
INFO about end-user clients
Any clients, Chrome on Linux to be specific.
INFO about your environment
Docker container uses host networking.
Kurento is configured with a static IP address and has an explicitly specified network interface. Kurento is directly reachable in the network, so no NAT traversal is required. Because of that, no STUN/TURN servers are specified in the config file.
Run these commands