Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error 1053 When Starting Windows XP Service Running Mongo DB 1.6.3

I'm trying to set up MongoDB 1.6.3 on my Windows XP SP 3 machine.

I've followed the instructions from the MongoDB wiki. I can see the Windows service installed but not started.

The path to the executable looks like this:

"C:\Tools\mongodb-win32-i386-1.6.3\bin\mongod" --bind_ip  127.0.0.1  --logpath  c:/mongodb/logs/mongodb.log  --logappend  --dbpath  "c:/mongodb/data"  --directoryperdb  MongoDB  --service  

When I try to start the service I get an error popup with the following message:

Error 1053: The service did not respond to the start or control request in a timely fashion.

Changed the dbpath and logpath to c:/data/db and c:/data/logs/mongodb.log respectively, but the result was the same.

I've checked to make sure that all directories and files do indeed exist - no worries there.

I just tried it again @ 1:18 PM EDT, got the same error, and saw this in the log file:

Sun Sep 26 13:18:15 dbexit: 

Sun Sep 26 13:18:15 shutdown: going to close listening sockets...
Sun Sep 26 13:18:15 shutdown: going to flush oplog...
Sun Sep 26 13:18:15 shutdown: going to close sockets...
Sun Sep 26 13:18:15 shutdown: waiting for fs preallocator...
Sun Sep 26 13:18:15 shutdown: closing all files...
Sun Sep 26 13:18:15     closeAllFiles() finished

Sun Sep 26 13:18:15 dbexit: really exiting now

So I believe the log file is set up properly and working correctly, but the info I get isn't helpful.

One more useful bit: I can run MongoDB without any issues if I open a command shell and start it up on the command line.

Any advice on where I went wrong or corrections would be greatly appreciated.

like image 407
duffymo Avatar asked Sep 26 '10 16:09

duffymo


1 Answers

If one of the directories in logpath or dbpath doesn't exist, it will fail to start. So make sure the paths point to existing directories.

If the paths do exist, check the log file for more information on what went wrong.

In response to your update

I have been able to reproduce the problem and noticed the error code 0xc0000417 when I tried to debug it with Visual Studio. This is a STATUS_INVALID_CRUNTIME_PARAMETER error, which means that an invalid parameter was passed to a C runtime function.

As you posted, the path to the executable is:

C:\Tools\mongodb-win32-i386-1.6.3\bin\mongod" --bind_ip 127.0.0.1 --logpath c:/mongodb/logs/mongodb.log --logappend --dbpath "c:/mongodb/data" --directoryperdbMongoDB--service

Now, when I tried to run the executable from a command prompt, it failed with the following message:

Invalid command: MongoDB

I have highlighted this faulty 'parameter' in the path above. It is the argument that is passed to the serviceName parameter, but the --serviceName directive itself was wrongly omitted. The correct path should be:

C:\Tools\mongodb-win32-i386-1.6.3\bin\mongod" --bind_ip 127.0.0.1 --logpath c:/mongodb/logs/mongodb.log --logappend --dbpath "c:/mongodb/data" --directoryperdb--serviceName MongoDB--service

Possible ways to fix it

You could edit the path to the executable in the registry, by changing the ImagePath in the following key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MongoDB

Another option is to simply omit the serviceName parameter during installation, because MongoDB's service support is still flawed.

like image 127
Niels van der Rest Avatar answered Sep 29 '22 10:09

Niels van der Rest