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

Kai Zheng commented on HADOOP-12955:
------------------------------------

Thanks [~cmccabe] for the valuable review comments!
bq. buf is left uninitialized if neither if statement is taken in the non-UNIX 
code path.
Yes buf should be ensured to be initialized by this call. Will fix this.
bq. Please do not use strncpy. ... Instead, use snprintf(buf, buf_len, "%s", 
source);
Sounds great!
bq. You need to check if the string you're trying to copy is too long, and 
return an error if that is so. Please do not silently truncate the name string.
OK, I will make the function return an error if any. Return null if no error at 
all.
bq. Why is there no return statement on line 140? 
It's my stupid mistake. Good catch. It should return immediately.
bq. The potential error coming from loadLib is not handled.
I thought loadLib handles its error itself by throwing an exception. 


> checknative failed when checking ISA-L library
> ----------------------------------------------
>
>                 Key: HADOOP-12955
>                 URL: https://issues.apache.org/jira/browse/HADOOP-12955
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: native
>            Reporter: Kai Zheng
>            Assignee: Kai Zheng
>         Attachments: HADOOP-12955-v1.patch
>
>
> Ref. the comment 
> [here|https://issues.apache.org/jira/browse/HADOOP-11540?focusedCommentId=15207619&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15207619].
>  
> When run hadoop checknative, it also failed. Got something like below from 
> log:
> {noformat}
> Stack: [0x00007f2b9d405000,0x00007f2b9d506000],  sp=0x00007f2b9d504748,  free 
> space=1021k
> Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native 
> code)
> V  [libjvm.so+0xa90c90]  UTF8::unicode_length(char const*)+0x0
> V  [libjvm.so+0x6ddfc3]  jni_NewStringUTF+0xc3
> j  
> org.apache.hadoop.io.erasurecode.ErasureCodeNative.getLibraryName()Ljava/lang/String;+0
> j  org.apache.hadoop.util.NativeLibraryChecker.main([Ljava/lang/String;)V+212
> v  ~StubRoutines::call_stub
> V  [libjvm.so+0x68c616]  JavaCalls::call_helper(JavaValue*, methodHandle*, 
> JavaCallArguments*, Thread*)+0x1056
> V  [libjvm.so+0x6cdc32]  jni_invoke_static(JNIEnv_*, JavaValue*, _jobject*, 
> JNICallType, _jmethodID*, JNI_ArgumentPusher*, Thread*)+0x362
> V  [libjvm.so+0x6ea63a]  jni_CallStaticVoidMethod+0x17a
> C  [libjli.so+0x7bcc]  JavaMain+0x80c
> C  [libpthread.so.0+0x8182]  start_thread+0xc2
> Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
> j  
> org.apache.hadoop.io.erasurecode.ErasureCodeNative.getLibraryName()Ljava/lang/String;+0
> j  org.apache.hadoop.util.NativeLibraryChecker.main([Ljava/lang/String;)V+212
> v  ~StubRoutines::call_stub
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to