Navigation Menu

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

remoteapp with dialog is disconnecting when it loses focus #6298

Closed
FutureKidBuu opened this issue Jun 23, 2020 · 12 comments
Closed

remoteapp with dialog is disconnecting when it loses focus #6298

FutureKidBuu opened this issue Jun 23, 2020 · 12 comments

Comments

@FutureKidBuu
Copy link

Describe the bug
When I open internet options dialog from internet explorer and do ALT + TAB, remoteapp exits unexpectedly.

To Reproduce
Steps to reproduce the behavior:

  1. Launch remoteapp
  2. Right click and select Properties
  3. Press ALT+TAB
  4. See error:

07:52:38:085] [11122:11132] [WARN][com.freerdp.core.orders] - Invalid bmf 129
[07:52:38:085] [11122:11132] [ERROR][com.freerdp.core.update] - [0x01] PatBlt - update_read_dstblt_order() failed
[07:52:38:085] [11122:11132] [ERROR][com.freerdp.core.update] - order flags 0d failed
[07:52:38:085] [11122:11132] [ERROR][com.freerdp.core.fastpath] - Fastpath update Orders [0] failed, status 0
[07:52:38:085] [11122:11132] [ERROR][com.freerdp.core.fastpath] - fastpath_recv_update() - -1
[07:52:38:085] [11122:11132] [ERROR][com.freerdp.core.fastpath] - fastpath_recv_update_data() fail
[07:52:38:085] [11122:11132] [DEBUG][com.freerdp.core.rdp] - rdp_recv_callback: CONNECTION_STATE_ACTIVE - rdp_recv_pdu() - -3
[07:52:38:085] [11122:11132] [ERROR][com.freerdp.core.transport] - transport_check_fds: transport->ReceiveCallback() - -3
[07:52:38:085] [11122:11132] [DEBUG][com.freerdp.core.rdp] - transport_check_fds() - -1
[07:52:38:085] [11122:11132] [DEBUG][com.freerdp.core] - rdp_check_fds() - -1
[07:52:38:085] [11122:11132] [ERROR][com.freerdp.core] - freerdp_check_fds() failed - 0
[07:52:38:085] [11122:11132] [INFO][com.freerdp.client.common] - Network disconnect!
[07:52:38:085] [11122:11132] [ERROR][com.freerdp.client.x11] - Failed to check FreeRDP file descriptor

Expected behavior
Continue operation, don't crash.

Application details

  • This is FreeRDP version 3.0.0-dev (d31a98336)

  • /u:test /app:"||iexplore" /app-cmd:"https://google.com" /title:"Test" /d:test.test /smartcard /p:"test" /v:localhost:3389 /size:100% /log-level:TRACE /gdi:hw -offscreen-cache -bitmap-cache /relax-order-checks /cert-ignore

  • Output of xfreerdp /buildconfig
    This is FreeRDP version 3.0.0-dev (d31a98336)
    Build configuration: BUILD_TESTING=OFF BUILTIN_CHANNELS=ON HAVE_AIO_H=1 HAVE_EXECINFO_H=1 HAVE_FCNTL_H=1 HAVE_INTTYPES_H=1 HAVE_MATH_C99_LONG_DOUBLE=1 HAVE_POLL_H=1 HAVE_PTHREAD_MUTEX_TIMEDLOCK=ON HAVE_PTHREAD_MUTEX_TIMEDLOCK_LIB=1 HAVE_PTHREAD_MUTEX_TIMEDLOCK_SYMBOL= 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=OFF WITH_CAIRO=OFF 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=OFF 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_WND=OFF WITH_DEBUG_X11=OFF WITH_DEBUG_X11_CLIPRDR=OFF WITH_DEBUG_X11_LOCAL_MOVESIZE=OFF WITH_DEBUG_XV=OFF WITH_DSP_EXPERIMENTAL=OFF WITH_DSP_FFMPEG=OFF WITH_EVENTFD_READ_WRITE=1 WITH_FAAC=OFF WITH_FAAD2=OFF WITH_FFMPEG=TRUE WITH_FFMPEG=TRUE WITH_GFX_H264=ON WITH_GPROF=OFF WITH_GSM=OFF WITH_GSSAPI=OFF WITH_ICU=OFF WITH_IPP=OFF WITH_JPEG=OFF WITH_LAME=OFF WITH_LIBRARY_VERSIONING=ON WITH_LIBSYSTEMD=OFF 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_PCSC=ON WITH_PROFILER=OFF WITH_PULSE=OFF 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=OFF WITH_SERVER_INTERFACE=ON WITH_SMARTCARD_INSPECT=OFF WITH_SOXR=OFF WITH_SSE2=ON WITH_SWSCALE=OFF WITH_THIRD_PARTY=OFF WITH_VAAPI=OFF WITH_VALGRIND_MEMCHECK=OFF WITH_VALGRIND_MEMCHECK_AVAILABLE=1 WITH_WAYLAND=ON WITH_WINPR_TOOLS=ON WITH_X11=ON WITH_X264=OFF WITH_XCURSOR=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_XV=OFF WITH_ZLIB=ON
    Build type: Debug
    CFLAGS: -fPIC -Wall -Wno-unused-result -Wno-unused-but-set-variable -Wno-deprecated-declarations -fvisibility=hidden -Wimplicit-function-declaration -Wredundant-decls -g -DWINPR_DLL
    Compiler: GNU, 8.3.0
    Target architecture: x64

  • OS version connecting to (server side)
    Windows Server 2008 R2

Environment (please complete the following information):

  • OS: Debian
  • Version/Distribution: 10 with XFCE
  • Architecture: amd64
@akallabeth akallabeth changed the title remoteapp with dialog is crashed when it loses focus remoteapp with dialog is disconnecting when it loses focus Jun 23, 2020
@akallabeth akallabeth added this to the next milestone Jun 23, 2020
@akallabeth
Copy link
Member

@FutureKidBuu ok, you just found a bug in a rarely used part of the code (you seem to use some very specific flags)
Fixed with #6300

Just a note: Never ever use /relax-order-checks with a microsoft RDP server, that flag is reserved for older xrdp servers that do not properly announce what they support.
This really impacts security in a very negative way

@FutureKidBuu
Copy link
Author

Thanks for the warning!

bmiklautz added a commit that referenced this issue Jun 24, 2020
Fixed #6298: Mask CACHED_BRUSH when checking brush style
@ogghi
Copy link

ogghi commented Jun 25, 2020

Hi there, I have trouble connecting to Windows Server 2008 with xfreerdp 2.1.2
Downgrading to 2.1.1 fixed the issues for me.

@willthong
Copy link

I have the same errors whenever I open Outlook on a remote server in 2.1.2. I also use the /cert-ignore flag. Downgrading to 2.1.1 fixed it for me.

@Lonniebiz
Copy link

Lonniebiz commented Jul 13, 2020

I'm having the same issue with 2.1.2. Any idea when the patch will make it to the Kubuntu 20.04 repos?

@dannn-o
Copy link

dannn-o commented Jul 15, 2020

Same as many others - navigated all the different issues posted about sessions repeatedly disconnecting after FreeRDP 2.1.2 update and this seems to be the "master". Still haven't gotten a clear explanation from the Mint and Ubuntu forums on how to definitively determine when a fix/commit gets installed (unless specifically reflected in the "About" menu dialog).

I'm "Ignoring" all FreeRDP2 updates for now (there have already been 3 subsequent updates) since I can't afford to be without a functioning Remmina. Please post the "New Version" string that will confirm #6298 is included and safe to install.

@bmiklautz
Copy link
Member

2.2.0 will contain the fix and will be out soon.

@dannn-o
Copy link

dannn-o commented Jul 30, 2020

Appears the 2.2.0 just arrived in the update repos (at least for my machine):
Screenshot from 2020-07-30 08-35-14
At least, I'm assuming this is the 2.2.0 version containing the "disconnect" fix?

@REMjn832
Copy link

REMjn832 commented Aug 5, 2020

I just wanted to comment, this also affected me on ArchLinux (using Remmina as the front-end to freeRDP). Using 2.1.2 caused crashing very frequently/seemingly randomly, when connecting to a remote PC running Windows 7 and Outlook. Note, it dit not affect my connections to Windows 10. But back to W7 and Outlook, almost any time a dialog opened or Outlook interacted with me, it would disconnect my RDC session, and and I could not reconnect without rebooting the remote PC (the session would hang, so I could not reconnect locally or remotely). I reverted back to v2.1.1 on Arch, and the problem went away. Thanks for working on this one, it is a nasty one...

@dannn-o
Copy link

dannn-o commented Aug 5, 2020

I know this is closed, and I haven't had time to search for new issues in GitHub, but ever since installing the FreeRDP 2.2.0 update (shown above) along with the other associated packages, including Remmina, my Remote Desktop sessions have been locking up intermittently a couple of times a day every day since installation. I may either regress the updates again, or use the VNC protocol until the root cause really gets fixed.

@akallabeth
Copy link
Member

@REMjn832 The disconnects with windows 7 have been fixed with 2.2.0. Some users reported success with disabling glyph cache on windows 7 as a workaround.
@dannn-o what are you talking about? If you can provide a more specific description and (hopefully log files) to address this (best in a new issue, as this one is resolved)?

@dannn-o
Copy link

dannn-o commented Aug 6, 2020

As I mentioned, I'm limited on time available for debugging at the moment (I have several other GitHub code defect issues open as well), but will pursue a new issue if/when I have time. All I can say is the lockup issues started simultaneously with the FreeRDP update, and I haven't had any recurrence since changing back to the VNC protocol in Remmina (again).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants