{"id":6576,"date":"2014-04-20T13:42:03","date_gmt":"2014-04-20T13:42:03","guid":{"rendered":"https:\/\/unknownerror.org\/index.php\/2014\/04\/20\/rmi-java-security-accesscontrolexception-collection-of-common-programming-errors\/"},"modified":"2014-04-20T13:42:03","modified_gmt":"2014-04-20T13:42:03","slug":"rmi-java-security-accesscontrolexception-collection-of-common-programming-errors","status":"publish","type":"post","link":"https:\/\/unknownerror.org\/index.php\/2014\/04\/20\/rmi-java-security-accesscontrolexception-collection-of-common-programming-errors\/","title":{"rendered":"rmi java.security.AccessControlException-Collection of common programming errors"},"content":{"rendered":"<p>I am new to RIM, and currently taking the tutorial at http:\/\/java.sun.com\/docs\/books\/tutorial\/rmi\/overview.html<\/p>\n<p>I am able to start server like:<\/p>\n<pre>\nC:\\Documents and Settings\\myHome&gt;java -cp c:\\home\\ann\\src;c:\\home\\ann\\public_\nhtml\\classes\\compute.jar -Djava.rmi.server.codebase=file:\/c:\/home\/ann\/public_htm\nl\/classes\/compute.jar -Djava.rmi.server.hostname=localhost -Djava.security.polic\ny=c:\\home\\ann\\policy\\server.policy engine.ComputeEngine\nComputeEngine bound\n<\/pre>\n<p>However, when i try to run client i got exceptions<\/p>\n<pre>\naccess: access allowed (java.lang.RuntimePermission createClassLoader)\naccess: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks\n)\naccess: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks\n)\naccess: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks\n)\naccess: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks\n)\nComputePi exception:\njava.rmi.ServerException: RemoteException occurred in server thread; nested exce\nption is:\n        java.rmi.UnmarshalException: error unmarshalling arguments; nested excep\ntion is:\n        java.lang.ClassNotFoundException: access to class loader denied\n        at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)\n        at sun.rmi.transport.Transport$1.run(Unknown Source)\n        at java.security.AccessController.doPrivileged(Native Method)\n        at sun.rmi.transport.Transport.serviceCall(Unknown Source)\n        at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)\n        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Sou\nrce)\n        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Sour\nce)\n        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source\n)\n        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\n        at java.lang.Thread.run(Unknown Source)\n        at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknow\nn Source)\n        at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)\n        at sun.rmi.server.UnicastRef.invoke(Unknown Source)\n        at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(Unkn\nown Source)\n        at java.rmi.server.RemoteObjectInvocationHandler.invoke(Unknown Source)\n        at $Proxy0.executeTask(Unknown Source)\n        at client.ComputePi.main(ComputePi.java:27)\nCaused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested ex\nception is:\n        java.lang.ClassNotFoundException: access to class loader denied\n        at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)\n        at sun.rmi.transport.Transport$1.run(Unknown Source)\n        at java.security.AccessController.doPrivileged(Native Method)\n        at sun.rmi.transport.Transport.serviceCall(Unknown Source)\n        at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)\n        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Sou\nrce)\n        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Sour\nce)\n        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source\n)\n        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\n        at java.lang.Thread.run(Unknown Source)\nCaused by: java.lang.ClassNotFoundException: access to class loader denied\n        at sun.rmi.server.LoaderHandler.loadClass(Unknown Source)\n        at sun.rmi.server.LoaderHandler.loadClass(Unknown Source)\n        at java.rmi.server.RMIClassLoader$2.loadClass(Unknown Source)\n        at java.rmi.server.RMIClassLoader.loadClass(Unknown Source)\n        at sun.rmi.server.MarshalInputStream.resolveClass(Unknown Source)\n        at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)\n        at java.io.ObjectInputStream.readClassDesc(Unknown Source)\n        at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)\n        at java.io.ObjectInputStream.readObject0(Unknown Source)\n        at java.io.ObjectInputStream.readObject(Unknown Source)\n        at sun.rmi.server.UnicastRef.unmarshalValue(Unknown Source)\n        ... 10 more\nCaused by: java.security.AccessControlException: access denied (java.io.FilePerm\nission \\c:\\home\\jones\\public_html\\classes\\- read)\n        at java.security.AccessControlContext.checkPermission(Unknown Source)\n        at java.security.AccessController.checkPermission(Unknown Source)\n        at java.lang.SecurityManager.checkPermission(Unknown Source)\n        at sun.rmi.server.LoaderHandler$Loader.checkPermissions(Unknown Source)\n        at sun.rmi.server.LoaderHandler$Loader.access$000(Unknown Source)\n        ... 21 more\n<\/pre>\n<p>i believe the problem is the client policy file for client (correct if i am wrong please), as we can see from stack trace<\/p>\n<pre>\nCaused by: java.security.AccessControlException: access denied (java.io.FilePerm\nission \\c:\\home\\jones\\public_html\\classes\\- read)\n<\/pre>\n<p>However, my client.policy file looks like<\/p>\n<pre>\ngrant codeBase \"file:\/c:\/home\/jones\/public_html\/classes\/-\" {\n    permission java.security.AllPermission;\n };\ngrant{\n    permission java.net.SocketPermission \"127.0.0.1:1024-65535\", \"connect,resolve\";\n};\n<\/pre>\n<p>There are AllPermission for codeBase &#8220;file:\/c:\/home\/jones\/public_html\/classes\/-&#8220;.<\/p>\n<p>So, did i set the codeBase permission wrong, so there are more permission client application needs?<\/p>\n<p>Thanks!!!<\/p>\n<p>Update: if i move the client.policy file to C:\\Program Files\\Java\\jre6\\lib\\security and i start the client with<\/p>\n<pre>\nC:\\Documents and Settings\\jianzhang&gt;java -cp c:\\home\\jones\\src;c:\\home\\jones\\pub\nlic_html\\classes\\compute.jar -Djava.rmi.server.codebase=file:\/c:\/home\/jones\/publ\nic_html\/classes\/ -Djava.security.policy=client.policy -Djava.security.debug=acce\nss,failure client.ComputePi localhost 45\n<\/pre>\n<p>i got exception<\/p>\n<pre>\nComputePi exception:\njava.security.AccessControlException: access denied (java.net.SocketPermission 1\n27.0.0.1:1099 connect,resolve)\n        at java.security.AccessControlContext.checkPermission(Unknown Source)\n        at java.security.AccessController.checkPermission(Unknown Source)\n        at java.lang.SecurityManager.checkPermission(Unknown Source)\n        at java.lang.SecurityManager.checkConnect(Unknown Source)\n        at java.net.Socket.connect(Unknown Source)\n        at java.net.Socket.connect(Unknown Source)\n        at java.net.Socket.(Unknown Source)\n        at java.net.Socket.(Unknown Source)\n        at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(Unknown S\nource)\n        at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(Unknown S\nource)\n        at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source)\n        at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source)\n        at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source)\n        at sun.rmi.server.UnicastRef.newCall(Unknown Source)\n        at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)\n        at client.ComputePi.main(ComputePi.java:25)\n<\/pre>\n<p>However, the client.policy file has specified<\/p>\n<pre>\ngrant{\n    permission java.net.SocketPermission \"127.0.0.1:1024-65535\", \"connect,resolve\";\n};\n<\/pre>\n<p>Update with full stack trace Here is the full stack trace,<\/p>\n<pre>\nC:\\home\\jones\\src&gt;java -cp C:\\home\\jones\\src;C:\\home\\jones\\public_html\\classes\\c\nompute.jar;C:\\home\\jones\\public_html\\classes -Djava.rmi.server.codebase=file:\/C:\n\/home\/jones\/public_html\/classes\/ -Djava.security.policy=client.policy -Djava.sec\nurity.debug=access,failure client.ComputePi localhost 45\naccess: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks\n)\naccess: access allowed (java.security.SecurityPermission getProperty.policy.expa\nndProperties)\naccess: access allowed (java.security.SecurityPermission getProperty.policy.igno\nreIdentityScope)\naccess: access allowed (java.security.SecurityPermission getProperty.policy.allo\nwSystemProperty)\naccess: access allowed (java.util.PropertyPermission sun.security.policy.utf8 re\nad)\naccess: access allowed (java.util.PropertyPermission sun.security.policy.numcach\nes read)\naccess: access allowed (java.util.PropertyPermission java.security.policy read)\naccess: access allowed (java.util.PropertyPermission user.dir read)\naccess: access allowed (java.io.FilePermission C:\\home\\jones\\src\\client.policy r\nead)\naccess: access allowed (java.io.FilePermission client.policy read)\naccess: access allowed (java.security.SecurityPermission getProperty.policy.url.\n1)\naccess: access allowed (java.util.PropertyPermission java.home read)\naccess: access allowed (java.io.FilePermission C:\\Program Files\\Java\\jre6\\lib\\se\ncurity\\java.policy read)\naccess: access allowed (java.io.FilePermission C:\\Program Files\\Java\\jre6\\lib\\se\ncurity\\java.policy read)\naccess: access allowed (java.io.FilePermission C:\\Program Files\\Java\\jre6\\lib\\se\ncurity\\java.policy read)\naccess: access allowed (java.io.FilePermission C:\\Program Files\\Java\\jre6\\lib\\se\ncurity\\java.policy read)\naccess: access allowed (java.util.PropertyPermission java.ext.dirs read)\naccess: access allowed (java.io.FilePermission C:\\Program Files\\Java\\jre6\\lib\\ex\nt\\* read)\naccess: access allowed (java.io.FilePermission C:\\WINDOWS\\Sun\\Java\\lib\\ext\\* rea\nd)\naccess: access allowed (java.security.SecurityPermission getProperty.policy.url.\n2)\naccess: access allowed (java.util.PropertyPermission user.home read)\naccess: access allowed (java.io.FilePermission C:\\Documents and Settings\\anga\nng\\.java.policy read)\naccess: access allowed (java.io.FilePermission C:\\Documents and Settings\\anga\nng\\.java.policy read)\naccess: access allowed (java.io.FilePermission C:\\Documents and Settings\\anga\nng\\.java.policy read)\naccess: access allowed (java.security.SecurityPermission getProperty.policy.url.\n3)\naccess: access allowed (java.util.PropertyPermission java.security.auth.policy r\nead)\naccess: access allowed (java.security.SecurityPermission getProperty.auth.policy\n.url.1)\naccess: access allowed (java.lang.RuntimePermission accessClassInPackage.sun.sec\nurity.provider)\naccess: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks\n)\naccess: access allowed (java.util.PropertyPermission java.security.egd read)\naccess: access allowed (java.security.SecurityPermission getProperty.securerando\nm.source)\naccess: access allowed (java.security.SecurityPermission putProviderProperty.SUN\n)\naccess: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks\n)\naccess: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks\n)\naccess: access allowed (java.util.PropertyPermission * read,write)\naccess: access allowed (java.util.PropertyPermission os.arch read)\naccess: access allowed (java.util.PropertyPermission java.net.preferIPv6Addresse\ns read)\naccess: access allowed (java.lang.RuntimePermission loadLibrary.net)\naccess: access allowed (java.io.FilePermission C:\\Program Files\\Java\\jre6\\bin\\ne\nt.dll read)\naccess: access allowed (java.util.PropertyPermission java.net.preferIPv4Stack re\nad)\naccess: access allowed (java.util.PropertyPermission impl.prefix read)\naccess: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks\n)\naccess: access allowed (java.util.PropertyPermission sun.net.spi.nameservice.pro\nvider.1 read)\naccess: access allowed (java.net.SocketPermission myComputer resolve)\naccess: access allowed (java.security.SecurityPermission getProperty.networkaddr\ness.cache.ttl)\naccess: access allowed (java.util.PropertyPermission sun.net.inetaddr.ttl read)\naccess: access allowed (java.security.SecurityPermission getProperty.networkaddr\ness.cache.negative.ttl)\naccess: access allowed (java.io.FilePermission C:\\Documents and Settings\\anga\nng\\Local Settings\\Temp read)\naccess: access allowed (java.io.FilePermission C:\\Documents and Settings\\anga\nng\\Local Settings\\Temp read)\naccess: access allowed (java.io.FilePermission C:\\Documents and Settings\\anga\nng\\Local Settings\\Temp read)\naccess: access allowed (java.io.FilePermission C:\\Documents and Settings\\anga\nng\\Local Settings\\Temp read)\naccess: access allowed (java.io.FilePermission C:\\DOCUME~1\\ang~1\\LOCALS~1\\Tem\np read)\naccess: access allowed (java.util.PropertyPermission java.rmi.server.hostname re\nad)\naccess: access allowed (java.io.FilePermission C:\\home\\jones\\src read)\naccess: access denied (java.net.SocketPermission myComputer resolve)\njava.lang.Exception: Stack trace\n        at java.lang.Thread.dumpStack(Unknown Source)\n        at java.security.AccessControlContext.checkPermission(Unknown Source)\n        at java.security.AccessController.checkPermission(Unknown Source)\n        at java.lang.SecurityManager.checkPermission(Unknown Source)\n        at java.lang.SecurityManager.checkConnect(Unknown Source)\n        at java.net.InetAddress.getLocalHost(Unknown Source)\n        at sun.rmi.transport.tcp.TCPEndpoint.(Unknown Source)\n        at java.rmi.registry.LocateRegistry.getRegistry(Unknown Source)\n        at java.rmi.registry.LocateRegistry.getRegistry(Unknown Source)\n        at java.rmi.registry.LocateRegistry.getRegistry(Unknown Source)\n        at client.ComputePi.main(ComputePi.java:24)\naccess: access allowed (java.security.SecurityPermission getPolicy)\naccess: access allowed (java.io.FilePermission C:\\home\\jones\\src read)\naccess: domain that failed ProtectionDomain  (file:\/C:\/home\/jones\/src\/ )\n sun.misc.Launcher$AppClassLoader@1b90b39\n \n java.security.Permissions@d70d7a (\n (java.lang.RuntimePermission stopThread)\n (java.lang.RuntimePermission exitVM)\n (java.io.FilePermission \\C:\\home\\jones\\src\\- read)\n (java.util.PropertyPermission line.separator read)\n (java.util.PropertyPermission java.vm.version read)\n (java.util.PropertyPermission java.vm.specification.version read)\n (java.util.PropertyPermission java.vm.specification.vendor read)\n (java.util.PropertyPermission java.vendor.url read)\n (java.util.PropertyPermission java.vm.name read)\n (java.util.PropertyPermission os.name read)\n (java.util.PropertyPermission java.vm.vendor read)\n (java.util.PropertyPermission path.separator read)\n (java.util.PropertyPermission java.specification.name read)\n (java.util.PropertyPermission os.version read)\n (java.util.PropertyPermission os.arch read)\n (java.util.PropertyPermission java.class.version read)\n (java.util.PropertyPermission java.version read)\n (java.util.PropertyPermission file.separator read)\n (java.util.PropertyPermission java.vendor read)\n (java.util.PropertyPermission java.vm.specification.name read)\n (java.util.PropertyPermission java.specification.version read)\n (java.util.PropertyPermission java.specification.vendor read)\n (java.net.SocketPermission localhost:1024- listen,resolve)\n)\n\n\naccess: access allowed (java.util.PropertyPermission java.rmi.server.useLocalHos\ntName read)\naccess: access allowed (java.util.PropertyPermission sun.rmi.transport.logLevel\nread)\naccess: access allowed (java.util.PropertyPermission sun.rmi.log.useOld read)\naccess: access allowed (java.util.PropertyPermission java.util.logging.manager r\nead)\naccess: access allowed (java.lang.RuntimePermission setContextClassLoader)\naccess: access allowed (java.lang.RuntimePermission shutdownHooks)\naccess: access allowed (java.util.logging.LoggingPermission control)\naccess: access allowed (java.util.PropertyPermission java.util.logging.config.cl\nass read)\naccess: access allowed (java.util.PropertyPermission java.util.logging.config.fi\nle read)\naccess: access allowed (java.util.PropertyPermission java.home read)\naccess: access allowed (java.io.FilePermission C:\\Program Files\\Java\\jre6\\lib\\lo\ngging.properties read)\naccess: access allowed (java.io.FilePermission C:\\Program Files\\Java\\jre6\\lib\\lo\ngging.properties read)\naccess: access allowed (java.io.FilePermission C:\\Program Files\\Java\\jre6\\lib\\lo\ngging.properties read)\naccess: access allowed (java.util.logging.LoggingPermission control)\naccess: access allowed (java.util.logging.LoggingPermission control)\naccess: access allowed (java.util.logging.LoggingPermission control)\naccess: access allowed (java.util.logging.LoggingPermission control)\naccess: access allowed (java.util.logging.LoggingPermission control)\naccess: access allowed (java.util.logging.LoggingPermission control)\naccess: access allowed (java.util.PropertyPermission line.separator read)\naccess: access allowed (java.util.PropertyPermission line.separator read)\naccess: access allowed (java.util.logging.LoggingPermission control)\naccess: access allowed (java.util.PropertyPermission sun.rmi.transport.tcp.logLe\nvel read)\naccess: access allowed (java.util.logging.LoggingPermission control)\naccess: access allowed (java.util.PropertyPermission sun.rmi.transport.tcp.maxCo\nnnectionThreads read)\naccess: access allowed (java.util.PropertyPermission sun.rmi.transport.tcp.threa\ndKeepAliveTime read)\naccess: access allowed (java.util.PropertyPermission sun.rmi.transport.proxy.log\nLevel read)\naccess: access allowed (java.util.logging.LoggingPermission control)\naccess: access allowed (java.util.PropertyPermission sun.rmi.transport.proxy.con\nnectTimeout read)\naccess: access allowed (java.util.PropertyPermission sun.rmi.transport.proxy.eag\nerHttpFallback read)\naccess: access allowed (java.util.PropertyPermission http.proxyHost read)\naccess: access allowed (java.util.PropertyPermission proxyHost read)\naccess: access allowed (java.util.PropertyPermission java.rmi.server.disableHttp\n read)\naccess: access allowed (java.util.PropertyPermission sun.rmi.transport.tcp.readT\nimeout read)\naccess: access allowed (java.util.PropertyPermission sun.rmi.server.logLevel rea\nd)\naccess: access allowed (java.util.logging.LoggingPermission control)\naccess: access allowed (java.util.PropertyPermission java.rmi.server.ignoreStubC\nlasses read)\naccess: access allowed (java.util.logging.LoggingPermission control)\naccess: access allowed (java.util.PropertyPermission sun.rmi.client.logCalls rea\nd)\naccess: access allowed (java.util.logging.LoggingPermission control)\naccess: access allowed (java.util.PropertyPermission java.rmi.server.hostname re\nad)\naccess: access allowed (java.util.PropertyPermission sun.rmi.transport.connectio\nnTimeout read)\naccess: access allowed (java.util.PropertyPermission sun.rmi.transport.tcp.hands\nhakeTimeout read)\naccess: access allowed (java.util.PropertyPermission sun.rmi.transport.tcp.respo\nnseTimeout read)\naccess: access allowed (java.util.logging.LoggingPermission control)\naccess: access allowed (java.util.PropertyPermission sun.rmi.runtime.schedulerTh\nreads read)\naccess: access allowed (java.lang.RuntimePermission sun.rmi.runtime.RuntimeUtil.\ngetInstance)\naccess: access allowed (java.net.SocketPermission localhost resolve)\naccess: access allowed (java.lang.RuntimePermission loadLibrary.net)\naccess: access allowed (java.io.FilePermission C:\\Program Files\\Java\\jre6\\bin\\ne\nt.dll read)\naccess: access denied (java.net.SocketPermission 127.0.0.1:1099 connect,resolve)\n\njava.lang.Exception: Stack trace\n        at java.lang.Thread.dumpStack(Unknown Source)\n        at java.security.AccessControlContext.checkPermission(Unknown Source)\n        at java.security.AccessController.checkPermission(Unknown Source)\n        at java.lang.SecurityManager.checkPermission(Unknown Source)\n        at java.lang.SecurityManager.checkConnect(Unknown Source)\n        at java.net.Socket.connect(Unknown Source)\n        at java.net.Socket.connect(Unknown Source)\n        at java.net.Socket.(Unknown Source)\n        at java.net.Socket.(Unknown Source)\n        at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(Unknown S\nource)\n        at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(Unknown S\nource)\n        at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source)\n        at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source)\n        at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source)\n        at sun.rmi.server.UnicastRef.newCall(Unknown Source)\n        at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)\n        at client.ComputePi.main(ComputePi.java:25)\naccess: access allowed (java.security.SecurityPermission getPolicy)\naccess: access allowed (java.io.FilePermission C:\\home\\jones\\src read)\naccess: domain that failed ProtectionDomain  (file:\/C:\/home\/jones\/src\/ )\n sun.misc.Launcher$AppClassLoader@1b90b39\n \n java.security.Permissions@77158a (\n (java.lang.RuntimePermission stopThread)\n (java.lang.RuntimePermission exitVM)\n (java.io.FilePermission \\C:\\home\\jones\\src\\- read)\n (java.util.PropertyPermission line.separator read)\n (java.util.PropertyPermission java.vm.version read)\n (java.util.PropertyPermission java.vm.specification.version read)\n (java.util.PropertyPermission java.vm.specification.vendor read)\n (java.util.PropertyPermission java.vendor.url read)\n (java.util.PropertyPermission java.vm.name read)\n (java.util.PropertyPermission os.name read)\n (java.util.PropertyPermission java.vm.vendor read)\n (java.util.PropertyPermission path.separator read)\n (java.util.PropertyPermission java.specification.name read)\n (java.util.PropertyPermission os.version read)\n (java.util.PropertyPermission os.arch read)\n (java.util.PropertyPermission java.class.version read)\n (java.util.PropertyPermission java.version read)\n (java.util.PropertyPermission file.separator read)\n (java.util.PropertyPermission java.vendor read)\n (java.util.PropertyPermission java.vm.specification.name read)\n (java.util.PropertyPermission java.specification.version read)\n (java.util.PropertyPermission java.specification.vendor read)\n (java.net.SocketPermission localhost:1024- listen,resolve)\n)\n\n\nComputePi exception:\njava.security.AccessControlException: access denied (java.net.SocketPermission 1\n27.0.0.1:1099 connect,resolve)\n        at java.security.AccessControlContext.checkPermission(Unknown Source)\n        at java.security.AccessController.checkPermission(Unknown Source)\n        at java.lang.SecurityManager.checkPermission(Unknown Source)\n        at java.lang.SecurityManager.checkConnect(Unknown Source)\n        at java.net.Socket.connect(Unknown Source)\n        at java.net.Socket.connect(Unknown Source)\n        at java.net.Socket.(Unknown Source)\n        at java.net.Socket.(Unknown Source)\n        at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(Unknown S\nource)\n        at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(Unknown S\nource)\n        at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source)\n        at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source)\n        at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source)\n        at sun.rmi.server.UnicastRef.newCall(Unknown Source)\n        at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)\n        at client.ComputePi.main(ComputePi.java:25)\n\n<\/pre>\n<p>At line 80:<\/p>\n<pre>\naccess: access allowed (java.net.SocketPermission myComputer resolve)\n<\/pre>\n<p>however afrom line 99 to 111<\/p>\n<pre>\naccess: access denied (java.net.SocketPermission myComputer resolve)\njava.lang.Exception: Stack trace\n        at java.lang.Thread.dumpStack(Unknown Source)\n        at java.security.AccessControlContext.checkPermission(Unknown Source)\n        at java.security.AccessController.checkPermission(Unknown Source)\n        at java.lang.SecurityManager.checkPermission(Unknown Source)\n        at java.lang.SecurityManager.checkConnect(Unknown Source)\n        at java.net.InetAddress.getLocalHost(Unknown Source)\n        at sun.rmi.transport.tcp.TCPEndpoint.(Unknown Source)\n        at java.rmi.registry.LocateRegistry.getRegistry(Unknown Source)\n        at java.rmi.registry.LocateRegistry.getRegistry(Unknown Source)\n        at java.rmi.registry.LocateRegistry.getRegistry(Unknown Source)\n        at client.ComputePi.main(ComputePi.java:24)\n<\/pre>\n<p>Problem solved, see my another post<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I am new to RIM, and currently taking the tutorial at http:\/\/java.sun.com\/docs\/books\/tutorial\/rmi\/overview.html I am able to start server like: C:\\Documents and Settings\\myHome&gt;java -cp c:\\home\\ann\\src;c:\\home\\ann\\public_ html\\classes\\compute.jar -Djava.rmi.server.codebase=file:\/c:\/home\/ann\/public_htm l\/classes\/compute.jar -Djava.rmi.server.hostname=localhost -Djava.security.polic y=c:\\home\\ann\\policy\\server.policy engine.ComputeEngine ComputeEngine bound However, when i try to run client i got exceptions access: access allowed (java.lang.RuntimePermission createClassLoader) access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks ) access: [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-6576","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts\/6576","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/comments?post=6576"}],"version-history":[{"count":0,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts\/6576\/revisions"}],"wp:attachment":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/media?parent=6576"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/categories?post=6576"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/tags?post=6576"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}