[ 
https://issues.apache.org/jira/browse/HADOOP-10522?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13975332#comment-13975332
 ] 

Kihwal Lee commented on HADOOP-10522:
-------------------------------------

[~cnauroth]: You are right. errno should be thread-safe on most modern 
platforms. I think it is still safer to use the return value than errno 
whenever possible. Buggy code could make decision based on errno set by 
previous sys call.

> JniBasedUnixGroupMapping mishandles errors
> ------------------------------------------
>
>                 Key: HADOOP-10522
>                 URL: https://issues.apache.org/jira/browse/HADOOP-10522
>             Project: Hadoop Common
>          Issue Type: Bug
>            Reporter: Kihwal Lee
>            Assignee: Kihwal Lee
>            Priority: Critical
>         Attachments: hadoop-10522.patch
>
>
> The mishandling of errors in the jni user-to-groups mapping modules can cause 
> segmentation faults in subsequent calls.  Here are the bugs:
> 1) If {{hadoop_user_info_fetch()}} returns an error code that is not ENOENT, 
> the error may not be handled at all.  This bug was found by [~cnauroth].
> 2)  In {{hadoop_user_info_fetch()}} and {{hadoop_group_info_fetch()}}, the 
> global {{errno}} is directly used. This is not thread-safe and could be the 
> cause of some failures that disappeared after enabling the big lookup lock.
> 3) In the above methods, there is no limit on retries.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to