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

jstests/sharding/sync6.js fails on Windows with Boost::filesystemv3

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 2.3.0
    • Affects Version/s: None
    • Component/s: Testing Infrastructure
    • Environment:
      Windows build slaves
    • Fully Compatible
    • ALL

      The test jstests/sharding/sync6.js tries to send output to "bitbucket", which it creates as "NUL:". In yesterday's switch from Boost::filesystem v2 to v3, we now get a different filespec created by using this name.

      Previously (with Boost::filesystem v2) we got:

      MongoDB shell version: 2.3.0-pre-
      null
      Wed Oct 10 06:14:57 shell: started program mongod.exe --port 30000 --dbpath /data/db/sync60 --noprealloc --smallfiles --oplogSize 40 --nohttpinterface --logpath NUL: --logappend
       m30000| all output going to: NUL:
      Wed Oct 10 06:14:57 shell: started program mongod.exe --port 30001 --dbpath /data/db/sync61 --noprealloc --smallfiles --oplogSize 40 --nohttpinterface --logpath NUL: --logappend
       m30001| all output going to: NUL:
      Wed Oct 10 06:14:58 shell: started program mongod.exe --port 30002 --dbpath /data/db/sync62 --noprealloc --smallfiles --oplogSize 40 --nohttpinterface --logpath NUL: --logappend
       m30002| all output going to: NUL:
      Wed Oct 10 06:14:58 SyncClusterConnection connecting to [localhost:30000]
      Wed Oct 10 06:14:58 SyncClusterConnection connecting to [localhost:30001]
      Wed Oct 10 06:14:58 SyncClusterConnection connecting to [localhost:30002]
      Wed Oct 10 06:14:58 shell: started program mongod.exe --port 30004 --dbpath /data/db/syncCommander --noprealloc --smallfiles --oplogSize 40 --nohttpinterface
      

      With Boost::filesystemv3 we get:

      MongoDB shell version: 2.3.0-pre-
      null
      Thu Oct 11 03:00:27 shell: started program mongod.exe --port 30000 --dbpath /data/db/sync60 --noprealloc --smallfiles --oplogSize 40 --nohttpinterface --logpath NUL: --logappend
      2012-10-11 03:10:27 EDT	
       m30000| Assertion failed: base.is_complete() && (ph.is_complete() || !ph.has_root_name()) && "boost::filesystem::complete() precondition not met", file D:\slave\Windows_64bit\mongo\src\third_party\boost\boost/filesystem/v2/operations.hpp, line 586
      assert.soon failed: function () {
          try {
              m = new Mongo("127.0.0.1:" + port);
              return true;
          } catch (e) {
          }
          return false;
      }, msg:unable to connect to mongo program on port 30000
      Error("Printing Stack Trace")@:0
      ()@src/mongo/shell/utils.js:37
      ("assert.soon failed: function () {\n    try {\n        m = new Mongo(\"127.0.0.1:\" + port);\n        return true;\n    } catch (e) {\n    }\n    return false;\n}, msg:unable to connect to mongo program on port 30000")@src/mongo/shell/utils.js:58
      ((function () {try {m = new Mongo("127.0.0.1:" + port);return true;} catch (e) {}return false;}),"unable to connect to mongo program on port 30000",600000)@src/mongo/shell/utils.js:167
      ("mongod","--port","30000","--dbpath","/data/db/sync60","--noprealloc","--smallfiles","--oplogSize","40","--nohttpinterface","--logpath","NUL:","--logappend")@src/mongo/shell/servers.js:667
      apply(null,[object Array])@:0
      ([object Object])@src/mongo/shell/servers.js:633
      apply(null,[object Array])@:0
      (30000,"sync60",false,[object Object])@src/mongo/shell/servers.js:610
      ("sync6",[object Object])@src/mongo/shell/servers_misc.js:225
      @D:\slave\Windows_64bit\mongo\jstests\sharding\sync6.js:16
      Thu Oct 11 03:10:27 uncaught exception: assert.soon failed: function () {
          try {
              m = new Mongo("127.0.0.1:" + port);
              return true;
          } catch (e) {
          }
          return false;
      }, msg:unable to connect to mongo program on port 30000
      failed to load: D:\slave\Windows_64bit\mongo\jstests\sharding\sync6.js
      

      The v3 version of Boost::filesystem is generating an invalid (or so it says) file specification from "NUL:", whereas the v2 version left it as "NUL:".

            Assignee:
            tad Tad Marshall
            Reporter:
            tad Tad Marshall
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: