glassfish
  1. glassfish
  2. GLASSFISH-18684

[Regression] Ran into EJB Container initialization error with IIOPFailoverDynamicICAccess test

    Details

    • Type: Bug Bug
    • Status: In Progress
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 4.0_b34
    • Fix Version/s: None
    • Component/s: sqe-test
    • Labels:
      None
    • Environment:

      OEL 5
      JDK 1.6.0_24-b50

      Description

      Test com.sun.dft.glassfish.iiop.dynamiccluster.failover.instanceadd.InitialContext.IIOPFailoverDynamicICAccess generates following exceptions:

      [#|2012-05-01T20:46:37.266+0000|SEVERE|44.0|javax.enterprise.system.tools.deployment.org.glassfish.deployment.common|_ThreadID=10;_ThreadName=Thread-2;|Exception while invoking class org.glassfish.ejb.startup.EjbDeployer load method
      java.lang.RuntimeException: EJB Container initialization error
      at org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:240)
      at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:294)
      at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:102)
      at org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:186)
      at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:264)
      at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:479)
      at com.sun.enterprise.v3.server.ApplicationLoaderService.processApplication(ApplicationLoaderService.java:388)
      at com.sun.enterprise.v3.server.ApplicationLoaderService.postConstruct(ApplicationLoaderService.java:224)
      at com.sun.hk2.component.AbstractCreatorImpl.inject(AbstractCreatorImpl.java:132)
      at com.sun.hk2.component.ConstructorCreator.initialize(ConstructorCreator.java:117)
      at com.sun.hk2.component.AbstractCreatorImpl.get(AbstractCreatorImpl.java:84)
      at com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:67)
      at com.sun.hk2.component.EventPublishingInhabitant.get(EventPublishingInhabitant.java:141)
      at com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:135)
      at com.sun.enterprise.v3.server.StartupRunLevelBridge.activate(StartupRunLevelBridge.java:93)
      at com.sun.enterprise.v3.server.RunLevelBridge.postConstruct(RunLevelBridge.java:110)
      at com.sun.enterprise.v3.server.StartupRunLevelBridge.postConstruct(StartupRunLevelBridge.java:65)
      at com.sun.hk2.component.AbstractCreatorImpl.inject(AbstractCreatorImpl.java:132)
      at com.sun.hk2.component.ConstructorCreator.initialize(ConstructorCreator.java:117)
      at com.sun.hk2.component.AbstractCreatorImpl.get(AbstractCreatorImpl.java:84)
      at com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:67)
      at com.sun.hk2.component.EventPublishingInhabitant.get(EventPublishingInhabitant.java:141)
      at com.sun.hk2.component.EventPublishingInhabitant.get(EventPublishingInhabitant.java:141)
      at com.sun.hk2.component.RunLevelInhabitant.get(RunLevelInhabitant.java:110)
      at com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:135)
      at com.sun.enterprise.v3.server.AppServerStartup$StartupInhabitantActivator.activate(AppServerStartup.java:526)
      at org.jvnet.hk2.component.internal.runlevel.DefaultRunLevelService$Worker.activateRunLevel(DefaultRunLevelService.java:1106)
      at org.jvnet.hk2.component.internal.runlevel.DefaultRunLevelService$Worker.upActiveRecorder(DefaultRunLevelService.java:1060)
      at org.jvnet.hk2.component.internal.runlevel.DefaultRunLevelService$Worker.run(DefaultRunLevelService.java:1026)
      at org.jvnet.hk2.component.internal.runlevel.DefaultRunLevelService$SyncProceedToOp.proceedTo(DefaultRunLevelService.java:1256)
      at org.jvnet.hk2.component.internal.runlevel.DefaultRunLevelService.proceedTo(DefaultRunLevelService.java:797)
      at org.jvnet.hk2.component.internal.runlevel.DefaultRunLevelService.proceedTo(DefaultRunLevelService.java:759)
      at com.sun.enterprise.v3.server.AppServerStartup.proceedTo(AppServerStartup.java:360)
      at com.sun.enterprise.v3.server.AppServerStartup.run(AppServerStartup.java:254)
      at com.sun.enterprise.v3.server.AppServerStartup.doStart(AppServerStartup.java:172)
      at com.sun.enterprise.v3.server.AppServerStartup.start(AppServerStartup.java:163)
      at com.sun.enterprise.glassfish.bootstrap.GlassFishImpl.start(GlassFishImpl.java:79)
      at com.sun.enterprise.glassfish.bootstrap.GlassFishDecorator.start(GlassFishDecorator.java:63)
      at com.sun.enterprise.glassfish.bootstrap.osgi.OSGiGlassFishImpl.start(OSGiGlassFishImpl.java:71)
      at com.sun.enterprise.glassfish.bootstrap.GlassFishMain$Launcher.launch(GlassFishMain.java:117)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at com.sun.enterprise.glassfish.bootstrap.GlassFishMain.main(GlassFishMain.java:97)
      at com.sun.enterprise.glassfish.bootstrap.ASMain.main(ASMain.java:55)
      Caused by: java.lang.RuntimeException: Error while binding JNDI name enterprise.lottery_annotation_ejb_stateless.Dice for EJB DiceBean
      at com.sun.ejb.containers.BaseContainer.initializeHome(BaseContainer.java:1546)
      at com.sun.ejb.containers.StatelessSessionContainer.initializeHome(StatelessSessionContainer.java:206)
      at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:159)
      at org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:228)
      ... 45 more
      Caused by: javax.naming.NameAlreadyBoundException: Use rebind to override
      at com.sun.enterprise.naming.impl.TransientContext.doBindOrRebind(TransientContext.java:333)
      at com.sun.enterprise.naming.impl.TransientContext.bind(TransientContext.java:268)
      at com.sun.enterprise.naming.impl.SerialContextProviderImpl.bind(SerialContextProviderImpl.java:98)
      at com.sun.enterprise.naming.impl.LocalSerialContextProviderImpl.bind(LocalSerialContextProviderImpl.java:99)
      at com.sun.enterprise.naming.impl.SerialContext.bind(SerialContext.java:675)
      at com.sun.enterprise.naming.impl.SerialContext.bind(SerialContext.java:692)
      at javax.naming.InitialContext.bind(InitialContext.java:404)
      at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.publishObject(GlassfishNamingManagerImpl.java:208)
      at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.publishObject(GlassfishNamingManagerImpl.java:189)
      at com.sun.ejb.containers.BaseContainer$JndiInfo.publish(BaseContainer.java:5520)
      at com.sun.ejb.containers.BaseContainer.initializeHome(BaseContainer.java:1533)
      ... 48 more

      #]

      Test steps in IIOPFailoverDynamicICAccess:
      1. Deploy cart.ear to st-cluster (7 instances)
      2. Stop st-cluster then delete the last 2 instance.
      3. Start st-cluster then add items to cart.
      4. Deploy LotteryAnnotation.ear to st-cluster.
      5. Create 2 instances and start instances.
      6. Access Lottery remote interfaces and play.
      7. Check instance logs to see if all remote calls have access to LotteryBean.setName.

      Note: To ensure a clean build, b34 had a fresh re-installation and still saw this error.

        Activity

        Hide
        Cheng Fang added a comment -

        assign to deployment to see if any recent changes to ear lib annotation processing.

        Show
        Cheng Fang added a comment - assign to deployment to see if any recent changes to ear lib annotation processing.
        Hide
        Hong Zhang added a comment -

        The ear lib annotation processing was enabled in v3 and there is no recent behavior change in this area.

        When did the regression start to happen? With a smaller window, we could look at the svn history to see if there are any related check ins.

        But in any case, as Cheng commented, this seems to be an expected failure if you try to deploy EJB with same name from different applications. You should repackage the application as Cheng suggested.

        Show
        Hong Zhang added a comment - The ear lib annotation processing was enabled in v3 and there is no recent behavior change in this area. When did the regression start to happen? With a smaller window, we could look at the svn history to see if there are any related check ins. But in any case, as Cheng commented, this seems to be an expected failure if you try to deploy EJB with same name from different applications. You should repackage the application as Cheng suggested.
        Hide
        mzh777 added a comment -

        The test last passed on GF3.1.2 build 23:
        http://javaweb.us.oracle.com/net/asqe-logs/export1/3.1.2/Results/build23/ha/oel6svn2/iiop/com.sun.dft.glassfish.iiop.dynamiccluster.failover.instanceadd.InitialContext.IIOPFailoverDynamicICAccess/

        The deployment completed with warnings. There are javax.naming.NameAlreadyBoundException also in the server.log of instance101. Will investigate further by changing the cart.ear app and see if the failure still persists.

        Show
        mzh777 added a comment - The test last passed on GF3.1.2 build 23: http://javaweb.us.oracle.com/net/asqe-logs/export1/3.1.2/Results/build23/ha/oel6svn2/iiop/com.sun.dft.glassfish.iiop.dynamiccluster.failover.instanceadd.InitialContext.IIOPFailoverDynamicICAccess/ The deployment completed with warnings. There are javax.naming.NameAlreadyBoundException also in the server.log of instance101. Will investigate further by changing the cart.ear app and see if the failure still persists.
        Hide
        Hong Zhang added a comment -

        Re-assign to Ming as he will try with the correct packaging to see if it resolves the issue.

        Show
        Hong Zhang added a comment - Re-assign to Ming as he will try with the correct packaging to see if it resolves the issue.
        Hide
        mzh777 added a comment -

        After commented out the second deployment of LotteryAnnotation.ear, the test passed manually. There are several other tests use the same client so need to find the impact of the changes to the other tests. Will update the bug when the tests are fixed.

        Show
        mzh777 added a comment - After commented out the second deployment of LotteryAnnotation.ear, the test passed manually. There are several other tests use the same client so need to find the impact of the changes to the other tests. Will update the bug when the tests are fixed.

          People

          • Assignee:
            mzh777
            Reporter:
            mzh777
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated: