On Wed, Feb 7, 2024 at 6:40 AM Yannick Martin <[email protected]> wrote:
> Hello > > About pthread_keys leak, I wonder if > > https://github.com/apache/guacamole-server/blob/master/src/libguac/client.c#L299 > and L300 is not a duplicate call of those done in: > guac_rwlock_init(&(client->__users_lock)); > guac_rwlock_init(&(client->__pending_users_lock)); > > which call pthread_key_create too => > > https://github.com/apache/guacamole-server/blob/master/src/libguac/rwlock.c#L52 > > Two issues with this: * I'm not sure that duplicating a call to pthread_key_create() would/should result in the behavior we're seeing - where TLS-based connections fail after a certain, relatively well-defined number (58-60). * This also would not explain why this only occurs in certain situations, on certain platforms - that is, the same exact libguac code running on EL7 (RHEL, CentOS, etc.) does not result in the resource leak, whereas it does on some other set of platforms (Debian, Alpine, EulerOS). Unless the pthread library has been changed substantially between those versions to not clean up after itself? -Nick
