telegramdesktop / tdesktop

Telegram Desktop messaging app
https://desktop.telegram.org/
Other
26.23k stars 5.2k forks source link

telegram encryption key exchange ends with an error #27365

Closed kartavenko1983 closed 9 months ago

kartavenko1983 commented 9 months ago

last_call_log.txt last_openal_log.txt log.txt log.txt

Steps to reproduce

  1. Making an outgoing call from a computer to a Linux computer for both subscribers
  2. Receiving an incoming call from a computer to a Linux computer from both subscribers

Expected behaviour

A connection should be made and a voice communication session is taking place

Actual behaviour

telegram exchange of encryption keys during a call it ends with an error, the call ends after 20 seconds

Operating system

linux

Version of Telegram Desktop

4.14.4

Installation source

Static binary from official website

Crash ID

No response

Logs

No response

AdrianusWest commented 9 months ago

@ilya-fedin what should be the correct result of executing the command?

ilya-fedin commented 9 months ago

That explains why it didn't help, you have an advanced locale setup

ilya-fedin commented 9 months ago

Try env LC_ALL=C ./Telegram

kartavenko1983 commented 9 months ago

@ilya-fedin

Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8. Qt depends on a UTF-8 locale, and has switched to "C.UTF-8" instead. If this causes problems, reconfigure your locale. See the locale(1) manual for more information.

VladimirMrzv commented 9 months ago

on my system: $ env | grep LC_ LC_ALL=en_US.UTF-8

$ env LC_ALL=C ./Telegram Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8. Qt depends on a UTF-8 locale, and has switched to "C.UTF-8" instead. If this causes problems, reconfigure your locale. See the locale(1) manual for more information. QPainter::begin: Paint device returned engine == 0, type: 2 QWidget::render: Cannot render with an inactive painter qt.gui.imageio.jpeg: Corrupt JPEG data: premature end of data segment

ilya-fedin commented 9 months ago

That's right. Do calls work now? If yes, you can try LC_ALL=C.UTF-8 to suppress the warning.

VladimirMrzv commented 9 months ago

it helps, but not understand why not work with en_us or ru_ru

kartavenko1983 commented 9 months ago

@ilya-fedin, When launched from a terminal with the LC_ALL=C parameter, calls work, with the LC_ALL=C.UTF-8 parameter, they work the same way. When starting telegram by default, calls do not work.

NTMan commented 9 months ago

This sounds crazy, but redefining LC_ALL=C on any side fixes the problem.

By default on Fedora LC is not defined.

Welcome to fish, the friendly interactive shell
Type help for instructions on how to use fish
mikhail@primary-ws ~> env | grep LC
mikhail@primary-ws ~ [0|1]> 
ilya-fedin commented 9 months ago

if LC_* aren't defined then the value from $LANG is used and undefining $LANG (the first command I asked to try) should be enough

ilya-fedin commented 9 months ago

but not understand why not work with en_us or ru_ru

Linux's standard C++ library thinks converting integer to string should be locale-dependent

kartavenko1983 commented 9 months ago

@ilya-fedin How to fix it all, do not run it through the terminal every time?

NTMan commented 9 months ago

if LC_* aren't defined then the value from $LANG is used and undefining $LANG

mikhail@primary-ws ~> echo $LANG
en_US.UTF-8

(the first command I asked to try) should be enough

mikhail@primary-ws ~> env -u LANG Downloads/Telegram/Telegram
Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8.
Qt depends on a UTF-8 locale, and has switched to "C.UTF-8" instead.
If this causes problems, reconfigure your locale. See the locale(1) manual
for more information.

yes, I confirm on Fedora it enough

ilya-fedin commented 9 months ago

How to fix it all, do not run it through the terminal every time?

This has to be done in source code. Do you want to build tdesktop from source?

kartavenko1983 commented 9 months ago

@ilya-fedin No

kartavenko1983 commented 9 months ago

@ilya-fedin

Okay, thanks a lot, we'll be waiting

VladimirMrzv commented 9 months ago

after last update to beta Telegram crashes after accepting call, crash report has been sent automatically

kartavenko1983 commented 9 months ago

@VladimirMrzv, You need to create a separate problem, and specify the failure ID

john-preston commented 9 months ago

@kartavenko1983 No need, it'll be fixed later today.

kartavenko1983 commented 9 months ago

In version 4.14.11 beta, the calls worked correctly, we are waiting for the stable version to be updated