[ https://issues.apache.org/jira/browse/HDFS-9268?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Colin Patrick McCabe updated HDFS-9268: --------------------------------------- Summary: fuse_dfs chown crashes when uid is passed as -1 (was: JVM crashes when attempting to update a file in fuse file system using vim) > fuse_dfs chown crashes when uid is passed as -1 > ----------------------------------------------- > > Key: HDFS-9268 > URL: https://issues.apache.org/jira/browse/HDFS-9268 > Project: Hadoop HDFS > Issue Type: Bug > Reporter: Wei-Chiu Chuang > Assignee: Wei-Chiu Chuang > Priority: Minor > Attachments: HDFS-9268.001.patch > > > JVM crashes when users attempt to use vi to update a file on fuse file system > with insufficient permission. (I use CDH's hadoop-fuse-dfs wrapper script to > generate the bug, but the same bug is reproducible in trunk) > The root cause is a segfault in a dfs-fuse method > To reproduce it do as follows: > mkdir /mnt/fuse > chmod 777 /mnt/fuse > ulimit -c unlimited # to enable coredump > hadoop-fuse-dfs -odebug hdfs://localhost:9000/fuse /mnt/fuse > touch /mnt/fuse/y > chmod 600 /mnt/fuse/y > vim /mnt/fuse/y > (in vim, :w to save the file) > # > # A fatal error has been detected by the Java Runtime Environment: > # > # SIGSEGV (0xb) at pc=0x0000003b82f27ad6, pid=26606, tid=140079005689600 > # > # JRE version: Java(TM) SE Runtime Environment (7.0_79-b15) (build > 1.7.0_79-b15) > # Java VM: Java HotSpot(TM) 64-Bit Server VM (24.79-b02 mixed mode > linux-amd64 compressed oops) > # Problematic frame: > # C [libc.so.6+0x127ad6] __tls_get_addr@@GLIBC_2.3+0x127ad6 > # > # Core dump written. Default location: /home/weichiu/core or core.26606 > # > # An error report file with more information is saved as: > # /home/weichiu/hs_err_pid26606.log > # > # If you would like to submit a bug report, please visit: > # http://bugreport.java.com/bugreport/crash.jsp > # The crash happened outside the Java Virtual Machine in native code. > # See problematic frame for where to report the bug. > # > /usr/bin/hadoop-fuse-dfs: line 29: 26606 Aborted (core > dumped) env CLASSPATH="${CLASSPATH}" ${HADOOP_HOME}/bin/fuse_dfs $@ > =========== > The coredump shows the segfault comes from > (gdb) bt > #0 0x0000003b82e328e5 in raise () from /lib64/libc.so.6 > #1 0x0000003b82e340c5 in abort () from /lib64/libc.so.6 > #2 0x00007f66fc924d75 in os::abort(bool) () from > /etc/alternatives/jre/jre/lib/amd64/server/libjvm.so > #3 0x00007f66fcaa76d7 in VMError::report_and_die() () from > /etc/alternatives/jre/jre/lib/amd64/server/libjvm.so > #4 0x00007f66fc929c8f in JVM_handle_linux_signal () from > /etc/alternatives/jre/jre/lib/amd64/server/libjvm.so > #5 <signal handler called> > #6 0x0000003b82f27ad6 in __strcmp_sse42 () from /lib64/libc.so.6 > #7 0x00000000004039a0 in hdfsConnTree_RB_FIND () > #8 0x0000000000403e8f in fuseConnect () > #9 0x00000000004046db in dfs_chown () > #10 0x00007f66fcf8f6d2 in ?? () from /lib64/libfuse.so.2 > #11 0x00007f66fcf940d1 in ?? () from /lib64/libfuse.so.2 > #12 0x00007f66fcf910ef in ?? () from /lib64/libfuse.so.2 > #13 0x0000003b83207851 in start_thread () from /lib64/libpthread.so.0 > #14 0x0000003b82ee894d in clone () from /lib64/libc.so.6 -- This message was sent by Atlassian JIRA (v6.3.4#6332)