Stardog service for Windows no longer working

1 view
Skip to first unread message

Ron Michael Zettlemoyer

unread,
Jan 27, 2013, 3:11:11 PM1/27/13
to sta...@clarkparsia.com
I am having some problems with the Stardog service for Windows. I was great up to version 1.1; whenever I installed new versions of Stardog, I just stopped the service, applied the updates, and restarted the service. Today was the first time since installing 1.1 that I had to stop Stardog and it refused to stop from the service manager. In fact it actually wound up hanging my EC2 instance and I had to reboot it from the AWS console.

After it rebooted I was able to delete the lock file and manually start Stardog and it worked fine. (no corruption!)  I stopped it again and installed Stardog 1.3 and manually started it from the command line. It worked great. I then stopped it (which worked fine) and tried to start it with the Windows service manager. The service appeared to start, and I could see stardog-server running in my processes, but I couldn't connect to it. So I tried to stop the service but the service refused to respond and would not stop (no system hang though). I had to manually kill the process. I could still start and stop Stardog from the command line with no issue though.

I tried uninstalling the service and re-installing it using the uninstall batch file but that didn't help. It still behaved as described above. I also tried going back to my 1.0.8 copy of Stardog and it did the same thing.

I am kind wondering if the service is starting Stardog at a different HTTP port then I've been using till now (8989). But, even though I must have set it once before, I can't see where you set that, and I can't tell what port Stardog is running on. (although I know there is some command line tool that'll show me running processes and the ports they are using, but I don't remember what that is).  That wouldn't explain why it doesn't stop though.  

I've attached the log files.  Any ideas?



Archive.zip

Blazej Bulka

unread,
Jan 28, 2013, 8:54:00 AM1/28/13
to sta...@clarkparsia.com
I looked in the log files you sent, and it looks like your JVM has trouble loading some of its dll files:

Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Program Files\Java\jre7\bin\net.dll: A dynamic link library (DLL) initialization routine failed

Was your OS or JVM updated recently? Is it possible that you have multiple installations of Java on your machine?

Another interesting line from the log file is:

java.io.IOException: Unable to establish loopback connection

I suspect that this could be caused by the problems with loading the DLL file above, but is it possible that you are running another Stardog Server process somewhere else on this machine (i.e., different STARDOG_HOME), and they attempt to bind to the same port?


Blazej Bulka <bla...@clarkparsia.com>




--
-- --
You received this message because you are subscribed to the C&P "Stardog" group.
To post to this group, send email to sta...@clarkparsia.com
To unsubscribe from this group, send email to
stardog+u...@clarkparsia.com
For more options, visit this group at
http://groups.google.com/a/clarkparsia.com/group/stardog?hl=en
 
 

Ron Michael Zettlemoyer

unread,
Jan 28, 2013, 9:47:54 AM1/28/13
to sta...@clarkparsia.com
Hi Blazej,

There are definitely no other instance of Stardog running. The JVM has not been updated. OS updates were applied on December 25th, but the Stardog service (1.1 at the time) was restarted without issue.  JRE6 and JRE7 are both installed on this machine, but it's been like that for a while and it's JRE7 that Stardog is using.

That said, I think I've fixed my issues. I noticed that when I started Stardog as a service it was no longer creating the lock file. It looks like this was a permissions issue; the service no longer had read/write access to the Stardog folder. (maybe the result of me recreating it)  So I set up the service with a user account that had permissions and Stardog was able to start properly. I was able to connect to it via HTTP at port 5822 and stop it normally.

This does raise the question of what was Stardog doing when it was started and didn't have permission to the directory? In subsequent restarts I wasn't getting any errors in the log files. I'm guessing the Java process was stuck at some error or warning but it wasn't getting logged and the service manager thought it was running normally?

I'm still not entirely sure what happened to cause all of this...  I've been running Stardog and applying updates like this for months without any issue, nothing has changed.  But I have seen many cases where all by itself Windows seems to make unexplained changes to security or files, so I'll just write this off as that.

Thanks!

PS - What's the proper way to set what port you want the service to start at?  I must have done it before, and I know how to do it from the regular command line, but I'm not sure how to do it for the service and I don't notice it in the docs.

Blazej Bulka

unread,
Jan 28, 2013, 10:05:37 AM1/28/13
to sta...@clarkparsia.com
Hi Ron,

On Mon, Jan 28, 2013 at 9:47 AM, Ron Michael Zettlemoyer <ron.zet...@fynydd.com> wrote:
PS - What's the proper way to set what port you want the service to start at?  I must have done it before, and I know how to do it from the regular command line, but I'm not sure how to do it for the service and I don't notice it in the docs.

You can change the parameters passed to Stardog Server on service startup in the following way:

1. Run 'stardog-serverw.exe" as Administrator 
2. Go to "Startup" tab
3. The field labeled "Arguments" contains what is passed to "stardog-admin" CLI. By default, it only contains "server start" but you can add there any option "server start" would accept; e.g., "server start --http 8989"

After you press "OK" or "Apply" you may need to restart the service for the changes to take effect. 

BTW. If you change things like SNARL port on which Stardog is listening (not HTTP!), or credentials for the Stardog's admin user, you also may need to update "stop-service.bat" to ensure that "server stop" request is sent to proper port or is authenticated properly.

Blaz

Ron Michael Zettlemoyer

unread,
Jan 28, 2013, 10:30:53 AM1/28/13
to sta...@clarkparsia.com
Ah, thanks Blaz.  I vaguely remembered running some kind of control panel like this when I first set up the service long ago but I couldn't remember where it was, or whether it was something you had in your original versions of the service installer but removed.
Reply all
Reply to author
Forward
0 new messages