hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Colin Patrick McCabe (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-4387) test_libhdfs_threaded SEGV on OpenJDK 7
Date Fri, 11 Jan 2013 23:12:12 GMT

    [ https://issues.apache.org/jira/browse/HDFS-4387?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13551618#comment-13551618

Colin Patrick McCabe commented on HDFS-4387:

After some investigation, it looks like this is a result of you using the {{libjvm.so}} from

Although this isn't documented anywhere, some examination of the JamVM source (as well as
empirical tests) shows that JamVM crashes if you call {{JNI_GetCreatedJavaVMs}} prior to calling
{{JNI_CreateJavaVM}}.  Since we currently do this in {{libhdfs}}, we get the crash.

There is an argument to be made that {{libhdfs}} should not try to see if a VM is already
running before we create one.  Since such a VM, presumably created by another shared library
or the application itself, would probably not have the correct {{CLASSPATH}}, it would be
unlikely to work anyway.  Still, it's unfortunate that we (apparently) have to take this step.

It looks like JamVM is installed by default on Ubuntu 12.10, even on the server spin-- for
whatever reason.  So we probably do need to fix this.  It would also be nice if we avoided
using JamVM by default.
> test_libhdfs_threaded SEGV on OpenJDK 7
> ---------------------------------------
>                 Key: HDFS-4387
>                 URL: https://issues.apache.org/jira/browse/HDFS-4387
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: libhdfs
>    Affects Versions: 3.0.0
>            Reporter: Andy Isaacson
>            Priority: Minor
> Building and running tests on OpenJDK 7 on Ubuntu 12.10 fails with {{mvn test -Pnative}}.
 The output is hard to decipher but the underlying issue is that {{test_libhdfs_native}} segfaults
at startup.
> {noformat}
> (gdb) run
> Starting program: /mnt/trunk/hadoop-hdfs-project/hadoop-hdfs/target/native/test_libhdfs_threaded
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
> Program received signal SIGSEGV, Segmentation fault.
> 0x00007ffff739a897 in attachJNIThread (name=0x0, is_daemon=is_daemon@entry=0 '\000',
group=0x0) at thread.c:768
> 768 thread.c: No such file or directory.
> (gdb) where
> #0 0x00007ffff739a897 in attachJNIThread (name=0x0, is_daemon=is_daemon@entry=0 '\000',
group=0x0) at thread.c:768
> #1 0x00007ffff7395020 in attachCurrentThread (is_daemon=0, args=0x0, penv=0x7fffffffddb8)
at jni.c:1454
> #2 Jam_AttachCurrentThread (vm=<optimized out>, penv=0x7fffffffddb8, args=0x0)
at jni.c:1466
> #3 0x00007ffff7bcf979 in getGlobalJNIEnv () at /mnt/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/jni_helper.c:527
> #4 getJNIEnv () at /mnt/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/jni_helper.c:585
> #5 0x0000000000402512 in nmdCreate (conf=conf@entry=0x7fffffffdeb0) at /mnt/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/native_mini_dfs.c:49
> #6 0x00000000004016e1 in main () at /mnt/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs/test_libhdfs_threaded.c:283
> {noformat}

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

View raw message