Regular crashing with: Internal error: unable to determine timeout reason

Hi team,

Wondering if someone can point me in the right direction in relation to issues we see where Janus crashes with “Internal error: unable to determine timeout reason”

I’ve trawled the source for this line but I can’t seem to find it, so I’m wondering if it’s an issue with SRTP or similar? Unfortunately I’m not sure what is causing this, so it is very hard to reproduce. We only use the VideoRoom plugin, and see it in production regularly as well as a few times on our local dev machines.

Here’s an excerpt of the log before it crashes:

[Sun Oct 29 12:49:14 2023] [janus.plugin.videoroom-0x7feb1a3b89d0] No WebRTC media anymore; 0x7feb20c19b50 0x7feb1e783dd0
[Sun Oct 29 12:49:14 2023] [7226090882925306] WebRTC resources freed; 0x7feb20c19b50 0x7feb1e783c50
[Sun Oct 29 12:49:14 2023] [7226090882925306] Handle and related resources freed; 0x7feb20c19b50 0x7feb1e783c50
[Sun Oct 29 12:49:27 2023] Creating new session: 3777577853175928; 0x7feb1fb2a6e0
[Sun Oct 29 12:49:27 2023] Creating new handle in session 3777577853175928: 1220759636968179; 0x7feb1fb2a6e0 0x7feb20c1a550
[Sun Oct 29 12:49:27 2023] [WARN] Deprecated subscriber 'join' API: please start looking into the new one for the future
[Sun Oct 29 12:49:27 2023] [1220759636968179] Creating ICE agent (ICE Full mode, controlling)
[Sun Oct 29 12:49:27 2023] [WARN] [1220759636968179] Failed to add some remote candidates (added 0, expected 1)
[Sun Oct 29 12:49:27 2023] [1220759636968179] The DTLS handshake has been completed
[Sun Oct 29 12:49:27 2023] [janus.plugin.videoroom-0x7feb19777340] WebRTC media is now available
[Sun Oct 29 12:49:27 2023] [WARN] [1220759636968179] Failed to add some remote candidates (added 0, expected 1)
[Sun Oct 29 12:49:28 2023] Creating new session: 7494917523798243; 0x7feb19979380
[Sun Oct 29 12:49:28 2023] Creating new handle in session 7494917523798243: 6403459473895775; 0x7feb19979380 0x7feb1dc39410
[Sun Oct 29 12:49:28 2023] [WARN] Deprecated subscriber 'join' API: please start looking into the new one for the future
[Sun Oct 29 12:49:28 2023] [6403459473895775] Creating ICE agent (ICE Full mode, controlling)
[Sun Oct 29 12:49:28 2023] [WARN] [6403459473895775] Failed to add some remote candidates (added 0, expected 1)
[Sun Oct 29 12:49:28 2023] [6403459473895775] The DTLS handshake has been completed
[Sun Oct 29 12:49:28 2023] [janus.plugin.videoroom-0x7feb1a2a3f50] WebRTC media is now available
[Sun Oct 29 12:49:28 2023] [WARN] [6403459473895775] Failed to add some remote candidates (added 0, expected 1)
Internal error: unable to determine timeout reason

If we can find out where this is happening I will definitely be opening a PR :wink:

And just after I post this, I searched GitHub and found it in the rabbitmq-c library (which we use).

Will investigate!