FreeRDP / FreeRDP

FreeRDP is a free remote desktop protocol library and clients

Home Page:http://www.freerdp.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Crash after installing pulseaudio linux/fedora

BeeGrech opened this issue · comments

Describe the bug
After installing pulseaudio on Fedora 38 xfreerdp is crashing when audio redirection to local is requested.
removing local audio redirection will open the session without a crash

To Reproduce
Steps to reproduce the behavior:

  1. attempt to open a session with local audio redirection enabled. System was previously working 100% only change was installing pulse audio.

Expected behavior
session opens with audio connection

Application details

  • FreeRDP version version 2.11.5 (2.11.5)
  • Command line used : xfreerdp /v:IP +clipboard /u:user /dynamic-resolution /audio-mode:0 /drive:MYSHARE,/home/user/share /sound:sys:pulse
  • note: also tried without /sound arg
  • Output of xfreerdp /buildconfig
Build configuration: BUILD_TESTING=OFF BUILTIN_CHANNELS=OFF HAVE_AIO_H=1 HAVE_EXECINFO_BACKTRACE=1 HAVE_EXECINFO_BACKTRACE_SYMBOLS=1 HAVE_EXECINFO_BACKTRACE_SYMBOLS_FD=1 HAVE_EXECINFO_H=ON HAVE_EXECINFO_HEADER=1 HAVE_FCNTL_H=1 HAVE_GETLOGIN_R=1 HAVE_GETPWUID_R=1 HAVE_INTTYPES_H=1 HAVE_JOURNALD_H=TRUE HAVE_MATH_C99_LONG_DOUBLE=1 HAVE_PIXMAN_REGION=OFF HAVE_POLL_H=1 HAVE_PTHREAD_MUTEX_TIMEDLOCK=ON HAVE_PTHREAD_MUTEX_TIMEDLOCK_LIBS= HAVE_PTHREAD_MUTEX_TIMEDLOCK_SYMBOL=1 HAVE_SYSLOG_H=1 HAVE_SYS_EVENTFD_H=1 HAVE_SYS_FILIO_H= HAVE_SYS_MODEM_H= HAVE_SYS_SELECT_H=1 HAVE_SYS_SOCKIO_H= HAVE_SYS_STRTIO_H= HAVE_SYS_TIMERFD_H=1 HAVE_TM_GMTOFF=1 HAVE_UNISTD_H=1 HAVE_XI_TOUCH_CLASS=1 WITH_ALSA=ON WITH_CAIRO=ON WITH_CCACHE=ON WITH_CHANNELS=ON WITH_CLANG_FORMAT=ON WITH_CLIENT=ON WITH_CLIENT_AVAILABLE=1 WITH_CLIENT_CHANNELS=ON WITH_CLIENT_CHANNELS_AVAILABLE=1 WITH_CLIENT_COMMON=ON WITH_CLIENT_INTERFACE=OFF WITH_CUPS=ON WITH_DEBUG_ALL=OFF WITH_DEBUG_CAPABILITIES=OFF WITH_DEBUG_CERTIFICATE=OFF WITH_DEBUG_CHANNELS=OFF WITH_DEBUG_CLIPRDR=OFF WITH_DEBUG_DVC=OFF WITH_DEBUG_KBD=OFF WITH_DEBUG_LICENSE=OFF WITH_DEBUG_MUTEX=OFF WITH_DEBUG_NEGO=OFF WITH_DEBUG_NLA=OFF WITH_DEBUG_NTLM=OFF WITH_DEBUG_RAIL=OFF WITH_DEBUG_RDP=OFF WITH_DEBUG_RDPDR=OFF WITH_DEBUG_RDPEI=OFF WITH_DEBUG_RDPGFX=OFF WITH_DEBUG_REDIR=OFF WITH_DEBUG_RFX=OFF WITH_DEBUG_RINGBUFFER=OFF WITH_DEBUG_SCARD=OFF WITH_DEBUG_SND=OFF WITH_DEBUG_SVC=OFF WITH_DEBUG_SYMBOLS=OFF WITH_DEBUG_THREADS=OFF WITH_DEBUG_TIMEZONE=OFF WITH_DEBUG_TRANSPORT=OFF WITH_DEBUG_TSG=OFF WITH_DEBUG_TSMF=OFF WITH_DEBUG_TSMF=OFF WITH_DEBUG_TSMF_AVAILABLE=0 WITH_DEBUG_URBDRC=OFF WITH_DEBUG_WND=OFF WITH_DEBUG_X11=OFF WITH_DEBUG_X11_CLIPRDR=OFF WITH_DEBUG_X11_LOCAL_MOVESIZE=OFF WITH_DEBUG_XV=OFF WITH_DIRECTFB=OFF WITH_DSP_EXPERIMENTAL=OFF WITH_DSP_FFMPEG=OFF WITH_EVENTFD_READ_WRITE=1 WITH_FAAC=OFF WITH_FAAD2=OFF WITH_FFMPEG=OFF WITH_GFX_H264=OFF WITH_GPROF=OFF WITH_GSM=ON WITH_GSSAPI=OFF WITH_ICU=ON WITH_INTERNAL_MD4=OFF WITH_INTERNAL_MD5=OFF WITH_IPP=OFF WITH_JPEG=ON WITH_LAME=ON WITH_LIBRARY_VERSIONING=ON WITH_LIBSYSTEMD=ON WITH_MACAUDIO=OFF WITH_MACAUDIO=OFF WITH_MACAUDIO_AVAILABLE=0 WITH_MANPAGES=ON WITH_MBEDTLS=OFF WITH_OPENCL=OFF WITH_OPENH264=OFF WITH_OPENSLES=OFF WITH_OPENSSL=ON WITH_OSS=ON WITH_PAM=ON WITH_PCSC=ON WITH_PROFILER=OFF WITH_PROXY=ON WITH_PROXY_MODULES=OFF WITH_PULSE=ON WITH_SAMPLE=OFF WITH_SANITIZE_ADDRESS=OFF WITH_SANITIZE_ADDRESS_AVAILABLE=1 WITH_SANITIZE_MEMORY=OFF WITH_SANITIZE_MEMORY_AVAILABLE=1 WITH_SANITIZE_THREAD=OFF WITH_SANITIZE_THREAD_AVAILABLE=1 WITH_SERVER=ON WITH_SERVER_CHANNELS=ON WITH_SERVER_INTERFACE=ON WITH_SHADOW=ON WITH_SHADOW_MAC=ON WITH_SHADOW_X11=ON WITH_SMARTCARD_INSPECT=OFF WITH_SOXR=ON WITH_SSE2=ON WITH_SWSCALE=OFF WITH_THIRD_PARTY=OFF WITH_VAAPI=OFF WITH_VALGRIND_MEMCHECK=OFF WITH_VALGRIND_MEMCHECK_AVAILABLE=1 WITH_VERBOSE_WINPR_ASSERT=ON WITH_WAYLAND=ON WITH_WINPR_TOOLS=ON WITH_X11=ON WITH_XCURSOR=ON WITH_XDAMAGE=ON WITH_XEXT=ON WITH_XFIXES=ON WITH_XI=ON WITH_XINERAMA=ON WITH_XKBFILE=ON WITH_XRANDR=ON WITH_XRENDER=ON WITH_XSHM=ON WITH_XTEST=ON WITH_XV=ON WITH_ZLIB=ON
Build type:          Release
CFLAGS:              -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -Wall -Wno-unused-result -Wno-unused-but-set-variable -Wno-deprecated-declarations -fvisibility=hidden -Wimplicit-function-declaration -Wredundant-decls -fno-omit-frame-pointer -DWINPR_DLL
Compiler:            GNU, 13.2.1
Target architecture: x64
  • OS version connecting to (server side) --- tried multiple linux rhel distros and windows
  • If available the log output from a run with /log-level:trace 2>&1 | tee log.txt
    [21:42:41:917] [316691:316693] [DEBUG][com.freerdp.core.connection] - rdp_client_transition_to_state CONNECTION_STATE_MCS_CHANNEL_JOIN --> CONNECTION_STATE_LICENSING
    [21:42:41:117] [316691:316693] [DEBUG][com.freerdp.core.connection] - rdp_client_transition_to_state CONNECTION_STATE_LAssertion 'c' failed at ../src/pulse/context.c:1087, function pa_context_get_state(). Aborting.
    [21:42:41:238] [316691:316693] [ERROR][com.freerdp.utils] - Caught signal 'Aborted' [6]

Environment (please complete the following information):

  • OS: linux
  • Version/Distribution: fedora-38
  • Architecture: x86_64

Additional context
trace:

Assertion 'c' failed at ../src/pulse/context.c:1087, function pa_context_get_state(). Aborting.
[21:29:07:694] [315898:315899] [ERROR][com.freerdp.utils] - Caught signal 'Aborted' [6]
[21:29:07:694] [315898:315899] [ERROR][com.freerdp.utils] - 0: /lib64/libwinpr2.so.2(winpr_backtrace+0x52) [0x7f31296ffb42]

[21:29:07:694] [315898:315899] [ERROR][com.freerdp.utils] - 1: /lib64/libwinpr2.so.2(winpr_log_backtrace_ex+0x34) [0x7f31297019f4]

[21:29:07:694] [315898:315899] [ERROR][com.freerdp.utils] - 2: /lib64/libfreerdp2.so.2(+0x314e2) [0x7f31298c04e2]

[21:29:07:694] [315898:315899] [ERROR][com.freerdp.utils] - 3: /lib64/libc.so.6(+0x3dbb0) [0x7f3129509bb0]

[21:29:07:694] [315898:315899] [ERROR][com.freerdp.utils] - 4: /lib64/libc.so.6(+0x8e884) [0x7f312955a884]

[21:29:07:694] [315898:315899] [ERROR][com.freerdp.utils] - 5: /lib64/libc.so.6(gsignal+0x1e) [0x7f3129509afe]

[21:29:07:694] [315898:315899] [ERROR][com.freerdp.utils] - 6: /lib64/libc.so.6(abort+0xdf) [0x7f31294f287f]

[21:29:07:694] [315898:315899] [ERROR][com.freerdp.utils] - 7: /lib64/libpulse.so.0(pa_context_get_state+0x63) [0x7f31189bdb53]

[21:29:07:694] [315898:315899] [ERROR][com.freerdp.utils] - 8: /usr/lib64/freerdp2/librdpsnd-client-pulse.so(+0x2d42) [0x7f31285d8d42]

[21:29:07:694] [315898:315899] [ERROR][com.freerdp.utils] - 9: /usr/lib64/freerdp2/librdpsnd-client-pulse.so(freerdp_rdpsnd_client_subsystem_entry+0x33d) [0x7f31285d997d]

[21:29:07:694] [315898:315899] [ERROR][com.freerdp.utils] - 10: /lib64/libfreerdp-client2.so.2(+0x1deea) [0x7f3129a5feea]

[21:29:07:694] [315898:315899] [ERROR][com.freerdp.utils] - 11: /lib64/libfreerdp-client2.so.2(+0x222d8) [0x7f3129a642d8]

[21:29:07:694] [315898:315899] [ERROR][com.freerdp.utils] - 12: /lib64/libfreerdp-client2.so.2(+0x23fea) [0x7f3129a65fea]

[21:29:07:694] [315898:315899] [ERROR][com.freerdp.utils] - 13: /lib64/libfreerdp2.so.2(+0x8148b) [0x7f312991048b]

[21:29:07:694] [315898:315899] [ERROR][com.freerdp.utils] - 14: /lib64/libfreerdp2.so.2(freerdp_connect+0x66e) [0x7f312991778e]

[21:29:07:694] [315898:315899] [ERROR][com.freerdp.utils] - 15: xfreerdp(+0x2005f) [0x5633c69d205f]

[21:29:07:694] [315898:315899] [ERROR][com.freerdp.utils] - 16: /lib64/libwinpr2.so.2(+0x6ea48) [0x7f312971aa48]

[21:29:07:694] [315898:315899] [ERROR][com.freerdp.utils] - 17: /lib64/libc.so.6(+0x8c947) [0x7f3129558947]

[21:29:07:694] [315898:315899] [ERROR][com.freerdp.utils] - 18: /lib64/libc.so.6(+0x112970) [0x7f31295de970]

workaround is forcing alsa

/sound:sys:alsa

this is a pulse internal assert, not much we can do here.
you might need to check your config, it most likely is broken, nothing else we can do.