You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@guacamole.apache.org by GitBox <gi...@apache.org> on 2020/10/30 01:30:59 UTC

[GitHub] [guacamole-server] mike-jumper opened a new pull request #306: GUACAMOLE-1181: Rely on automatic freeing of wStream only for FreeRDP 2.0.0-rc3 through 2.0.0-rc4.

mike-jumper opened a new pull request #306:
URL: https://github.com/apache/guacamole-server/pull/306


   This change automatically frees a sent `wStream` after the corresponding write has been completed or cancelled. As FreeRDP will automatically free this `wStream` for us from 2.0.0-rc3 through 2.0.0-rc4 (and manually doing so would result in a double-free), this behavior is controlled by a macro and compile-time checks.
   
   Since the internal behavior of FreeRDP generally cannot be detected outside version number checks, and version number checks are only a reliable indication of behavior for actual releases and RCs, I have also added a warning that will be displayed at build time if a development version of FreeRDP is being used:
   
   ```
   checking whether FreeRDP appears to be a development version... yes
   configure: WARNING:
     --------------------------------------------
      You are building against a development version of FreeRDP. Non-release
      versions of FreeRDP may have differences in behavior that are impossible to
      check for at build time. This may result in memory leaks or other strange
      behavior.
   
      *** PLEASE USE A RELEASED VERSION OF FREERDP IF POSSIBLE ***
     --------------------------------------------
   ```
   
   Testing with various versions of FreeRDP:
   
   | Version tag | **Without** manual `Stream_Free()` | **With** manual `Stream_Free()`   |
   | ----------- | ---------------------------------- | --------------------------------- |
   | `2.0.0-rc0` | Leaks `wStream`                    | **No leaks** 👍                   |
   | `2.0.0-rc1` | Leaks `wStream`                    | **No leaks** 👍                   |
   | `2.0.0-rc2` | Leaks `wStream`                    | **No leaks** 👍                   |
   | `2.0.0-rc3` | Unable to test (fails to connect)  | Unable to test (fails to connect) |
   | `2.0.0-rc4` | **No leaks** 👍                    | Segfault / double-free            |
   | `2.0.0`     | Leaks `wStream`                    | **No leaks** 👍                   |
   | `2.1.0`     | Leaks `wStream`                    | **No leaks** 👍                   |
   | `2.2.0`     | Leaks `wStream`                    | **No leaks** 👍                    |
   
   With `configure` automatically selecting between manually freeing streams and relying on FreeRDP to automatically free them, it should be no leaks and no errors across the board.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [guacamole-server] necouchman merged pull request #306: GUACAMOLE-1181: Rely on automatic freeing of wStream only for FreeRDP 2.0.0-rc3 through 2.0.0-rc4.

Posted by GitBox <gi...@apache.org>.
necouchman merged pull request #306:
URL: https://github.com/apache/guacamole-server/pull/306


   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [guacamole-server] necouchman commented on pull request #306: GUACAMOLE-1181: Rely on automatic freeing of wStream only for FreeRDP 2.0.0-rc3 through 2.0.0-rc4.

Posted by GitBox <gi...@apache.org>.
necouchman commented on pull request #306:
URL: https://github.com/apache/guacamole-server/pull/306#issuecomment-719133111


   Well, committed this change here in Github, but I'm not seeing it push back over to Apache. I'm holding off on merging changes back to master for now...


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org