Bug 35303 - Крошится после обновления до 1.3.14-alt1
Summary: Крошится после обновления до 1.3.14-alt1
Status: CLOSED NOTABUG
Alias: None
Product: Sisyphus
Classification: Development
Component: telegram-desktop (show other bugs)
Version: unstable
Hardware: all Linux
: P3 critical
Assignee: Vitaly Lipatov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on: 35305
Blocks:
  Show dependency tree
 
Reported: 2018-08-29 06:27 MSK by Evgenii Terechkov
Modified: 2018-08-29 16:22 MSK (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Evgenii Terechkov 2018-08-29 06:27:20 MSK
При сегодняшнем обновлении:
=8<=========================================================================
#cat /var/log/apt.log 
Transaction starting at Ср 29 авг 2018 09:57:50
Upgrading librpmbuild 4.0.4-alt116 to 4.0.4-alt117
Upgrading rpm-build 4.0.4-alt116 to 4.0.4-alt117
Upgrading librpm 4.0.4-alt116 to 4.0.4-alt117
Transaction succeeded at Ср 29 авг 2018 09:57:54
Transaction starting at Ср 29 авг 2018 09:59:49
Installing libssl1.1 1.1.0i-alt1
Installing python-module-atomicwrites 1.1.5-alt1
Installing python-module-pathlib2 2.3.2-alt1
Installing python-module-scandir 1.9.0-alt1
Installing python-module-more-itertools 4.3.0-alt1
Installing tests-for-installed-python3-pkgs 0.1.13.1-alt2
Installing syslinux-data 2:4.04-alt13
Installing libcrypto1.1 1.1.0i-alt1
Upgrading python-module-pluggy 0.6.0-alt1.S1 to 0.7.1-alt1
Upgrading i586-libcrypto10.32bit 1.0.2p-alt1 to 1.0.2p-alt2
Upgrading zabbix-phpfrontend-engine 1:3.4.12-alt1.S1 to 1:3.4.13-alt1.S1
Upgrading zabbix-agent 1:3.4.12-alt1.S1 to 1:3.4.13-alt1.S1
Upgrading i586-libssl10.32bit 1.0.2p-alt1 to 1.0.2p-alt2
Upgrading telegram-desktop 1.3.12-alt1 to 1.3.14-alt1
Upgrading curl 7.61.0-alt1.S1 to 7.61.0-alt2.S1
Upgrading zabbix-server-mysql 1:3.4.12-alt1.S1 to 1:3.4.13-alt1.S1
Upgrading zabbix-agent-sudo 1:3.4.12-alt1.S1 to 1:3.4.13-alt1.S1
Upgrading libssl10 1.0.2p-alt1 to 1.0.2p-alt2
Upgrading gnome-vfs 1:2.24.4-alt11 to 1:2.24.4-alt12
Upgrading i586-libsasl2-3.32bit 2.1.26-alt7 to 2.1.27-alt0.1
Upgrading libcurl 7.61.0-alt1.S1 to 7.61.0-alt2.S1
Upgrading syslinux 2:4.04-alt12 to 2:4.04-alt13
Upgrading openssl 1.0.2p-alt1 to 1.1.0i-alt1
Upgrading syslog-common 1.4.1-alt31 to 2-alt1
Upgrading filesystem 2.3.16-alt1 to 2.3.17-alt1
Upgrading libsasl2-3 2.1.26-alt7 to 2.1.27-alt0.1
Upgrading rpm-build-python3 0.1.13-alt1 to 0.1.13.1-alt2
Upgrading zabbix-server-common 1:3.4.12-alt1.S1 to 1:3.4.13-alt1.S1
Upgrading python-module-pytest 3.4.2-alt1.S1 to 3.7.2-alt1
Upgrading libcrypto10 1.0.2p-alt1 to 1.0.2p-alt2
Upgrading zabbix-common-database-mysql 1:3.4.12-alt1.S1 to 1:3.4.13-alt1.S1
Upgrading zabbix-common 1:3.4.12-alt1.S1 to 1:3.4.13-alt1.S1
Transaction succeeded at Ср 29 авг 2018 10:00:10
Transaction starting at Ср 29 авг 2018 10:03:23
Removing uucp 1.07-alt4
Transaction succeeded at Ср 29 авг 2018 10:03:28
=8<=========================================================================

перестал запускаться telegram-desktop:
=8<=========================================================================
$/usr/bin/telegram
Cannot connect to server socket err = Нет такого файла или каталога
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
AL lib: (WW) ALCjackBackendFactory_init: jack_client_open() failed, 0x11
AL lib: (WW) alc_initconfig: Failed to initialize backend "jack"
[1]    987 segmentation fault (core dumped)  /usr/bin/telegram
=8<=========================================================================

вот трейсбэк:
=8<=========================================================================
(gdb) bt
#0  0x00007fe649dbde11 in free () from /lib64/libc.so.6
#1  0x00007fe64e93dbe0 in BIO_free () from /lib64/libcrypto.so.1.1
#2  0x00007fe64e93e564 in BIO_free_all () from /lib64/libcrypto.so.1.1
#3  0x00007fe6403c42d7 in SSL_free () from /lib64/libssl.so.10
#4  0x00007fe64f0cffaa in ?? () from /usr/lib64/libQt5Network.so.5
#5  0x00007fe64f0b00dd in ?? () from /usr/lib64/libQt5Network.so.5
#6  0x00007fe64f0b82e1 in ?? () from /usr/lib64/libQt5Network.so.5
#7  0x00007fe64ad4186a in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQt5Core.so.5
#8  0x00007fe64f082c98 in QAbstractSocket::disconnectFromHost() () from /usr/lib64/libQt5Network.so.5
#9  0x00007fe64f0af2b9 in QSslSocket::abort() () from /usr/lib64/libQt5Network.so.5
#10 0x00007fe64f0d3325 in ?? () from /usr/lib64/libQt5Network.so.5
#11 0x00007fe64f0d3715 in ?? () from /usr/lib64/libQt5Network.so.5
#12 0x00007fe64f0b8341 in ?? () from /usr/lib64/libQt5Network.so.5
#13 0x00007fe64ad4186a in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQt5Core.so.5
#14 0x00007fe64f083333 in ?? () from /usr/lib64/libQt5Network.so.5
#15 0x00007fe64f0833e4 in ?? () from /usr/lib64/libQt5Network.so.5
#16 0x00007fe64f095b41 in ?? () from /usr/lib64/libQt5Network.so.5
#17 0x00007fe64f48f88c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#18 0x00007fe64f4969bf in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#19 0x00007fe64ad13fd8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#20 0x00007fe64ad6bb9d in ?? () from /usr/lib64/libQt5Core.so.5
#21 0x00007fe647833fc7 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#22 0x00007fe6478341d8 in ?? () from /lib64/libglib-2.0.so.0
#23 0x00007fe64783425c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#24 0x00007fe64ad6afcb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#25 0x00007fe64ad1249a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#26 0x00007fe64ab4028a in QThread::exec() () from /usr/lib64/libQt5Core.so.5
#27 0x00007fe64ab4ac28 in ?? () from /usr/lib64/libQt5Core.so.5
#28 0x00007fe649b2459a in start_thread () from /lib64/libpthread.so.0
#29 0x00007fe649e31faf in clone () from /lib64/libc.so.6
(gdb) 
=8<=========================================================================

откат на пакет telegram-desktop-1.3.12-alt1 помогает
Comment 1 AEN 2018-08-29 08:15:26 MSK
2lav: вчерашняя версия, Вы ее первый собрали.
У Вас работает?
Comment 2 Sergey V Turchin 2018-08-29 10:19:18 MSK
У меня работает.
Comment 3 Vitaly Lipatov 2018-08-29 10:44:31 MSK
(В ответ на комментарий №1)
> 2lav: вчерашняя версия, Вы ее первый собрали.
> У Вас работает?
Работает.

Скорее всего это openssl 1.1, с которым telegram собрался (я это не ожидал).

Евгений, а вас включен какой-либо прокси в Телеграме? Скорее всего, это там задействуется openssl.
Comment 4 Vitaly Lipatov 2018-08-29 11:46:46 MSK
(В ответ на комментарий №3)
...
> Евгений, а вас включен какой-либо прокси в Телеграме? Скорее всего, это там
> задействуется openssl.
Да, включил socks-прокси, и телеграм стал падать.

Возможно, что причина в этом:
$ ldd /usr/bin/telegram-desktop  | grep crypto
	libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007ffaf01c9000)
	libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007ffae5f64000)
Comment 5 Vitaly Lipatov 2018-08-29 11:52:55 MSK
Нашёл инструмент https://github.com/vitlav/checkduplicatelibrarysymbols.git

checkduplicatelibrarysymbols]$ ./checkdupls.sh telegram-desktop
Checking /usr/bin/telegram-desktop ...
Read all libs... 138
Get all symbols... 66422
Get all non uniq symbols... 3389

Duplicated symbols:
a2d_ASN1_OBJECT /lib64/libcrypto.so.1.1
a2d_ASN1_OBJECT /lib64/libcrypto.so.1.0.2p
a2i_ASN1_ENUMERATED /lib64/libcrypto.so.1.1
a2i_ASN1_ENUMERATED /lib64/libcrypto.so.1.0.2p
a2i_ASN1_INTEGER /lib64/libcrypto.so.1.1
a2i_ASN1_INTEGER /lib64/libcrypto.so.1.0.2p
a2i_ASN1_STRING /lib64/libcrypto.so.1.1
a2i_ASN1_STRING /lib64/libcrypto.so.1.0.2p
a2i_GENERAL_NAME /lib64/libcrypto.so.1.1
a2i_GENERAL_NAME /lib64/libcrypto.so.1.0.2p
a2i_IPADDRESS /lib64/libcrypto.so.1.1
a2i_IPADDRESS /lib64/libcrypto.so.1.0.2p
a2i_IPADDRESS_NC /lib64/libcrypto.so.1.1
a2i_IPADDRESS_NC /lib64/libcrypto.so.1.0.2p
ACCESS_DESCRIPTION_free /lib64/libcrypto.so.1.1
ACCESS_DESCRIPTION_free /lib64/libcrypto.so.1.0.2p
ACCESS_DESCRIPTION_new /lib64/libcrypto.so.1.1
ACCESS_DESCRIPTION_new /lib64/libcrypto.so.1.0.2p
AES_bi_ige_encrypt /lib64/libcrypto.so.1.1
AES_bi_ige_encrypt /lib64/libcrypto.so.1.0.2p
... (see checkdupls.out.dups file for full list)

Fill all recursion to checkdupls.libs.req ...DONE

Duplicated libs:
/usr/bin/telegram-desktop - /usr/lib64/libavformat.so.58.12.100 - /usr/lib64/librtmp.so.0 - /lib64/libssl.so.1.0.2p - /lib64/libcrypto.so.1.0.2p (libcrypto10-1.0.2p-alt2.x86_64)
/usr/bin/telegram-desktop - /usr/lib64/libavformat.so.58.12.100 - /usr/lib64/librtmp.so.0 - /lib64/libcrypto.so.1.0.2p (libcrypto10-1.0.2p-alt2.x86_64)
/usr/bin/telegram-desktop - /usr/lib64/libavformat.so.58.12.100 - /lib64/libcrypto.so.1.0.2p (libcrypto10-1.0.2p-alt2.x86_64)
/usr/bin/telegram-desktop - /usr/lib64/libtgvoip.so.0.3 - /lib64/libcrypto.so.1.0.2p (libcrypto10-1.0.2p-alt2.x86_64)
/usr/bin/telegram-desktop - /lib64/libcrypto.so.1.0.2p (libcrypto10-1.0.2p-alt2.x86_64)
/usr/bin/telegram-desktop - /lib64/libcrypto.so.1.1 (libcrypto1.1-1.1.0i-alt1.x86_64)

Ну в общем-то и в backtrace видно, что смешался libssl.so.10 с libcrypto.so.1.1:
#2  0x00007fe64e93e564 in BIO_free_all () from /lib64/libcrypto.so.1.1
#3  0x00007fe6403c42d7 in SSL_free () from /lib64/libssl.so.10
Comment 6 Sergey V Turchin 2018-08-29 12:00:14 MSK
(В ответ на комментарий №5)
> /usr/bin/telegram-desktop - /usr/lib64/libavformat.so.58.12.100 -
> /usr/bin/telegram-desktop - /usr/lib64/libtgvoip.so.0.3 -
Виноватые среди зависимостей этих библиотек, судя по всему.
Comment 7 Sergey V Turchin 2018-08-29 12:01:30 MSK
libtgvoip зависит от libcrypto.so.10
Comment 8 Vitaly Lipatov 2018-08-29 12:05:22 MSK
Используйте ffmpeg, пересобранный с openssl 1.1 или отключите прокси-сервер.

libtgvoip отправлен на пересборку:
212025 BUILDING #1 [locked] sisyphus libtgvoip.git=2.2.2-alt2
Comment 9 Sergey V Turchin 2018-08-29 16:22:32 MSK
В качестве верменной меры можно сделать симлинки:
/lib/libcrypto.so.11 -> libcrypto.so.1.1
/lib/libssl.so.11 -> libssl.so.1.1