hadoop-hdfs-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brian Bockelman (JIRA)" <j...@apache.org>
Subject [jira] Created: (HDFS-838) libhdfs causes a segfault due to race condition
Date Wed, 16 Dec 2009 14:15:18 GMT
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

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message