You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Brian Bockelman (JIRA)" <ji...@apache.org> on 2009/12/16 15:15:18 UTC
[jira] Created: (HDFS-838) libhdfs causes a segfault due to race
condition
libhdfs causes a segfault due to race condition
-----------------------------------------------
Key: HDFS-838
URL: https://issues.apache.org/jira/browse/HDFS-838
Project: Hadoop HDFS
Issue Type: Bug
Components: contrib/libhdfs
Affects Versions: 0.20.1, 0.20.2, 0.21.0, 0.22.0
Reporter: Brian Bockelman
The first libhdfs operation that is performed is not thread-safe; this is because the creation of a JVM is not protected by a mutex.
We have been able to trigger this by doing the following:
1) Start a few GNOME sessions on the box. Make sure you are running the gnome volume manager. The volume manager will perform a GETATTR operation on any newly mounted file system.
2) Start fuse-dfs in debug mode. As soon as it starts, you will see two or more GETATTR calls almost instantly.
3) fuse-dfs segfaults; if you ran this with GDB, you'll see a stack trace coming from libhdfs starting up a new JVM.
I imagine you could replicate this more simply by having two threads that call libhdfs simultaneously.
I have a patch for fuse-dfs which avoids the problem, but we probably need to fix it in libhdfs itself.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.