On Mon, Jan 8, 2024 at 6:07 AM Joonas Tuomisto <joot...@gmail.com> wrote:
> Hi, > > I also ran into this exact issue it seems, but we're not using the > Guacamole Docker images, instead we're using custom built RPM packages > on OpenSUSE Leap 15.5 as a native systemd service. > > To me this does indeed look like some kind of resource leak in guacd. > > Initially everything works, but eventually guacd stops being able to > initiate new connections, and it's not limited to just one protocol, > at least both RDP and SSH are impacted. > > I'm not entirely sure how forking processes interact with system > limits and how to debug this to find what resource exactly is being > leaked. > > I attached to guacd with strace after encountering this state and > initiated a new RDP/SSH connection and it does appear to be failing > after a connect() but I didn't notice anything weird. > > connect() goes -1 EINPROGRESS and poll, recvfrom() goes -1 EAGAIN. > > There's indeed a whole bunch of eventfd2() when trying an RDP connection. > > guacd logs (for RDP): > > RDP server closed/refused connection: Security negotiation failed (wrong > security type?) > > guacd logs (for SSH): > > GLib (gthread-posix.c): Unexpected error from C library during > 'pthread_key_create': Resource temporarily unavailable. Aborting. > Interesting. If you're able to track down how this is leaking, that'd be really helpful. I'm running 1.5.4 on CentOS 7, and not seeing this at all. -Nick