Known Problems

Introduction

Here is a list of issues you may encounter when running Petals ESB but that are not bugs. These problems may be due to a hardware configuration or to operating system restrictions.

Contributors
No contributors found for: authors on selected page(s)

General Issues

Petals ESB is unreacting or freezed

Operating system: Windows (verified on XP and 7)

Symptoms:

  • The Petals command line does not display anything new anymore.
  • The last lines may be a normal log entry or an exception stack trace.
  • JMX commands seems without effect. When you execute them (from the JConsole, from the Petals web console), there is no response.
  • Other Petals scripts do not change anything. stop.bat and shutdown.bat do not work.

Solutions to try:

  • Go in the Petals command line, give it the focus and type in Enter.

Explanations:
You have probably selected something in the DOS shell (e.g. the JMX URL of Petals).
This selection has blocked the underlying process (Petals). Consequently, all the requests have been waiting for the process to come back. By giving it the focus back (enter), the process is unblocked.

Mime type 'text/html' installing or deploying a JBI archive

Operating system: All

Symptoms:
When installing a component or deploying services, I get the following error message:

The remote resource [http://server:port/context] is not a valid JBI archive: text/htm

Explanations:
If the installed archive is downloaded from Internet and it is needed to download it through a HTTP(s) proxy, perhaps have you forgotten to to configure your HTTP(s) proxy settings.

Solution:
Configure your HTTP(s) proxy settings editing the startup script to add your properties as JAVA_OPTS. Available properties to configure your HTTP(s) proxy are listed on the Java documentation: Java networking and Proxies.

if [ -z "$JAVA_OPTS" ]; then
    JAVA_OPTS="-Xmx1024m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Dhttp.proxyHost=proxy.company.com -Dhttp.proxyPort=8080"
fi

Unable to connect to Petals ESB using JConsole or JVisualVM

Operating system: All

Symptoms:
Unable to connect to Petals ESB using JConsole or JVisualVM

Explanations:
Several root causes of the problem exist. See the possible causes here.

Solutions:
See the available solutions here.

Petals is really slow

Operating system: All

Symptoms:
Deployment of new Petals artifacts is very slow, or the Petals File Transfer component is really slow.

Explainations:
Petals file creation and/or modification takes a lot of time compared to what it should be.
Several things can cause this kind of problem.

Solutions:
Check whether you have a firewall installed and if it inspects files.
If so, you should add an exception for the Petals home directory in the firewall configuration.

Start & Stop Issues

Unable to start Petals: "Cannot bind to URL [rmi://xx.yy.zz.tt:7700/jmxRmiConnector]"

This following error message can occurs in different use case:

sample-0 2013/04/18 09:34:07,473 GMT+0200 SEVERE [Petals.Communication.RMIConnector] : Failed to start JMX RMI connector service
java.io.IOException: Cannot bind to URL [rmi://localhost:7700/jmxRmiConnector]

The known use cases for which the problem can occurs are:

  • a topology containing only one node,
  • a topology containing several nodes

Topology with only one node

Operating system: All

Symptoms:

  1. You have configured your topology with only one Petals node declared as master,
  2. You try to start your Petals node for the first time and you get the following error message:
         ___   ____ __   ___    __    ____   ____ ____ ___  
        / _ \ / __// /_ / _ |  / /   / __/  / __// __// _ ) 
       / ___// _/ / __// __ | / /__ _\ \   / _/ _\ \ / _  | 
      /_/   /___/ \__//_/ |_|/____//___/  /___//___//____/  
    
    Initializing server ...
    Starting server ...
    sample-0 2013/04/18 09:34:07,473 GMT+0200 SEVERE [Petals.Communication.RMIConnector] : Failed to start JMX RMI connector service
    java.io.IOException: Cannot bind to URL [rmi://localhost:7700/jmxRmiConnector]: javax.naming.CommunicationException [Root exception is java.rmi.UnmarshalException: Error unmarshaling return header; nested exception is: 
    	java.net.SocketTimeoutException: Read timed out]
    	at javax.management.remote.rmi.RMIConnectorServer.newIOException(RMIConnectorServer.java:818)
    	at javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:431)
    	at org.ow2.petals.microkernel.communication.jmx.rmi.RMIConnector.start(RMIConnector.java:138)
    	at org.ow2.petals.microkernel.communication.jmx.rmi.RMIConnector.startFc(RMIConnector.java)
    	at org.objectweb.fractal.julia.generated.Cbd2013d7_0.setFcContentState(BasicControllerMixin.java:8128)
    	at org.objectweb.fractal.julia.generated.Cbd2013d7_0.setFcStarted(BasicControllerMixin.java:8068)
    	at org.objectweb.fractal.julia.generated.C18c4c884_0.setFcStarted(INTERFACE[LifeCycleCoordinator])
    	at org.objectweb.fractal.julia.generated.C4eddf8e0_0.startFc$$0(BasicControllerMixin.java:4097)
    	at org.objectweb.fractal.julia.generated.C4eddf8e0_0.startFc(BasicControllerMixin.java:5095)
    	at org.objectweb.fractal.julia.generated.C18c4c884_0.startFc(INTERFACE[LifeCycleCoordinator])
    	at org.ow2.petals.microkernel.api.server.FractalHelper.startComponent(FractalHelper.java:341)
    	at org.ow2.petals.microkernel.server.PetalsServerImpl.startPetalsComposite(PetalsServerImpl.java:380)
    	at org.ow2.petals.microkernel.server.PetalsServerImpl.start(PetalsServerImpl.java:183)
    	at org.ow2.petals.launcher.PetalsLauncher.launchPetalsServer(PetalsLauncher.java:157)
    	at org.ow2.petals.launcher.PetalsLauncher.main(PetalsLauncher.java:396)
    

Solutions/Explanations:
The name of the machine on which Petals ESB runs cannot be correctly determined. The main error source is an invalid entry in your DNS configuration or in your file etc/hosts. The name of your machine is not associated to the correct IP address. Setting the right IP address to your machine name should solve the problem.

Topology with several nodes

Operating system: All

Symptoms:

  1. You have configured your topology with several Petals nodes declared as slave,
  2. Your Petals node declared as master starts correctly,
  3. You try to start your Petals slave for the first time with this distributed topology,
  4. You get the following error message:
    0 2013/02/18 10:53:09,502 GMT+0100 SEVERE [Petals.Communication.RMIConnector] : Failed to start JMX RMI connector service
    java.io.IOException: Cannot bind to URL [rmi://10.10.124.57:7700/jmxRmiConnector]: javax.naming.NoPermissionException [Root exception is java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
            java.rmi.AccessException: Registry.Registry.bind disallowed; origin /10.10.124.47 is non-local host]
            at javax.management.remote.rmi.RMIConnectorServer.newIOException(RMIConnectorServer.java:804)
            at javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:417)
            at org.ow2.petals.communication.jmx.rmi.RMIConnector.start(RMIConnector.java:148)
            at org.ow2.petals.communication.jmx.rmi.RMIConnector.startFc(RMIConnector.java)
            at org.objectweb.fractal.julia.generated.Cbd2013d7_0.setFcContentState(BasicControllerMixin.java:8128)
            at org.objectweb.fractal.julia.generated.Cbd2013d7_0.setFcStarted(BasicControllerMixin.java:8068)
            at org.objectweb.fractal.julia.generated.C18c4c884_0.setFcStarted(INTERFACE[LifeCycleCoordinator])
            at org.objectweb.fractal.julia.generated.C4eddf8e0_0.startFc$$0(BasicControllerMixin.java:4097)
            at org.objectweb.fractal.julia.generated.C4eddf8e0_0.startFc(BasicControllerMixin.java:5095)
            at org.objectweb.fractal.julia.generated.C18c4c884_0.startFc(INTERFACE[LifeCycleCoordinator])
            at org.ow2.petals.kernel.server.FractalHelper.startComponent(FractalHelper.java:354)
            at org.ow2.petals.kernel.server.PetalsServerImpl.startPetalsComposite(PetalsServerImpl.java:459)
            at org.ow2.petals.kernel.server.PetalsServerImpl.start(PetalsServerImpl.java:176)
            at org.ow2.petals.launcher.AbstractLauncher.start(AbstractLauncher.java:190)
            at org.ow2.petals.launcher.AbstractLauncher.launch(AbstractLauncher.java:147)
            at org.ow2.petals.distribution.platform.Main.main(Main.java:42)
    

Solutions/Explanations:
You forgot to configure the Petals container name in your $PETALS_HOME/conf/server.properties. The default Petals container name '0' is used and it is associated to Petals ESB master node that is configured in your topology with a different IP address. This address is not local to your Petals slave node.

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.