hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Colin Patrick McCabe (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-8756) Fix SEGV when libsnappy is in java.library.path but not LD_LIBRARY_PATH
Date Wed, 12 Sep 2012 20:49:09 GMT

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

Colin Patrick McCabe commented on HADOOP-8756:
----------------------------------------------

bq. Just to make sure – is the patches posted to this JIRA meant to provide an alternative
fix for the issue that won't require us changing the value of LD_LIBRARY_PATH

No, you will still need to set {{LD_LIBRARY_PATH}}.  The patch could be revised to manually
search {{java.library.path}}, I guess.  Would that be worthwhile?

bq. If so, shouldn't your patches include the changes that would restore the old behavior?

The behavior hasn't changed.  You always needed to have {{libsnappy.so}} in your {{LD_LIBRARY_PATH}}
or system library path in order to load it with {{dlopen}}.
                
> Fix SEGV when libsnappy is in java.library.path but not LD_LIBRARY_PATH
> -----------------------------------------------------------------------
>
>                 Key: HADOOP-8756
>                 URL: https://issues.apache.org/jira/browse/HADOOP-8756
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: native
>    Affects Versions: 2.0.2-alpha
>            Reporter: Colin Patrick McCabe
>            Assignee: Colin Patrick McCabe
>            Priority: Minor
>         Attachments: HADOOP-8756.002.patch, HADOOP-8756.003.patch, HADOOP-8756.004.patch
>
>
> We use {{System.loadLibrary("snappy")}} from the Java side.  However in libhadoop, we
use {{dlopen}} to open libsnappy.so dynamically.  System.loadLibrary uses {{java.library.path}}
to resolve libraries, and {{dlopen}} uses {{LD_LIBRARY_PATH}} and the system paths to resolve
libraries.  Because of this, the two library loading functions can be at odds.
> We should fix this so we only load the library once, preferably using the standard Java
{{java.library.path}}.
> We should also log the search path(s) we use for {{libsnappy.so}} when loading fails,
so that it's easier to diagnose configuration issues.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message