Uploaded image for project: 'Geronimo'
  1. Geronimo
  2. GERONIMO-4686

No clear hints in startup error when 1050 port is already in use.

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 1.1.1, 2.0-M1, 2.0-M2, 2.0-M3, 2.0-M4, 2.0-M5, 2.0-M6, 2.0-M7, 2.0, 2.0.1, 2.0.2, 2.1, 2.1.1, 2.1.2, 2.1.3, 2.1.4, 2.1.5, 2.2
    • Fix Version/s: 2.1.5, 2.2
    • Component/s: CORBA
    • Security Level: public (Regular issues)
    • Labels:
      None
    • Patch Info:
      Patch Available

      Description

      When 1050 is used by other apps. If you start geronimo, there will be a startup error:

      org.apache.geronimo.corba.security.config.ConfigException: Error starting transient name service
      at org.apache.geronimo.yoko.ORBConfigAdapter.createNameService(ORBConfigAdapter.java:179)
      at org.apache.geronimo.yoko.ORBConfigAdapter$$FastClassByCGLIB$$76e4a002.invoke(<generated>)
      at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
      at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
      at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
      at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:830)
      at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
      at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
      at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
      at org.apache.geronimo.corba.security.config.ConfigAdapter$$EnhancerByCGLIB$$3f9e1dfe.createNameService(<generated>)
      at org.apache.geronimo.corba.NameService.doStart(NameService.java:164)
      at org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:996)
      at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:268)
      at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
      at org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:539)
      at org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart(GBeanDependency.java:111)
      at org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget(GBeanDependency.java:146)
      at org.apache.geronimo.gbean.runtime.GBeanDependency$1.running(GBeanDependency.java:120)
      at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(BasicLifecycleMonitor.java:176)
      at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(BasicLifecycleMonitor.java:44)
      at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent(BasicLifecycleMonitor.java:254)
      at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:294)
      at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
      at org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
      at org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:553)
      at org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
      at org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:448)
      at org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:187)
      at org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:530)
      at org.apache.geronimo.kernel.config.SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.invoke(<generated>)
      at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
      at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
      at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
      at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:830)
      at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
      at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
      at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
      at org.apache.geronimo.kernel.config.EditableConfigurationManager$$EnhancerByCGLIB$$236fa26e.startConfiguration(<generated>)
      at org.apache.geronimo.system.main.EmbeddedDaemon.doStartup(EmbeddedDaemon.java:161)
      at org.apache.geronimo.system.main.EmbeddedDaemon.execute(EmbeddedDaemon.java:83)
      at org.apache.geronimo.kernel.util.MainConfigurationBootstrapper.main(MainConfigurationBootstrapper.java:45)
      at org.apache.geronimo.cli.AbstractCLI.executeMain(AbstractCLI.java:67)
      at org.apache.geronimo.cli.daemon.DaemonCLI.main(DaemonCLI.java:30)
      Caused by:
      org.apache.yoko.orb.CosNaming.tnaming.TransientServiceException: Unable to initialize name service
      at org.apache.yoko.orb.CosNaming.tnaming.TransientNameService.initialize(TransientNameService.java:156)
      at org.apache.yoko.orb.CosNaming.tnaming.TransientNameService.run(TransientNameService.java:116)
      at org.apache.geronimo.yoko.ORBConfigAdapter.createNameService(ORBConfigAdapter.java:175)
      ... 42 more
      Caused by:
      org.omg.CORBA.COMM_FAILURE: bind() failed: Address already in use: NET_Bind: vmcid: Apache minor code: 0x8 completed: No
      at org.apache.yoko.orb.OCI.IIOP.Acceptor_impl.<init>(Acceptor_impl.java:475)
      at org.apache.yoko.orb.OCI.IIOP.AccFactory_impl.create_acceptor(AccFactory_impl.java:159)
      at org.apache.yoko.orb.OBPortableServer.POAManagerFactory_impl.create_POAManager(POAManagerFactory_impl.java:252)
      at org.apache.yoko.orb.OB.ORBControl.initializeRootPOA(ORBControl.java:539)
      at org.apache.yoko.orb.OBCORBA.ORB_impl.resolve_initial_references(ORB_impl.java:1098)
      at org.apache.yoko.orb.CosNaming.tnaming.TransientNameService.initialize(TransientNameService.java:130)
      ... 44 more
      Caused by:
      java.net.BindException: Address already in use: NET_Bind
      at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:415)
      at java.net.ServerSocket.bind(ServerSocket.java:331)
      at java.net.ServerSocket.<init>(ServerSocket.java:197)
      at java.net.ServerSocket.<init>(ServerSocket.java:153)
      at org.apache.yoko.orb.OCI.IIOP.DefaultConnectionHelper.createServerSocket(DefaultConnectionHelper.java:51)
      at org.apache.yoko.orb.OCI.IIOP.Acceptor_impl.<init>(Acceptor_impl.java:465)
      ... 49 more

      The problem is that no clear message here about which port is in use. It does not like the clear error message when RMI 1099 is occupied.

        Attachments

        1. G4686_trunk.patch
          1 kB
          Shawn Jiang
        2. G4686_trunk_rework.patch
          1.0 kB
          Shawn Jiang
        3. G4686_g21.patch
          1 kB
          Shawn Jiang
        4. G4686_g21_rework.patch
          1.0 kB
          Shawn Jiang

          Activity

            People

            • Assignee:
              genspring Shawn Jiang
              Reporter:
              genspring Shawn Jiang
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: