[jira] [Commented] (HADOOP-12955) Fix bugs in the initialization of the ISA-L library JNI bindings

2016-03-31 Thread Hudson (JIRA)

[ 
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

2016-03-31 Thread Kai Zheng (JIRA)

[ 
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

2016-03-31 Thread Colin Patrick McCabe (JIRA)

[ 
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

2016-03-29 Thread Kai Zheng (JIRA)

[ 
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

2016-03-29 Thread Hadoop QA (JIRA)

[ 
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

2016-03-28 Thread Kai Zheng (JIRA)

[ 
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

2016-03-28 Thread Kai Zheng (JIRA)

[ 
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

2016-03-28 Thread Colin Patrick McCabe (JIRA)

[ 
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

2016-03-28 Thread Kai Zheng (JIRA)

[ 
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

2016-03-28 Thread Kai Zheng (JIRA)

[ 
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

2016-03-28 Thread Colin Patrick McCabe (JIRA)

[ 
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

2016-03-28 Thread Hadoop QA (JIRA)

[ 
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

2016-03-27 Thread Kai Zheng (JIRA)

[ 
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

2016-03-25 Thread Kai Zheng (JIRA)

[ 
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

2016-03-25 Thread Colin Patrick McCabe (JIRA)

[ 
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)