Uploaded image for project: 'Guacamole'
  1. Guacamole
  2. GUACAMOLE-663

guacd SEGVs intermittently on systems with small(er) thread stack sizes

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 1.0.0
    • 1.6.1
    • guacd
    • None

    Description

      I've observed at least guacd VNC plugin to run out of stack space when deployed on Alpine Linux with musl libc. This is not limited to Alpine since quite a few distributions are using musl these days (Void, Bedrock, etc.) and the list is growing. musl libc is especially popular for distributions meant to be the base for Docker containers. Hence, I believe addressing this will be quite important for enabling use of guacd in modern containerized environments.

      The issue itself is well know to Alpine folks: https://github.com/voidlinux/void-packages/issues/4147 and they feel (perhaps for right reasons) that applications requiring large(r) thread stacksizes should explicitly declare their requirement. There are currently two ways of accomplishing this: either via a global pthread_setattr_default_np call https://www.openwall.com/lists/musl/2017/01/03/1 or via per-pthread_create setting of defaults e.g. https://github.com/voidlinux/void-packages/commit/5d65448221af12296f7ef2339ced92771bb465b4 

       

      I feel that the first option is a better choice for guacd. Attaching a preliminary patch that makes guacd work fine on Alpine 3.8.x

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            vnick Nick Couchman
            rvs Roman Shaposhnik
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment