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

tcmalloc issues with OS X 10.10

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Major - P3
    • Resolution: Fixed
    • 2.8.0-rc0
    • 2.8.0-rc1
    • Internal Code
    • 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();

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: