marwanAmeen / openjsip

Automatically exported from code.google.com/p/openjsip
Apache License 2.0
1 stars 0 forks source link

RMI security class not found exception #4

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
We had 2 different machines experience a strange issue with the location server 
starting up.  The rmiregistry is running, but the location service will abort 
at startup with a unmarshalling exception, stating that the class loader could 
not be started.  I could not figure out what the problem is.  Have you ever 
seen this?

Original issue reported on code.google.com by panti...@gmail.com on 6 Nov 2011 at 8:39

GoogleCodeExporter commented 9 years ago
2011-11-05 19:06:50,125  [main] INFO  - Starting Location Service server 
v0.0.4...
2011-11-05 19:06:50,140  [main] INFO  - Default domain: ism.com
2011-11-05 19:06:50,140  [main] INFO  - Reading user database...
2011-11-05 19:06:50,156  [main] INFO  - Domain ism.com contains 9 records.
2011-11-05 19:06:50,156  [main] INFO  - SNMP agent started at port 1161 with 
community public
2011-11-05 19:06:50,156  [main] INFO  - Bindings refresh period: 5 seconds.
2011-11-05 19:06:50,187  [main] ERROR - 
java.rmi.ServerException: RemoteException occurred in server thread; nested 
exception is: 
                java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
                java.lang.ClassNotFoundException: access to class loader denied
                at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:400)
                at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:248)
                at sun.rmi.transport.Transport$1.run(Transport.java:159)
                at java.security.AccessController.doPrivileged(Native Method)
                at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
                at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
                at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
                at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
                at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
                at java.lang.Thread.run(Thread.java:662)
                at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source)
                at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
                at sun.rmi.server.UnicastRef.invoke(Unknown Source)
                at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)
                at java.rmi.Naming.rebind(Unknown Source)
                at openjsip.locationservice.LocationService.main(Unknown Source)
Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested 
exception is: 
                java.lang.ClassNotFoundException: access to class loader denied
                at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
                at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:390)
                at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:248)
                at sun.rmi.transport.Transport$1.run(Transport.java:159)
                at java.security.AccessController.doPrivileged(Native Method)
                at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
                at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
                at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
                at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
                at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
                at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.ClassNotFoundException: access to class loader denied
                at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:584)
                at java.rmi.server.RMIClassLoader$2.loadProxyClass(RMIClassLoader.java:628)
                at java.rmi.server.RMIClassLoader.loadProxyClass(RMIClassLoader.java:294)
                at sun.rmi.server.MarshalInputStream.resolveProxyClass(MarshalInputStream.java:238)
                at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1530)
                at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1492)
                at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731)
                at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
                at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
                ... 12 more
Caused by: java.security.AccessControlException: access denied 
(java.io.FilePermission \c:\openjsip\lib\- read)
                at java.security.AccessControlContext.checkPermission(AccessControlContext.java:374)
                at java.security.AccessController.checkPermission(AccessController.java:546)
                at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
                at sun.rmi.server.LoaderHandler$Loader.checkPermissions(LoaderHandler.java:1154)
                at sun.rmi.server.LoaderHandler$Loader.access$000(LoaderHandler.java:1108)
                at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:550)
                ... 20 more
2011-11-05 19:06:50,187  [Thread-4] INFO  - Shutting down...

Original comment by panti...@gmail.com on 6 Nov 2011 at 9:06

GoogleCodeExporter commented 9 years ago
It might be that policy.all file is not in action. 
Are you running the service via startup script ?
And check whether you specified the correct path to installation directory in 
startup scripts under bin/ folder.

Original comment by ykrapiva@gmail.com on 9 Nov 2011 at 7:25

GoogleCodeExporter commented 9 years ago

Original comment by ykrapiva@gmail.com on 28 Aug 2013 at 6:37

GoogleCodeExporter commented 9 years ago
I had the same error with JDK 7u21 running on debian. As of JDK 7u21, the 
java.rmi.server.useCodebaseOnly property is true by default, whereas in prior 
releases it was false by default. To get things up and running I had to startup 
rmiregistry with the java.rmi.server.useCodebaseOnly property set to false, as 
follows:

rmiregistry -J-Djava.rmi.server.useCodebaseOnly=false

Original comment by wittigma...@googlemail.com on 6 Jan 2014 at 12:00