dev@glassfish.java.net

Re: Is QL passing for anyone??

From: Ken Cavanaugh <Ken.Cavanaugh_at_Sun.COM>
Date: Fri, 02 Oct 2009 13:57:02 -0700

Jan Luehe wrote:
> On a brand new ws, I am seeing this error during QL:
>
> deploy-v3-impl:
> [echo] deploying numberguess.war
>
> deploy-v3-impl-unix:
> [exec] com.sun.enterprise.admin.cli.CommandException: remote
> failure: Exception while loading the app : javax.ejb.EJBException:
> javax.ejb.CreateException: Initialization failed for Singleton
> SingletonBean
> [exec] Command deploy failed.
>
> and subsequent accesses to numberguess fail as a result of the
> deployment failure:
>
> java.io.FileNotFoundException:
> http://localhost:8080/numberguess/home.jsf
>
>
> I see the following stacktraces in the server.log:
>
> [#|2009-10-03T04:31:39.438+0800|INFO|glassfish|javax.enterprise.system.container.ejb.com.sun.ejb.containers|_ThreadID=31;_ThreadName=Thread-3;|Portable
> JNDI names for EJB StatefulBean :
> [java:global/numberguess/StatefulBean!numberguess.StatefulBean,
> java:global/numberguess/StatefulBean]|#]
>
> [#|2009-10-03T04:31:39.541+0800|INFO|glassfish|javax.enterprise.system.container.ejb.com.sun.ejb.containers|_ThreadID=31;_ThreadName=Thread-3;|Portable
> JNDI names for EJB StatelessBean :
> [java:global/numberguess/StatelessBean,
> java:global/numberguess/StatelessBean!numberguess.StatelessLocal]|#]
>
> [#|2009-10-03T04:31:39.601+0800|INFO|glassfish|javax.enterprise.system.container.ejb.com.sun.ejb.containers|_ThreadID=31;_ThreadName=Thread-3;|Portable
> JNDI names for EJB SingletonBean :
> [java:global/numberguess/SingletonBean!numberguess.SingletonBean,
> java:global/numberguess/SingletonBean]|#]
>
> [#|2009-10-03T04:31:39.674+0800|INFO|glassfish|org.jboss.webbeans.bootstrap.WebBeansBootstrap|_ThreadID=31;_ThreadName=Thread-3;|Web
> Beans 1.0.0.PREVIEW4.SP1|#]
>
> [#|2009-10-03T04:31:40.029+0800|INFO|glassfish|null|_ThreadID=31;_ThreadName=Thread-3;|Adding
> singleton for WebappClassLoader (delegate=true;
> repositories=WEB-INF/classes/)|#]
>
> [#|2009-10-03T04:31:41.623+0800|SEVERE|glassfish|javax.enterprise.system.core.org.glassfish.internal.data|_ThreadID=31;_ThreadName=Thread-3;|Exception
> while invoking class org.glassfish.ejb.startup.EjbApplication start
> method
> javax.ejb.EJBException: javax.ejb.CreateException: Initialization
> failed for Singleton SingletonBean
> at
> com.sun.ejb.containers.AbstractSingletonContainer$SingletonContextFactory.create(AbstractSingletonContainer.java:702)
>
> at
> com.sun.ejb.containers.AbstractSingletonContainer.instantiateSingletonInstance(AbstractSingletonContainer.java:443)
>
> at
> org.glassfish.ejb.startup.SingletonLifeCycleManager.initializeSingleton(SingletonLifeCycleManager.java:140)
>
> at
> org.glassfish.ejb.startup.SingletonLifeCycleManager.doStartup(SingletonLifeCycleManager.java:107)
>
> at
> org.glassfish.ejb.startup.EjbApplication.start(EjbApplication.java:115)
> at org.glassfish.internal.data.EngineRef.start(EngineRef.java:126)
> at
> org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:229)
> at
> org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:214)
>
> at
> com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:307)
>
> at
> com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:172)
>
> at
> org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:272)
>
> at
> com.sun.enterprise.v3.admin.CommandRunnerImpl$4.execute(CommandRunnerImpl.java:404)
>
> at
> com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:419)
>
> at
> com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1343)
>
> at
> com.sun.enterprise.v3.admin.CommandRunnerImpl.access$800(CommandRunnerImpl.java:80)
>
> at
> com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1393)
>
> at
> com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1382)
>
> at
> com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:354)
> at
> com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:194)
> at
> com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:166)
>
> at
> com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:100)
>
> at
> com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:240)
>
> at
> com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:753)
> at
> com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:661)
> at
> com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:914)
> at
> com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:166)
>
> at
> com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
>
> at
> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
>
> at
> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
>
> at
> com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
> at
> com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
>
> at
> com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
>
> at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
> at
> com.sun.grizzly.util.FixedThreadPool$BasicWorker.dowork(FixedThreadPool.java:379)
>
> at
> com.sun.grizzly.util.FixedThreadPool$BasicWorker.run(FixedThreadPool.java:360)
>
> at java.lang.Thread.run(Thread.java:619)
> Caused by: javax.ejb.CreateException: Initialization failed for
> Singleton SingletonBean
> at
> com.sun.ejb.containers.AbstractSingletonContainer.createSingletonEJB(AbstractSingletonContainer.java:532)
>
> at
> com.sun.ejb.containers.AbstractSingletonContainer.access$100(AbstractSingletonContainer.java:73)
>
> at
> com.sun.ejb.containers.AbstractSingletonContainer$SingletonContextFactory.create(AbstractSingletonContainer.java:700)
>
> ... 35 more
> Caused by: java.lang.IllegalStateException: Exception attempting to
> inject Res-Ref-Env-Property:
> numberguess.SingletonBean/orb_at_org.omg.CORBA.ORB@ resolved as: jndi:
> java:comp/ORB_at_res principal: null_at_mail: null
> No Runtime properties
> Database Vendor : null
> Create Tables at Deploy : false
> Delete Tables at Undeploy : false into class numberguess.SingletonBean
> at
> org.glassfish.webbeans.services.InjectionServicesImpl.aroundInject(InjectionServicesImpl.java:126)
>
> at
> org.jboss.webbeans.injection.InjectionContextImpl.run(InjectionContextImpl.java:47)
>
> at
> org.jboss.webbeans.bean.SessionBean.inject(SessionBean.java:228)
> at
> org.glassfish.webbeans.services.JCDIServiceImpl.injectEJBInstance(JCDIServiceImpl.java:140)
>
> at
> com.sun.ejb.containers.BaseContainer.injectEjbInstance(BaseContainer.java:1553)
>
> at
> com.sun.ejb.containers.AbstractSingletonContainer.createSingletonEJB(AbstractSingletonContainer.java:489)
>
> ... 37 more
> Caused by:
> com.sun.enterprise.container.common.spi.util.InjectionException:
> Exception attempting to inject Res-Ref-Env-Property:
> numberguess.SingletonBean/orb_at_org.omg.CORBA.ORB@ resolved as: jndi:
> java:comp/ORB_at_res principal: null_at_mail: null
> No Runtime properties
> Database Vendor : null
> Create Tables at Deploy : false
> Delete Tables at Undeploy : false into class numberguess.SingletonBean
> at
> com.sun.enterprise.container.common.impl.util.InjectionManagerImpl._inject(InjectionManagerImpl.java:614)
>
> at
> com.sun.enterprise.container.common.impl.util.InjectionManagerImpl.inject(InjectionManagerImpl.java:384)
>
> at
> com.sun.enterprise.container.common.impl.util.InjectionManagerImpl.injectInstance(InjectionManagerImpl.java:168)
>
> at
> org.glassfish.webbeans.services.InjectionServicesImpl.aroundInject(InjectionServicesImpl.java:120)
>
> ... 42 more
> Caused by: javax.naming.NamingException: Lookup failed for
> 'java:comp/env/numberguess.SingletonBean/orb' in SerialContext [Root
> exception is javax.naming.NamingException: Lookup failed for
> 'java:comp/ORB' in SerialContext [Root exception is
> javax.naming.NamingException: Error retrieving orb for java:comp/ORB
> lookup [Root exception is java.lang.RuntimeException: Orb
> initialization erorr]]]
> at
> com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:443)
>
> at javax.naming.InitialContext.lookup(InitialContext.java:392)
> at
> com.sun.enterprise.container.common.impl.util.InjectionManagerImpl._inject(InjectionManagerImpl.java:513)
>
> ... 45 more
> Caused by: javax.naming.NamingException: Lookup failed for
> 'java:comp/ORB' in SerialContext [Root exception is
> javax.naming.NamingException: Error retrieving orb for java:comp/ORB
> lookup [Root exception is java.lang.RuntimeException: Orb
> initialization erorr]]
> at
> com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:443)
>
> at javax.naming.InitialContext.lookup(InitialContext.java:392)
> at
> com.sun.enterprise.naming.util.JndiNamingObjectFactory.create(JndiNamingObjectFactory.java:83)
>
> at
> com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:684)
>
> at
> com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:653)
>
> at
> com.sun.enterprise.naming.impl.JavaURLContext.lookup(JavaURLContext.java:148)
>
> at
> com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:429)
>
> ... 47 more
> Caused by: javax.naming.NamingException: Error retrieving orb for
> java:comp/ORB lookup [Root exception is java.lang.RuntimeException:
> Orb initialization erorr]
> at
> org.glassfish.enterprise.iiop.api.ORBNamingProxy.handle(ORBNamingProxy.java:70)
>
> at
> com.sun.enterprise.naming.impl.NamedNamingObjectManager.tryNamedProxies(NamedNamingObjectManager.java:84)
>
> at
> com.sun.enterprise.naming.impl.JavaURLContext.lookup(JavaURLContext.java:153)
>
> at
> com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:429)
>
> ... 53 more
> Caused by: java.lang.RuntimeException: Orb initialization erorr
> at
> org.glassfish.enterprise.iiop.api.GlassFishORBHelper.getORB(GlassFishORBHelper.java:131)
>
> at
> org.glassfish.enterprise.iiop.api.ORBNamingProxy.handle(ORBNamingProxy.java:68)
>
> ... 56 more
> Caused by: java.lang.NullPointerException
> at
> org.glassfish.enterprise.iiop.api.GlassFishORBHelper.getORB(GlassFishORBHelper.java:101)
>
> ... 57 more
This line is orb = orbFactory.createORB( props ), which can only give a
NPE if orbFactory == null.
GlassFishORBHelper is a @Service, and its postConstruct method sets
orbFactory:

@Inject
private Habitat habitat ;

public void postConstruct() {
    orbFactory = habitat.getByContract( GlassFishORBFactory.class ) ;
}

So it looks like this is failing to set the orbFactory for some reason.
I have no idea how that could happen.

Ken.