You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mesos.apache.org by "Jie Yu (JIRA)" <ji...@apache.org> on 2013/11/16 21:25:25 UTC

[jira] [Created] (MESOS-815) Race condition in process::ID::generate().

Jie Yu created MESOS-815:
----------------------------

             Summary: Race condition in process::ID::generate().
                 Key: MESOS-815
                 URL: https://issues.apache.org/jira/browse/MESOS-815
             Project: Mesos
          Issue Type: Bug
          Components: c++ api
         Environment: Linux gcc-4.2.1
            Reporter: Jie Yu
            Assignee: Jie Yu


string generate(const string& prefix)
{
  static map<string, int> prefixes;
  stringstream out; 
  out << __sync_add_and_fetch(&prefixes[prefix], 1);
  return prefix + "(" + out.str() + ")"; 
}

This function could be called from multiple threads and the std::map 'prefixes' is not protected by lock, leading to a race condition. This causes framework to segfault.



--
This message was sent by Atlassian JIRA
(v6.1#6144)