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

PeerConnections fail after [rtc::impl::IceTransport::LogCallback@363] juice: conn_poll.c:311: poll failed, errno=10038 #1252

Closed
Sniperlyf3 opened this issue Sep 10, 2024 · 3 comments

Comments

@Sniperlyf3
Copy link

Notes:

  • I was only able to replicate this issue on Windows. I wasn’t able to reproduce this behavior on WSL (Ubuntu 22.04.4 LTS on Windows 10 x86_64).
  • The issue seems to be timing-related. I wasn’t able to replicate this issue with verbose logging and had to close about 100 connections at a time for this to occur.

Replication steps:

  • Create 100 PeerConnection objects (connected to some other peers).
  • Remove them.
  • Repeat the above steps.

Result:

[rtc::impl::IceTransport::LogCallback@363] juice: conn_poll.c:311: poll failed, errno=10038

  • Within a few seconds, all the other peers will start failing.
  • No more PeerConnection connections will be created; it is stuck in a stable state. The application has to be restarted before any new connections can be made.

Expected behavior:

To not prevent all future PeerConnections from being able to establish a connection.

I don’t know if this is a timing issue from libdatachannel or if this should be addressed in libjuice. Please advise.

@paullouisageneau
Copy link
Owner

This error was fixed by paullouisageneau/libjuice#198. You must use a very old version of libdatachannel or libjuice.

@Sniperlyf3
Copy link
Author

I was indeed on an old version of libdatachannel.
Updated to 0.21.2, still seeing the same behavior.
I did the following:

  • Removed all cached files (including all files related to vcpkg)
  • Cleaned the project in Microsoft Visual Studio
  • Reinstalled vcpkg
  • Added version constraint for >= 0.21.2 in the vcpkg.json file

Adding 100 clients, then deleting them again causes above behavior after closing & removing the first 5 clients of the 100 created.
I am also logging the version (RTC_VERSION) on startup.

My vcpkg.json file:

{
  "dependencies": [
    {
      "name": "libdatachannel",
      "version>=": "0.21.2",
      "features": [
        "srtp"
      ]
    }
  ],
  "builtin-baseline": "b4624c3a701b11248d88aab08744a37ee7aea1cc"
}

@Sniperlyf3
Copy link
Author

Fixed in paullouisageneau/libjuice#272

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants