In this section we present common problems encountered while trying to use ProActive. For further assistance, or if you cannot solve a problem, feel free to post your question on the ProActive mailing list [email protected] . Make sure that you include a precise description of your problem along with a full copy of the error message.
If you encounter any problem with installing ProActive and running the examples, please make sure you correctly followed all the steps described in the previous chapter. If it doesn't help, here is a list of the most common mistakes:
Permission denied when trying to launch
scripts under Linux Files have the wrong permissions set.
You will have to change the permissions by executing chmod
755 *.sh
in the ProActive/scripts/unix directory
. The command will
set the files to executable and readable for all users and also writeable for the current user.
Java complains about not being able to
find the ProActive classes. Your CLASSPATH
environment variable does not contain the entry for classes belonging to ProActive,
ASM, Log4, Xerces, Fractal, or BouncyCastle.
ProActive.jar,asmXX.jar, log4j.jar,
xercesImpl.jar, fractal.jar, bouncycastle.jar
must be in
your CLASSPATH
.
Java complains about denial of access. If you get the following exceptions, you probably didn't change the file java.policy as described in ???.
org.objectweb.proactive.NodeException:
java.security.AccessControlException: access denied
(java.net.SocketPermission 127.0.0.1:1099 connect,resolve)
at org.objectweb.proactive.core.node.rmi.RemoteNodeImpl.<init>(RmiNode.java:17)
at org.objectweb.proactive.core.node.rmi.RemoteNodeFactory._createDefaultNode
(RmiNodeFactory.java, Compiled Code)
at org.objectweb.proactive.core.node.NodeFactory.createDefaultNode(NodeFactory.java:127)
at org.objectweb.proactive.core.node.NodeFactory.getDefaultNode(NodeFactory.java:57)
at org.objectweb.proactive.ProActive.newActive(ProActive.java:315)
...
Exception in thread "main" java.lang.ExceptionInInitializerError:
java.security.AccessControlException: access denied
(java.util.PropertyPermission user.home re ad)
at java.security.AccessControlContext.checkPermission (AccessControlContext.java, Compiled Code)
at java.security.AccessController.checkPermission(AccessController.java:403)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1243)
at java.lang.System.getProperty(System.java:539)
at org.objectweb.proactive.mop.MOPProperties.createDefaultProperties (MOPProperties.java:190)
...
Java complains on log4j
initialization If you get the following message, you
probably made a mistake when giving the
-Dlog4j.configuration
property to the java command.
Be sure that the given path is right, try also to add file:
before the
path.
log4j:WARN No appender could be found for logger .....
log4j:WARN Please initialize the log4j system properly
Examples and compilation do not work at
all under Windows system: Check if your java installation
is not in a path containing spaces like C:\Program Files\java or
C:\Documents and Settings\java
. Batch scripts do not run
properly when JAVA_HOME is set to such a directory. The solution is to install the JDK under a
space-free path (e.g. C:\java\j2sdk....
or
D:\java\j2sdk...
) and then set the JAVA_HOME
environment variable
accordingly.
Java complains about unsupported classes: Check that you are using a JRE that is at least version 1.5. since ProActive needs certain features that are only available starting from Java 1.5.
Exception in thread "main" java.lang.UnsupportedClassVersionError:
org/objectweb/proactive/core/util/wrapper/StringWrapper (Unsupported major.minor version 49.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
To enable the debugging logger the following log file can be used:
-Dlog4j.configuration=file:ProActive/compile/proactive-log4j
In this file, the relevant loggers can be uncommented (by removing the leading #). For example, the deployment loggers are activated with the following lines:
log4j.logger.proactive.deployment = DEBUG, CONSOLE log4j.logger.proactive.deployment.log = DEBUG, CONSOLE log4j.logger.proactive.deployment.process = DEBUG, CONSOLE
To function properly, ProActive requires machines to have a correctly configured hostname and domain name. If the name of a machine is not properly configured, then remote nodes will be unable to locate the machine. To work around misconfigured domain names ProActive can be activated to use IP addresses through the following java property:
-Dproactive.useIPaddress=true
This property should be given as parameter to Java virtual machines deployed on computers that have names that do not resolve properly.
ProActive provides RMI tunneling through ssh for crossing firewalls that only allow ssh connections. Things to verify when using rmissh tunneling:
ProActlive/lib/trilead-ssh2.jar
must be included in the CLASSPATH
of the
concerned machines.
The JVM that is only accesible with ssh must be started using:
-Dproactive.communication.protocol=rmissh
A key without a passhprase must be installed on the machine accepting connections with ssh. It should be possible to log into the site without using an ssh-agent and without providing a password.
© 1997-2008 INRIA Sophia Antipolis All Rights Reserved