Not all structures are being freed on __rpc_thread_destroy() . This causes memory usage to grow ad infinitum when the server is multithreaded. Apply the following patch to fix: --- glibc-2.3.6/sunrpc/rpc_thread.c 2003-02-22 01:57:51.000000000 +0000 +++ build-tree/glibc-2.3.6/sunrpc/rpc_thread.c 2008-01-04 12:52:06.000000000 +0000 @@ -29,6 +29,8 @@ free (tvp->svcraw_private_s); free (tvp->authdes_cache_s); free (tvp->authdes_lru_s); + free (tvp->svc_xports_s); + free (tvp->svc_pollfd_s); free (tvp); __libc_tsd_set (RPC_VARS, NULL); }
Created attachment 2169 [details] Patch to correct bug. Looks like it works.
Applied to mainline.