[SERVER-7338] jstests/sharding/sync6.js fails on Windows with Boost::filesystemv3 Created: 12/Oct/12  Updated: 11/Jul/16  Resolved: 12/Oct/12

Status: Closed
Project: Core Server
Component/s: Testing Infrastructure
Affects Version/s: None
Fix Version/s: 2.3.0

Type: Bug Priority: Major - P3
Reporter: Tad Marshall Assignee: Tad Marshall
Resolution: Done Votes: 0
Labels: buildbot
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows build slaves


Backwards Compatibility: Fully Compatible
Operating System: ALL
Participants:

 Description   

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:".



 Comments   
Comment by auto [ 12/Oct/12 ]

Author:

{u'date': u'2012-10-12T00:45:16-07:00', u'email': u'tad@10gen.com', u'name': u'Tad Marshall'}

Message: SERVER-7338 In Windows, use NUL instead of NUL: in test

Boost::filesystem v3 generates a bad file specification from NUL:
in Windows. Use NUL instead. Either should have worked, so I
think this is actually a bug in Boost::filesystem v3.
Branch: master
https://github.com/mongodb/mongo/commit/cfd233fc99619d38c7be786277bcd9d929b2b7b0

Generated at Thu Feb 08 03:14:15 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.