Bug 37282

Summary: xfreerdp падает при запуске
Product: Sisyphus Reporter: fisk <mfiskov>
Component: xfreerdpAssignee: Mikhail Kolchin <mvk>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: iv, lav, mvk
Version: unstable   
Hardware: x86_64   
OS: Linux   
URL: https://github.com/FreeRDP/FreeRDP/issues/5554

Description fisk 2019-10-01 14:01:18 MSK
xfreerdp умеет понимать файлы с расширением rdp, подготовленные в wondows.

Вываливается, если в файле rdp есть параметр "audiocapturemode:i:2". Если указанный параметр отсутствует, или закомментирован - запускается.

При наличии параметра "audiocapturemode:i:2" на консоль выдается следующее:

$ xfreerdp haproxy.rdp
[17:00:12:416] [13987:13988] [INFO][com.freerdp.client.common.cmdline] - loading channelEx rdpdr
[17:00:12:419] [13987:13988] [ERROR][com.winpr.library] - GetProcAddress: could not find procedure VirtualChannelEntryEx: /usr/lib64/freerdp2/libaudin-client.so: undefined symbol: VirtualChannelEntryEx
[17:00:12:419] [13987:13988] [WARN][com.freerdp.addin] - Failed to load channel audin [(nil)]
[17:00:12:420] [13987:13988] [ERROR][com.winpr.library] - GetProcAddress: could not find procedure VirtualChannelEntry: /usr/lib64/freerdp2/libaudin-client.so: undefined symbol: VirtualChannelEntry
[17:00:12:420] [13987:13988] [WARN][com.freerdp.addin] - Failed to load channel audin [(nil)]
[17:00:12:420] [13987:13988] [ERROR][com.freerdp.core] - freerdp_set_last_error ERRCONNECT_PRE_CONNECT_FAILED [0x00020001]
[17:00:12:420] [13987:13988] [ERROR][com.freerdp.core] - freerdp_pre_connect failed
Comment 1 Ivan A. Melnikov 2019-10-02 10:46:26 MSK
На моём стенде (xrdp из p8 в качестве сервера) плагины audin и rdpsnd  по крайней мере загружаются, а строки VirtualChannelEntryEx в /usr/lib64/freerdp2/libaudin-client.so вообще нет. Так что пока не понятно, как это воспроизвести.

Не могли бы Вы прислать вывод rpm -qa | grep freerdp и полное содержимое haproxy.rdp? Хосты и пароли, if any, естественно заменив на XXX или что-то такое.

И да, к какой OS пытаетесь подключиться?
Comment 2 fisk 2019-10-03 05:37:44 MSK
1. В P8 все работает. Ошибка появилась в P9.
2. Пакеты rpm:
# rpm -qa | grep freerdp
libfreerdp-2.0.0-alt3.git20190806.x86_64
xfreerdp-2.0.0-alt3.git20190806.x86_64
libfreerdp-server-2.0.0-alt3.git20190806.x86_64
3. В качестве сервера выступает HAProxy, а конечная цель Windows XP. Попробовал соединиться с без использования HAProxy - эффект повторился.
4. Авторизация выполняется в домене, но выпадает до появления окна авторизации.
5. rdp файл - oldprog.rdp:

redirectclipboard:i:1^M
redirectposdevices:i:1^M
redirectprinters:i:1^M
redirectcomports:i:0^M
redirectsmartcards:i:0^M
session bpp:i:32^M
prompt for credentials on client:i:0^M
prompt for credentials:i:^M
span monitors:i:0^M
use multimon:i:0^M
remoteapplicationmode:i:0^M
server port:i:3389^M
allow font smoothing:i:0^M
screen mode id:i:2^M
promptcredentialonce:i:1^M
authentication level:i:0^M
;audiocapturemode:i:2^M
autoreconnection enabled:i:1^M
gatewayusagemethod:i:0^M
gatewayprofileusagemethod:i:1^M
gatewaycredentialssource:i:0^M
full address:s:oldprogvm.local^M
alternate shell:s:^M
remoteapplicationprogram:s:^M
gatewayhostname:s:^M
remoteapplicationname:s:^M
remoteapplicationcmdline:s:^M
smart sizing:i:1

В приведенном виде критический параметр закомментирован.

Запуск выполняется командой:

$ xfreerdp /usr/share/xxx/oldprog.rdp
Comment 3 Vitaly Lipatov 2019-10-20 21:23:56 MSK
(В ответ на комментарий №2)
...
> $ xfreerdp /usr/share/xxx/oldprog.rdp
Подтверждаю, воспроизводится с файлом такого содержания:
audiocapturemode:i:2
full address:s:example.com

xfreerdp-2.0.0-alt3.git20190806.x86_64

Видимо, это эта бага:
https://github.com/FreeRDP/FreeRDP/issues/5554