Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-16185

tcmalloc issues with OS X 10.10

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 2.8.0-rc1
    • Affects Version/s: 2.8.0-rc0
    • Component/s: Internal Code
    • Labels:
      None
    • ALL
    • Hide

      Running this like so will reproduce the problem (the third fork will fail)
      ./mongo --nodb test.js

      You can even replace the "mongod" binary with "true" and it will still fail.

      var name = "mixed_storage_and_version";
      var oldVersion = "2.6";
      var newVersion = "latest";
      
      var nodes = {
          n0: {binVersion: newVersion},
          n1: {binVersion: newVersion},
          n2: {binVersion: newVersion}
      };
      printjson(nodes);
      
      var replTest = new ReplSetTest({nodes: nodes, name: name});
      var conns = replTest.startSet();
      
      Show
      Running this like so will reproduce the problem (the third fork will fail) ./mongo --nodb test.js You can even replace the "mongod" binary with "true" and it will still fail. var name = "mixed_storage_and_version" ; var oldVersion = "2.6" ; var newVersion = "latest" ; var nodes = { n0: {binVersion: newVersion}, n1: {binVersion: newVersion}, n2: {binVersion: newVersion} }; printjson(nodes); var replTest = new ReplSetTest({nodes: nodes, name: name}); var conns = replTest.startSet();

      The mongodb shell has the ability to fork new processes as part of our testing framework. After upgrading to OS X 10.10, I discovered that the shell now has odd behavior when forking: after forking successfully two times, the third fork fails. After calling the fork() function call, the parent receives a pid but the child never starts running and does not appear in a 'ps' process list.
      dtruss never shows the third fork system call completing, although it does show that the child process with the new pid is blocked on an internal semaphore.

      Compiling with --allocator=system seems to avoid this issue. Note that MCI builds already build binaries for Mac OS X without tcmalloc.

            Assignee:
            andrew.morrow@mongodb.com Andrew Morrow (Inactive)
            Reporter:
            milkie@mongodb.com Eric Milkie
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: