[
https://issues.apache.org/jira/browse/HADOOP-10989?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chris Nauroth updated HADOOP-10989:
-----------------------------------
Attachment: HADOOP-10989.2.patch
Thanks, Colin. Here is patch v2 with the ifdef inverted to focus on the Linux
special case and more comments.
bq. Just out of curiosity, was there a specific operating system or environment
you found that had this problem?
We saw this happening in 2 different environments, one RHEL 6.2 and the other
RHEL 6.3. Upgrading to RHEL 6.4 solved it, so we've recommended upgrading to
RHEL 6.4 or later as a workaround. The specific sequence of events involved
nslcd issuing an LDAP query that timed out. I suspect whatever version of
nslcd shipped with RHEL 6.2/6.3 by default had a bug in its error handling,
such that an LDAP timeout could result in returning 0 from {{getgrouplist}},
but leaving the other out parameters in an indeterminate state. Then, we'd use
those bad parameter values in a {{realloc}} and segfault. Unfortunately, I no
longer have the information on the specific nslcd version numbers. I agree
that it's not exactly accurate to blame an OS version. It's more about the
nslcd library version.
> Work around buggy getgrouplist() implementations on Linux that return 0 on
> failure
> ----------------------------------------------------------------------------------
>
> Key: HADOOP-10989
> URL: https://issues.apache.org/jira/browse/HADOOP-10989
> Project: Hadoop Common
> Issue Type: Bug
> Components: native
> Affects Versions: 3.0.0, 2.6.0
> Reporter: Chris Nauroth
> Assignee: Chris Nauroth
> Attachments: HADOOP-10989.1.patch, HADOOP-10989.2.patch
>
>
> HADOOP-10781 corrected the handling of the return value from {{getgrouplist}}
> to work on FreeBSD. However, it also regressed fixes that had been put in
> place to work around issues with {{getgrouplist}} on Linux. This issue will
> restore that behavior, but still retain compatibility with FreeBSD.
--
This message was sent by Atlassian JIRA
(v6.2#6252)