Known problems starting or stopping Petals ESB

Introduction

Here is a list of issues you may encounter when starting or stopping 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)

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.