Can't start multiuser Protege after reinstall/upgrade

Post Reply
bvasu

I have just completed installing the OS Essential Project on Windows Server 2016. It was working properly on another instance. This time I installed using all of the latest Essential Project downloads. I was successful up to and including the export of the ontology to a MySQL database from single user Protege 3.5. However, when I tried to start Protege 3.5 in the server mode I received the following error:

2020.05.09 07:26:30.861 PDT SEVERE: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: edu.stanford.smi.protege.server.Server_Stub
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:389)
at sun.rmi.transport.Transport$1.run(Transport.java:200)
at sun.rmi.transport.Transport$1.run(Transport.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:196)

I have diligently searched Google for a fix. It seems to relate to rmi. However, none of the suggestions that I have found seem to resolve the issue. I have attached pdfs of both the complete log and the server bat file. Any assistance would be much appreciated.

Thanks, Bill
You do not have the required permissions to view the files attached to this post.
jonathan.carter

Hi,

Thanks for including the PDF of your run_protege_server.bat file - that shows what the issue is.

This post describes the issue and the resolution.

In summary, from Java 7, a change to how Java RMI makes connections means that we need to provide a copy of the JAR file via HTTP instead of by File - at least that's the work-around for Protege.

So, copy "protege.jar" from <YOUR APPLICATIONS>\Protege 3.5\protege.jar to the root of your Essential Viewer deployed WAR (the unpacked folder, not the single WAR file). Then you can update your run_protege_server.bat to change the value of the CODEBASE_URL variable to be (e.g.):

Code: Select all

set CODEBASE_URL=httpL//localhost:8080/essential_viewer/protege.jar
Make sure that Tomcat is running before you attempt to start Protege Server

Jonathan
bvasu

Thanks Jonathan,

That seemed to work for a while. The server window now indicates:

Protege server ready to accept connections...

However, after a few weeks, the server is starting fine but in the rmiregistry.exe window I now get:

Could not set up class specific logging
Exception configuring logger
Could not set logger level
Warning: IO exception getting logger. access denied ("java.util.PropertyPermission" "protege.properties.in.user.home" "read")

and I am unable to connect remotely.

I have spent hours trying to fix this to no avail. Any ideas?

Thanks!

Bill
jonathan.carter

Hi Bill,

Let's follow this one up in your post, here
Post Reply