[SERVER-8041] Unable to start mongos.exe on windows 32-bit Created: 28/Dec/12  Updated: 11/Jul/16  Resolved: 29/Dec/12

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: None
Fix Version/s: 2.3.2

Type: Bug Priority: Major - P3
Reporter: Ian Whalen (Inactive) Assignee: J Rassi
Resolution: Done Votes: 0
Labels: buildbot
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Operating System: ALL
Participants:

 Description   

http://buildlogs.mongodb.org/Windows%2032-bit/builds/5616/test/recent%20failures/bulk_insert.js

	
Thu Dec 27 23:34:01.329 shell: started program mongos.exe --port 30999 --configdb localhost:30000 --chunkSize 50 --setParameter enableTestCommands=1
2012-12-27 23:34:09 EST	
Could not start mongo program at 30999, process ended
Thu Dec 27 23:34:09.524 shell: started program mongos.exe --port 30998 --configdb localhost:30000 --chunkSize 50 --setParameter enableTestCommands=1
2012-12-27 23:34:11 EST	
Could not start mongo program at 30998, process ended



 Comments   
Comment by auto [ 28/Dec/12 ]

Author:

{u'date': u'2012-12-28T14:40:43Z', u'email': u'eliot@10gen.com', u'name': u'Eliot Horowitz'}

Message: SERVER-8041 don't have 2 "text" commands
Branch: master
https://github.com/mongodb/mongo/commit/903865b5d1fbdf4b3f9302fa92a9c1cc8488764a

Comment by Tad Marshall [ 28/Dec/12 ]

What is happening is that the ftsCommand and ftsCommandSharded instances of FTSCommand conflict in mongos because they both try to declare the "text" command. These objects are statically constructed, and so the order of creation is undefined. When the second one tries to register the "text" command, it uses log() to log the error message. Logstream has not been constructed yet, so we get a segfault/access violation when it tries to lock the mutex. In Windows, the unhandled exception filter has not been registered yet, so there is no code to handle the access violation and display a stack trace, so mongos.exe simply doesn't start. The same thing happens in balancer_policy_test.exe.

Moving the ftsCommand instance of FTSCommand from fts_command.cpp to fts_command_mongod.cpp prevents the conflict and makes only one instance of this object exist in each of mongod and mongos (and balancer_policy_test).

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