Tdesktop: Unable to connect call if IPv6 stack is disabled in the kernel

Created on 6 Jun 2017  路  12Comments  路  Source: telegramdesktop/tdesktop

Steps to reproduce

  1. Disable IPv6 stack by using kernel parameter (e.g. add "ipv6.disable=1" to the kernel parameters in grub).
  2. (Optionally) Disable IPv6 addresses on all interfaces by adding "net.ipv6.conf.all.disable_ipv6 = 1" to sysctl.conf and reloading it with sysctl -p or simply rebooting.
  3. (Optionally) Uncheck "Try connecting through IPv6" in Telegram settings.
  4. Try to make/answer a call.

Expected behaviour

Should be able to connect the call.

Actual behaviour

Doesn't get past Connecting state.

Configuration

Operating system: Arch Linux 64-bit

Version of Telegram Desktop: 1.1.7

Used theme: Default

Logs:

last_call_log.txt

log_11_45.txt


linux waiting for answer

Most helpful comment

You shouldn't be disabling IPv6 support in the kernel.

All 12 comments

May I ask, why would you disable the IPv6 stack in the kernel in the first place?
(I didn't even know it's configurable, unfortunately)

The networks here don't support it. I've had issues with some other software that preferred my non-existent IPv6 so much that it never tried to use IPv4.

Another (maybe a bit paranoid?) reason one could have - not having to keep up with IPv6 security, since it's not used in the area. A fake IPv6 router advertiser at a public cafe would easily bypass any IPv4 security.

Okay, but shouldn't disabling IPv6 address (2 in your initial comment) be enough? I use a single dual-stack UDP socket to transfer both IPv4 and IPv6 traffic through it and, apparently, disabling the IPv6 stack in the kernel also disables the ability to have such dual-stack sockets. Which kinda makes sense, but still... I need to handle this error properly though. Generating hundreds of megabytes of logs of the same error never seems to be a good idea.

Sure. I don't remember why I did it in both places, maybe I had an issue before.
However, I remember the night before, when I found this issue, that if I enable the stack and just disable IPv6 assigning, Telegram would crash sometimes when ending a call. I can't confirm that this was the issue though, I need to test more.

Fixed it in the library so it will now fail the call if the socket initialization wasn't successful. I'll push the updated version soon.

Up fucking vote this crap.
Relevant log line:
E/tgvoip: error creating socket: 97 / Address family not supported by protocol

I am also hit by this bug. Any news about it?

same here -> v 1.3 01.06.18
disabling IPv6 is more important nowadays - about VPN IPv6 leak

v 1.5.11 same thing :(

You shouldn't be disabling IPv6 support in the kernel.

Is this still valid? libtgvoip was replaced with webrtc.

Here:
Operating system: Ubuntu 20.04.1 LTS
Version of Telegram Desktop: 2.3.2
IPv6 disabled

Call works without problem.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ArmeF97 picture ArmeF97  路  3Comments

TotalKrill picture TotalKrill  路  3Comments

Justinzobel picture Justinzobel  路  3Comments

hosseinab picture hosseinab  路  3Comments

TheAppService picture TheAppService  路  3Comments