[jira] [Commented] (HADOOP-12955) Fix bugs in the initialization of the ISA-L library JNI bindings
[ https://issues.apache.org/jira/browse/HADOOP-12955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15220811#comment-15220811 ] Hudson commented on HADOOP-12955: - FAILURE: Integrated in Hadoop-trunk-Commit #9538 (See [https://builds.apache.org/job/Hadoop-trunk-Commit/9538/]) HADOOP-12955. Fix bugs in the initialization of the ISA-L library JNI (cmccabe: rev 19639785f5e9c483558ce585287b9dda9d626263) * hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/erasurecode/isal_load.h * hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/erasurecode/erasure_coder.c * hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/NativeLibraryChecker.java * hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/erasurecode/jni_erasure_code_native.c * hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/erasurecode/isal_load.c > Fix bugs in the initialization of the ISA-L library JNI bindings > > > 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 > Fix For: 3.0.0 > > Attachments: HADOOP-12955-v1.patch, HADOOP-12955-v2.patch, > HADOOP-12955-v3.patch, HADOOP-12955-v4.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: [0x7f2b9d405000,0x7f2b9d506000], sp=0x7f2b9d504748, 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)
[jira] [Commented] (HADOOP-12955) Fix bugs in the initialization of the ISA-L library JNI bindings
[ https://issues.apache.org/jira/browse/HADOOP-12955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15220757#comment-15220757 ] Kai Zheng commented on HADOOP-12955: Thanks Colin for driving into this nice result and the commit!! Much learned. > Fix bugs in the initialization of the ISA-L library JNI bindings > > > 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 > Fix For: 3.0.0 > > Attachments: HADOOP-12955-v1.patch, HADOOP-12955-v2.patch, > HADOOP-12955-v3.patch, HADOOP-12955-v4.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: [0x7f2b9d405000,0x7f2b9d506000], sp=0x7f2b9d504748, 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)
[jira] [Commented] (HADOOP-12955) Fix bugs in the initialization of the ISA-L library JNI bindings
[ https://issues.apache.org/jira/browse/HADOOP-12955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15220745#comment-15220745 ] Colin Patrick McCabe commented on HADOOP-12955: --- +1. Thanks, [~drankye]. > Fix bugs in the initialization of the ISA-L library JNI bindings > > > 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, HADOOP-12955-v2.patch, > HADOOP-12955-v3.patch, HADOOP-12955-v4.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: [0x7f2b9d405000,0x7f2b9d506000], sp=0x7f2b9d504748, 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)
[jira] [Commented] (HADOOP-12955) Fix bugs in the initialization of the ISA-L library JNI bindings
[ https://issues.apache.org/jira/browse/HADOOP-12955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15215926#comment-15215926 ] Kai Zheng commented on HADOOP-12955: The cc warning and test failures are not relevant. Building passed on Windows. > Fix bugs in the initialization of the ISA-L library JNI bindings > > > 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, HADOOP-12955-v2.patch, > HADOOP-12955-v3.patch, HADOOP-12955-v4.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: [0x7f2b9d405000,0x7f2b9d506000], sp=0x7f2b9d504748, 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)
[jira] [Commented] (HADOOP-12955) Fix bugs in the initialization of the ISA-L library JNI bindings
[ https://issues.apache.org/jira/browse/HADOOP-12955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15215896#comment-15215896 ] Hadoop QA commented on HADOOP-12955: | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 18s {color} | {color:blue} Docker mode activated. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s {color} | {color:green} The patch does not contain any @author tags. {color} | | {color:red}-1{color} | {color:red} test4tests {color} | {color:red} 0m 0s {color} | {color:red} The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 7m 31s {color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 8m 56s {color} | {color:green} trunk passed with JDK v1.8.0_74 {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 7m 55s {color} | {color:green} trunk passed with JDK v1.7.0_95 {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 22s {color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 1m 0s {color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 14s {color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 43s {color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 0s {color} | {color:green} trunk passed with JDK v1.8.0_74 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 4s {color} | {color:green} trunk passed with JDK v1.7.0_95 {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 46s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 9m 9s {color} | {color:green} the patch passed with JDK v1.8.0_74 {color} | | {color:green}+1{color} | {color:green} cc {color} | {color:green} 13m 54s {color} | {color:green} root-jdk1.8.0_74 with JDK v1.8.0_74 generated 0 new + 11 unchanged - 10 fixed = 11 total (was 21) {color} | | {color:green}+1{color} | {color:green} cc {color} | {color:green} 9m 9s {color} | {color:green} root in the patch passed with JDK v1.8.0_74. {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 9m 9s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 7m 27s {color} | {color:green} the patch passed with JDK v1.7.0_95 {color} | | {color:red}-1{color} | {color:red} cc {color} | {color:red} 21m 21s {color} | {color:red} root-jdk1.7.0_95 with JDK v1.7.0_95 generated 1 new + 20 unchanged - 11 fixed = 21 total (was 31) {color} | | {color:green}+1{color} | {color:green} cc {color} | {color:green} 7m 27s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 7m 27s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 22s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 1m 1s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 14s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s {color} | {color:green} Patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 0s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 6s {color} | {color:green} the patch passed with JDK v1.8.0_74 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 15s {color} | {color:green} the patch passed with JDK v1.7.0_95 {color} | | {color:red}-1{color} | {color:red} unit {color} | {color:red} 14m 36s {color} | {color:red} hadoop-common in the patch failed with JDK v1.8.0_74. {color} | | {color:red}-1{color} | {color:red} unit {color} | {color:red} 14m 3s {color} | {color:red} hadoop-common in the patch failed with JDK v1.7.0_95. {color} | | {color:red}-1{color} | {color:red} asflicense {color} | {color:red} 0m 24s {color} | {color:red} Patch generated 1 ASF License warning
[jira] [Commented] (HADOOP-12955) Fix bugs in the initialization of the ISA-L library JNI bindings
[ https://issues.apache.org/jira/browse/HADOOP-12955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15215209#comment-15215209 ] Kai Zheng commented on HADOOP-12955: bq. we wouldn't even need a getLibraryName function. If you meant the c function {{const char* get_library_name(char* buf, size_t buf_len)}}, yes it can be avoided in the new approach. I may use the new approach in this patch just for the erasure coding part. For other native things, we may consider it separately. Sounds good? > Fix bugs in the initialization of the ISA-L library JNI bindings > > > 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, HADOOP-12955-v2.patch, > HADOOP-12955-v3.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: [0x7f2b9d405000,0x7f2b9d506000], sp=0x7f2b9d504748, 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)
[jira] [Commented] (HADOOP-12955) Fix bugs in the initialization of the ISA-L library JNI bindings
[ https://issues.apache.org/jira/browse/HADOOP-12955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15215201#comment-15215201 ] Kai Zheng commented on HADOOP-12955: bq. I think it would be safer to have the initialization function set up a static variable so that it contained the library name. That way, we only have to expect a failure in one place, and we wouldn't even need a getLibraryName function. Good idea and I agree with the new approach. Do you mean we'd refactor all the relate native codes? getLibraryName may be still needed as a JNI call to retrieve the library name to print in Java codes. Guess we'd like to have a small change for the aspect to move on this. How about right now getting away the exception catching for {{ErasureCodeNative.getLibraryName()}} and do the refactoring suggested above separately? > Fix bugs in the initialization of the ISA-L library JNI bindings > > > 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, HADOOP-12955-v2.patch, > HADOOP-12955-v3.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: [0x7f2b9d405000,0x7f2b9d506000], sp=0x7f2b9d504748, 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)
[jira] [Commented] (HADOOP-12955) Fix bugs in the initialization of the ISA-L library JNI bindings
[ https://issues.apache.org/jira/browse/HADOOP-12955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15215195#comment-15215195 ] Colin Patrick McCabe commented on HADOOP-12955: --- In general, the other native libraries expect {{getLibraryName}} to succeed if the initialization succeeded. There may be some extremely rare cases where it doesn't, but this should reflect an internal bug 99% of the time. In contrast, initialization routinely fails because of missing libraries. I think it would be safer to have the initialization function set up a static variable so that it contained the library name. That way, we only have to expect a failure in one place, and we wouldn't even need a {{getLibraryName}} function. > Fix bugs in the initialization of the ISA-L library JNI bindings > > > 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, HADOOP-12955-v2.patch, > HADOOP-12955-v3.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: [0x7f2b9d405000,0x7f2b9d506000], sp=0x7f2b9d504748, 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)
[jira] [Commented] (HADOOP-12955) Fix bugs in the initialization of the ISA-L library JNI bindings
[ https://issues.apache.org/jira/browse/HADOOP-12955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15215194#comment-15215194 ] Kai Zheng commented on HADOOP-12955: bq. There needs to be a return null; here after the THROW macro. I thought you meant the code in getLibraryName. It's a new mistake. Thanks for catching it. :) > Fix bugs in the initialization of the ISA-L library JNI bindings > > > 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, HADOOP-12955-v2.patch, > HADOOP-12955-v3.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: [0x7f2b9d405000,0x7f2b9d506000], sp=0x7f2b9d504748, 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)
[jira] [Commented] (HADOOP-12955) Fix bugs in the initialization of the ISA-L library JNI bindings
[ https://issues.apache.org/jira/browse/HADOOP-12955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15215173#comment-15215173 ] Kai Zheng commented on HADOOP-12955: Thanks Colin! bq. There needs to be a return null; here after the THROW macro. Yes it's needed. Sorry I may accidentally lost the line while changing around. bq. If there is an UnsatisfiedLinkError, this should be reflected by the return value of ErasureCodeNative#getLoadingFailureReason. Note getLoadingFailureReason can capture exceptions during loadLibrary. getLibraryName may also throw exception now. To be consistent, I'm wondering if we would do the same thing for other native things as well in case getLibraryName is allowed to throw exception in all the places. > Fix bugs in the initialization of the ISA-L library JNI bindings > > > 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, HADOOP-12955-v2.patch, > HADOOP-12955-v3.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: [0x7f2b9d405000,0x7f2b9d506000], sp=0x7f2b9d504748, 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)
[jira] [Commented] (HADOOP-12955) Fix bugs in the initialization of the ISA-L library JNI bindings
[ https://issues.apache.org/jira/browse/HADOOP-12955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15215162#comment-15215162 ] Colin Patrick McCabe commented on HADOOP-12955: --- {code} if (error != NULL) { THROW(env, "java/lang/UnsatisfiedLinkError", error); } {code} There needs to be a {{return null;}} here after the {{THROW}} macro. {code} - try { -isalDetail = ErasureCodeNative.getLoadingFailureReason(); -isalDetail = ErasureCodeNative.getLibraryName(); -isalLoaded = true; - } catch (UnsatisfiedLinkError e) { + isalDetail = ErasureCodeNative.getLoadingFailureReason(); + if (isalDetail != null) { isalLoaded = false; + } else { +try { + isalDetail = ErasureCodeNative.getLibraryName(); + isalLoaded = true; +} catch (UnsatisfiedLinkError e) { + isalDetail = e.getMessage(); + isalLoaded = false; +} {code} I don't understand the rationale for doing this differently than the other native libraries. If there is an {{UnsatisfiedLinkError}}, this should be reflected by the return value of {{ErasureCodeNative#getLoadingFailureReason}}. > Fix bugs in the initialization of the ISA-L library JNI bindings > > > 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, HADOOP-12955-v2.patch, > HADOOP-12955-v3.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: [0x7f2b9d405000,0x7f2b9d506000], sp=0x7f2b9d504748, 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)
[jira] [Commented] (HADOOP-12955) Fix bugs in the initialization of the ISA-L library JNI bindings
[ https://issues.apache.org/jira/browse/HADOOP-12955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15213927#comment-15213927 ] Hadoop QA commented on HADOOP-12955: | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 25s {color} | {color:blue} Docker mode activated. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s {color} | {color:green} The patch does not contain any @author tags. {color} | | {color:red}-1{color} | {color:red} test4tests {color} | {color:red} 0m 0s {color} | {color:red} The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 7m 26s {color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 11m 6s {color} | {color:green} trunk passed with JDK v1.8.0_74 {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 9m 36s {color} | {color:green} trunk passed with JDK v1.7.0_95 {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 24s {color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 1m 16s {color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 15s {color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 7s {color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 14s {color} | {color:green} trunk passed with JDK v1.8.0_74 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 6s {color} | {color:green} trunk passed with JDK v1.7.0_95 {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 44s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 9m 4s {color} | {color:green} the patch passed with JDK v1.8.0_74 {color} | | {color:green}+1{color} | {color:green} cc {color} | {color:green} 14m 26s {color} | {color:green} root-jdk1.8.0_74 with JDK v1.8.0_74 generated 0 new + 11 unchanged - 10 fixed = 11 total (was 21) {color} | | {color:green}+1{color} | {color:green} cc {color} | {color:green} 9m 4s {color} | {color:green} root in the patch passed with JDK v1.8.0_74. {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 9m 4s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 7m 32s {color} | {color:green} the patch passed with JDK v1.7.0_95 {color} | | {color:green}+1{color} | {color:green} cc {color} | {color:green} 21m 58s {color} | {color:green} root-jdk1.7.0_95 with JDK v1.7.0_95 generated 0 new + 21 unchanged - 10 fixed = 21 total (was 31) {color} | | {color:green}+1{color} | {color:green} cc {color} | {color:green} 7m 32s {color} | {color:green} root in the patch passed with JDK v1.7.0_95. {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 7m 32s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 19s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 1m 1s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 13s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s {color} | {color:green} Patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 52s {color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 5s {color} | {color:green} the patch passed with JDK v1.8.0_74 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 8s {color} | {color:green} the patch passed with JDK v1.7.0_95 {color} | | {color:red}-1{color} | {color:red} unit {color} | {color:red} 13m 49s {color} | {color:red} hadoop-common in the patch failed with JDK v1.8.0_74. {color} | | {color:green}+1{color} | {color:green} unit {color} | {color:green} 10m 10s {color} | {color:green} hadoop-common in the patch passed with JDK v1.7.0_95. {color} | | {color:red}-1{color} | {color:red} asflicense {color} | {color:red} 0m 22s {color} | {c
[jira] [Commented] (HADOOP-12955) Fix bugs in the initialization of the ISA-L library JNI bindings
[ https://issues.apache.org/jira/browse/HADOOP-12955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15213714#comment-15213714 ] Kai Zheng commented on HADOOP-12955: After looking into {{THROW}} and the question how to do exception handling in JNI, I agree we need to do the error checking after the call {{loadLib}} in {{Java_org_apache_hadoop_io_erasurecode_ErasureCodeNative_getLibraryName}} by using something like {{ExceptionOccurred}}. While looking around more, I found there is some codes to clean up in {{NativeLibraryChecker}} and also make consistent with other native things like openssl. So the resultant codes will remove the call to loadLib totally. The JNI function {{getLibraryName}} should assume {{loadLibrary}} is called already. If not called, then the simple constant like {{HADOOP_ISAL_LIBRARY}} will be returned. Will update the patch. [~cmccabe] would you please help with check it, thanks! > Fix bugs in the initialization of the ISA-L library JNI bindings > > > 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, HADOOP-12955-v2.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: [0x7f2b9d405000,0x7f2b9d506000], sp=0x7f2b9d504748, 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)
[jira] [Commented] (HADOOP-12955) Fix bugs in the initialization of the ISA-L library JNI bindings
[ https://issues.apache.org/jira/browse/HADOOP-12955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15212677#comment-15212677 ] Kai Zheng commented on HADOOP-12955: Thanks [~cmccabe] for the further helpful explanation. I will investigate the cases and fix them. > Fix bugs in the initialization of the ISA-L library JNI bindings > > > 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, HADOOP-12955-v2.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: [0x7f2b9d405000,0x7f2b9d506000], sp=0x7f2b9d504748, 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)
[jira] [Commented] (HADOOP-12955) Fix bugs in the initialization of the ISA-L library JNI bindings
[ https://issues.apache.org/jira/browse/HADOOP-12955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15212543#comment-15212543 ] Colin Patrick McCabe commented on HADOOP-12955: --- Thanks for the revisions. It is good to see checking for names which are too long, as well as fixes to the other little bugs. If the error string being returned is a constant string, it should be a {{const char*}} rather than a {{char*}}. Also, please document that the string does not need to be freed by the caller in the doxygen. bq. I thought loadLib handles its error itself by throwing an exception. C does not have exceptions. When the C code calls a Java method via JNI, the C code must check for an error condition and return if that occurs. if the C caller does not check, execution will continue. The results of calling many JNI methods when an exception is raised are undefined. I believe the situation is similar when calling Java code through C++, even though that language does have exceptions. The important thing to keep in mind is that Java exceptions do not translate into the JNI code. Can you fix the cases where we are not checking for java exceptions? > Fix bugs in the initialization of the ISA-L library JNI bindings > > > 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, HADOOP-12955-v2.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: [0x7f2b9d405000,0x7f2b9d506000], sp=0x7f2b9d504748, 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)