[Gluster-devel] pthread_*_init return values

Anand Avati anand.avati at gmail.com
Sun Feb 5 12:02:41 UTC 2012


On Sat, Feb 4, 2012 at 8:27 AM, Emmanuel Dreyfus <manu at netbsd.org> wrote:
> Hi
>
> I just tracked down a SIGSEGV in glusterfsd 3.2.5 due to the failure of
> checking pthread_mutex_init() return value. Most likely it goe ENOMEM
> but carried on, and it crashed later on a pthread_mutex_lock()
>
> A quick inspection of the latest code shows that none of pthread_*_init
> is checked for failure. This would be a large change, but it might help
> a bit getting relevant error reports, as memory shortage would be
> reported as such, instead of generating random SIGSEGV later.
>
> Anyway, the problem suggests glusterfsd runs out of memory. The core
> file is 236 MB large. I wonder if this could be a memory leak, or if it
> is a regular usage pattern of glusterfsd to eat that much memory. What
> reasonable ressource limits should be set for glusterfsd?
>

It depends on the data set and translators loaded. On the server side
the default inode cache size is large enough to grow the process foot
print to a few hundered MBs. Having caching translators would increase
the usage further.

Avati




More information about the Gluster-devel mailing list