Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Matlab embedded interface can't initialize when the Scheduler is installed in a directory which contains spaces (Windows) #66

Closed
activeeon-bot opened this issue Jun 9, 2009 · 3 comments

Comments

@activeeon-bot
Copy link

Original issue created by Fabien Viale on 09, Jun 2009 at 11:15 AM - MSC-65


Here is the stack trace displayed :

org.objectweb.proactive.core.ProActiveException: Failed to create remote object (name=PA_JVM85475976)
at org.objectweb.proactive.core.remoteobject.RemoteObjectExposer.createRemoteObject(RemoteObjectExposer.java:160)
at org.objectweb.proactive.core.runtime.ProActiveRuntimeImpl.(ProActiveRuntimeImpl.java:274)
at org.objectweb.proactive.core.runtime.ProActiveRuntimeImpl.(ProActiveRuntimeImpl.java:163)
at org.objectweb.proactive.core.node.NodeFactory.getHalfBodiesNode(NodeFactory.java:141)
at org.objectweb.proactive.core.body.HalfBody.(HalfBody.java:93)
at org.objectweb.proactive.core.body.HalfBody.getHalfBody(HalfBody.java:80)
at org.objectweb.proactive.core.body.LocalBodyStore.getContext(LocalBodyStore.java:189)
at org.objectweb.proactive.api.PAActiveObject.getBodyOnThis(PAActiveObject.java:1298)
at org.objectweb.proactive.api.PAActiveObject.newActive(PAActiveObject.java:291)
at org.objectweb.proactive.api.PAActiveObject.newActive(PAActiveObject.java:126)
Caused by: org.objectweb.proactive.core.ProActiveException: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.net.MalformedURLException: no protocol: dossier/Nouveau
at org.objectweb.proactive.core.remoteobject.rmi.AbstractRmiRemoteObjectFactory.register(AbstractRmiRemoteObjectFactory.java:176)
at org.objectweb.proactive.core.remoteobject.rmi.AbstractRmiRemoteObjectFactory.createRemoteObject(AbstractRmiRemoteObjectFactory.java:263)
at org.objectweb.proactive.core.remoteobject.RemoteObjectExposer.createRemoteObject(RemoteObjectExposer.java:156)
... 9 more
Caused by: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.net.MalformedURLException: no protocol: dossier/Nouveau
at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:396)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:250)
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:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
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 org.objectweb.proactive.core.remoteobject.rmi.AbstractRmiRemoteObjectFactory.register(AbstractRmiRemoteObjectFactory.java:164)
... 11 more
Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.net.MalformedURLException: no protocol: dossier/Nouveau
at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:386)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:250)
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:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.net.MalformedURLException: no protocol: dossier/Nouveau
at java.net.URL.(URL.java:567)
at java.net.URL.(URL.java:464)
at java.net.URL.(URL.java:413)
at sun.rmi.server.LoaderHandler.pathToURLs(LoaderHandler.java:751)
at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:147)
at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:620)
at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:247)
at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:197)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
... 12 more
??? Java exception occurred:
java.lang.NullPointerException

at org.objectweb.proactive.core.node.NodeFactory.getHalfBodiesNode(NodeFactory.java:145)

at org.objectweb.proactive.core.body.HalfBody.(HalfBody.java:93)

at org.objectweb.proactive.core.body.HalfBody.getHalfBody(HalfBody.java:80)

at org.objectweb.proactive.core.body.LocalBodyStore.getContext(LocalBodyStore.java:189)

at org.objectweb.proactive.api.PAActiveObject.getBodyOnThis(PAActiveObject.java:1298)

at org.objectweb.proactive.api.PAActiveObject.newActive(PAActiveObject.java:291)

at org.objectweb.proactive.api.PAActiveObject.newActive(PAActiveObject.java:126)

Error in ==> PAconnect at 90
solver =
org.objectweb.proactive.api.PAActiveObject.newActive('org.ow2.proactive.scheduler.ext.matlab.embedded.AOMatlabEnvironment',(link: )
);

@activeeon-bot
Copy link
Author

Original comment posted by Fabien Viale on 09, Jun 2009 at 12:17 PM


Even after fixing the initial cause of this issue (see commit 12992), another problem appears subsequently, while trying to connect to the scheduler :

sun.misc.InvalidJarIndexException: Invalid index
at sun.misc.URLClassPath$JarLoader.getResource(Unknown Source)
at sun.misc.URLClassPath$JarLoader.getResource(Unknown Source)
at sun.misc.URLClassPath$JarLoader.findResource(Unknown Source)
at sun.misc.URLClassPath.findResource(Unknown Source)
at java.net.URLClassLoader$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findResource(Unknown Source)
at com.mathworks.jmi.CustomURLClassLoader.findResource(ClassLoaderManager.java:785)
at java.lang.ClassLoader.getResource(Unknown Source)
at java.lang.Class.getResource(Unknown Source)
at javassist.ClassClassPath.find(ClassClassPath.java:84)
at javassist.ClassPoolTail.find(ClassPoolTail.java:317)
at javassist.ClassPool.find(ClassPool.java:495)
at javassist.ClassPool.createCtClass(ClassPool.java:479)
at javassist.ClassPool.get0(ClassPool.java:445)
at javassist.ClassPool.get(ClassPool.java:414)
at javassist.compiler.MemberResolver.lookupClass0(MemberResolver.java:425)
at javassist.compiler.MemberResolver.lookupClass(MemberResolver.java:389)
at javassist.compiler.MemberResolver.lookupFieldByJvmName2(MemberResolver.java:265)
at javassist.compiler.TypeChecker.fieldAccess(TypeChecker.java:842)
at javassist.compiler.TypeChecker.atFieldRead(TypeChecker.java:770)
at javassist.compiler.TypeChecker.atExpr(TypeChecker.java:571)
at javassist.compiler.ast.Expr.accept(Expr.java:67)
at javassist.compiler.TypeChecker.fieldAccess(TypeChecker.java:827)
at javassist.compiler.TypeChecker.atFieldRead(TypeChecker.java:770)
at javassist.compiler.TypeChecker.atExpr(TypeChecker.java:571)
at javassist.compiler.ast.Expr.accept(Expr.java:67)
at javassist.compiler.TypeChecker.fieldAccess(TypeChecker.java:827)
at javassist.compiler.TypeChecker.atFieldRead(TypeChecker.java:770)
at javassist.compiler.TypeChecker.atExpr(TypeChecker.java:571)
at javassist.compiler.ast.Expr.accept(Expr.java:67)
at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:653)
at javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:156)
at javassist.compiler.ast.CallExpr.accept(CallExpr.java:45)
at javassist.compiler.JvstTypeChecker.atMethodArgs(JvstTypeChecker.java:220)
at javassist.compiler.TypeChecker.atMethodCallCore(TypeChecker.java:702)
at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:681)
at javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:156)
at javassist.compiler.ast.CallExpr.accept(CallExpr.java:45)
at javassist.compiler.TypeChecker.atCastExpr(TypeChecker.java:546)
at javassist.compiler.JvstTypeChecker.atCastExpr(JvstTypeChecker.java:103)
at javassist.compiler.ast.CastExpr.accept(CastExpr.java:54)
at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:653)
at javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:156)
at javassist.compiler.ast.CallExpr.accept(CallExpr.java:45)
at javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:235)
at javassist.compiler.CodeGen.compileExpr(CodeGen.java:222)
at javassist.compiler.CodeGen.atReturnStmnt2(CodeGen.java:591)
at javassist.compiler.JvstCodeGen.atReturnStmnt(JvstCodeGen.java:424)
at javassist.compiler.CodeGen.atStmnt(CodeGen.java:356)
at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49)
at javassist.compiler.CodeGen.atStmnt(CodeGen.java:344)
at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49)
at javassist.compiler.CodeGen.atIfStmnt(CodeGen.java:384)
at javassist.compiler.CodeGen.atStmnt(CodeGen.java:348)
at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49)
at javassist.compiler.CodeGen.atStmnt(CodeGen.java:344)
at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49)
at javassist.compiler.CodeGen.atMethodBody(CodeGen.java:285)
at javassist.compiler.Javac.compileBody(Javac.java:212)
at javassist.CtBehavior.setBody(CtBehavior.java:341)
at javassist.CtBehavior.setBody(CtBehavior.java:316)
at javassist.CtNewMethod.make(CtNewMethod.java:135)
at javassist.CtNewMethod.make(CtNewMethod.java:104)
at org.objectweb.proactive.core.mop.JavassistByteCodeStubBuilder.createReifiedMethods(JavassistByteCodeStubBuilder.java:449)
at org.objectweb.proactive.core.mop.JavassistByteCodeStubBuilder.create(JavassistByteCodeStubBuilder.java:290)
at org.objectweb.proactive.core.mop.MOPClassLoader.loadClass(MOPClassLoader.java:200)
at org.objectweb.proactive.core.mop.MOPClassLoader.loadClass(MOPClassLoader.java:163)
at org.objectweb.proactive.core.mop.MOP.createStubClass(MOP.java:506)
at org.objectweb.proactive.core.mop.MOP.findStubConstructor(MOP.java:545)
at org.objectweb.proactive.core.mop.MOP.createStubObject(MOP.java:666)
at org.objectweb.proactive.core.mop.MOP.newInstance(MOP.java:265)
at org.objectweb.proactive.core.mop.MOP.newInstance(MOP.java:177)
at org.objectweb.proactive.core.body.proxy.AbstractBodyProxy.reifyAsAsynchronous(AbstractBodyProxy.java:230)
at org.objectweb.proactive.core.body.proxy.AbstractBodyProxy.invokeOnBody(AbstractBodyProxy.java:147)
at org.objectweb.proactive.core.body.proxy.AbstractBodyProxy.reify(AbstractBodyProxy.java:118)
at pa.stub.org.ow2.proactive.scheduler.ext.matlab.embedded._StubAOMatlabEnvironment.getPreviousJobResults(_StubAOMatlabEnvironment.java)
??? Java exception occurred:
java.lang.RuntimeException: Failed to generate stub for class java.util.ArrayList with javassist : null

at org.objectweb.proactive.core.mop.JavassistByteCodeStubBuilder.create(JavassistByteCodeStubBuilder.java:302)

at org.objectweb.proactive.core.mop.MOPClassLoader.loadClass(MOPClassLoader.java:200)

at org.objectweb.proactive.core.mop.MOPClassLoader.loadClass(MOPClassLoader.java:163)

at org.objectweb.proactive.core.mop.MOP.createStubClass(MOP.java:506)

at org.objectweb.proactive.core.mop.MOP.findStubConstructor(MOP.java:545)

at org.objectweb.proactive.core.mop.MOP.createStubObject(MOP.java:666)

at org.objectweb.proactive.core.mop.MOP.newInstance(MOP.java:265)

at org.objectweb.proactive.core.mop.MOP.newInstance(MOP.java:177)

at org.objectweb.proactive.core.body.proxy.AbstractBodyProxy.reifyAsAsynchronous(AbstractBodyProxy.java:230)

at org.objectweb.proactive.core.body.proxy.AbstractBodyProxy.invokeOnBody(AbstractBodyProxy.java:147)

at org.objectweb.proactive.core.body.proxy.AbstractBodyProxy.reify(AbstractBodyProxy.java:118)

at pa.stub.org.ow2.proactive.scheduler.ext.matlab.embedded._StubAOMatlabEnvironment.getPreviousJobResults(_StubAOMatlabEnvironment.java)

Caused by: java.lang.NullPointerException

at javassist.CtClassType.addMethod(CtClassType.java:1165)

at org.objectweb.proactive.core.mop.JavassistByteCodeStubBuilder.createReifiedMethods(JavassistByteCodeStubBuilder.java:456)

at org.objectweb.proactive.core.mop.JavassistByteCodeStubBuilder.create(JavassistByteCodeStubBuilder.java:290)

... 11 more

Error in ==> PAconnect at 121
listresults = solver.getPreviousJobResults();

@activeeon-bot
Copy link
Author

Original comment posted by Fabien Viale on 09, Jun 2009 at 12:33 PM


There seems to be a workaround to this issue though :

The workaround consits of changing the Static classpath of the Matlab JVM by editing the classpath.txt file located in MATLAB/toolbox/local
The following 4 jar files, need to be added manually to the classpath :

/dist/lib/ProActive.jar
/dist/lib/ProActive_Scheduler-core.jar
/dist/lib/ProActive_ResourceManager.jar
/dist/lib/ProActive_SRM-common.jar

The commit 12994 allows this workaround

@activeeon-bot
Copy link
Author

Original comment posted by Fabien Viale on 11, Jun 2010 at 20:15 PM


See Workaround and documentation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants