[GLASSFISH-15400] Stack overflow when referencing bad external resources Created: 31/Dec/10 Updated: 19/Dec/16 Status: Project: Component/s: Affects Version/s: Fix Version/s: Open glassfish other 3.1_dev Type: Reporter: Resolution: Labels: Remaining Estimate: Time Spent: Original Estimate: Environment: Bug rsmogura Unresolved None Not Specified None Priority: Assignee: Votes: Minor naman_mehta 2 Not Specified Not Specified Glassfish v3.1 b35 Description When I try to reference invalid, bad configured external LDAP resource from Web application I got stack overfl Caused by: com.sun.faces.spi.InjectionProviderException: com.sun.enterprise.container.common.spi.util.Injectio attempting to inject Env-Prop: ldap/softperience@Field-Injectable Resource. Class name = eu.softper.common.auth.usermanagment.UserTest Field [email protected]@ldap/softperience@ eu.softper.common.auth.usermanagment.UserTest at org.glassfish.faces.integration.GlassFishInjectionProvider.inject(GlassFishInjectionProvider.java:194) at com.sun.faces.mgbean.BeanBuilder.injectResources(BeanBuilder.java:205) ... 46 more Caused by: com.sun.enterprise.container.common.spi.util.InjectionException: Exception attempting to inject En ldap/softperience@Field-Injectable Resource. Class name = eu.softper.common.auth.usermanagment.UserTest F [email protected]@ldap/softperience@@ into class eu.softper.common.auth.usermanagment.U at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl._inject(InjectionManagerImpl.java:698 at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl.inject(InjectionManagerImpl.java:468) at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl.injectInstance(InjectionManagerImpl.ja at org.glassfish.faces.integration.GlassFishInjectionProvider.inject(GlassFishInjectionProvider.java:184) ... 47 more Caused by: java.lang.StackOverflowError at java.lang.StringCoding$StringDecoder.decode(StringCoding.java:140) at java.lang.StringCoding.decode(StringCoding.java:173) at java.lang.String.<init>(String.java:443) at java.lang.String.<init>(String.java:515) at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connect(Socket.java:529) at java.net.Socket.connect(Socket.java:478) at java.net.Socket.<init>(Socket.java:375) at java.net.Socket.<init>(Socket.java:189) at com.sun.jndi.ldap.Connection.createSocket(Connection.java:352) at com.sun.jndi.ldap.Connection.<init>(Connection.java:187) at com.sun.jndi.ldap.LdapClient.<init>(LdapClient.java:118) at com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1580) at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2652) at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:293) at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:53) at com.sun.enterprise.resource.deployer.ExternalJndiResourceDeployer.installExternalJndiResource(ExternalJndiR at com.sun.enterprise.resource.deployer.ExternalJndiResourceDeployer.createExternalJndiResource(ExternalJndiR at com.sun.enterprise.resource.deployer.ExternalJndiResourceDeployer.deployResource(ExternalJndiResourceD at org.glassfish.javaee.services.ResourceProxy.create(ResourceProxy.java:90) at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:548) at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:491) at javax.naming.InitialContext.lookup(InitialContext.java:392) at javax.naming.InitialContext.lookup(InitialContext.java:392) at com.sun.appserv.connectors.internal.api.ResourceNamingService.lookup(ResourceNamingService.java:221) at org.glassfish.javaee.services.ResourceProxy.create(ResourceProxy.java:93) at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:548) at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:491) at javax.naming.InitialContext.lookup(InitialContext.java:392) at javax.naming.InitialContext.lookup(InitialContext.java:392) <repeat....> at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:548) at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:491) at javax.naming.InitialContext.lookup(InitialContext.java:392) at javax.naming.InitialContext.lookup(InitialContext.java:392) Comments Comment by juergenschmied [ 23/Mar/12 ] I have the same error (on 3.1.2) : 23 Mrz 2012 12:33:12,625 FATAL WarnProzessMDB : Es ist ein unbekannter Fehler beim Verarbeiten einer N javax.ejb.EJBException: javax.ejb.EJBException: javax.ejb.CreateException: Could not create stateless EJB at com.sun.ejb.containers.StatelessSessionContainer._getContext(StatelessSessionContainer.java:454) at com.sun.ejb.containers.BaseContainer.getContext(BaseContainer.java:2547) at com.sun.ejb.containers.BaseContainer.preInvoke(BaseContainer.java:1899) at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:21 at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandle at $Proxy425.versende(Unknown Source) at my.package.transport._EJB31_GeneratedWarnFileVersandIntf__Bean_.versende(Unknown Source) at my.package.WarnProzessMDB.onMessage(WarnProzessMDB.java:107) 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 org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1052) at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1124) at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:4180) at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:5368) at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:5348) at com.sun.ejb.containers.MessageBeanContainer.deliverMessage(MessageBeanContainer.java:1099) at com.sun.ejb.containers.MessageBeanListenerImpl.deliverMessage(MessageBeanListenerImpl.java:81) at com.sun.enterprise.connectors.inbound.MessageEndpointInvocationHandler.invoke(MessageEndpointInvocation at $Proxy429.onMessage(Unknown Source) at my.package.aqRa.inbound.AqJmsActivation$InboundWorker.run(AqJmsActivation.java:343) at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:114) at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:540) Caused by: javax.ejb.EJBException: javax.ejb.CreateException: Could not create stateless EJB at com.sun.ejb.containers.StatelessSessionContainer$SessionContextFactory.create(StatelessSessionContainer.ja at com.sun.ejb.containers.util.pool.NonBlockingPool.getObject(NonBlockingPool.java:247) at com.sun.ejb.containers.StatelessSessionContainer._getContext(StatelessSessionContainer.java:449) ... 24 more Caused by: javax.ejb.CreateException: Could not create stateless EJB at com.sun.ejb.containers.StatelessSessionContainer.createStatelessEJB(StatelessSessionContainer.java:534) at com.sun.ejb.containers.StatelessSessionContainer.access$000(StatelessSessionContainer.java:95) at com.sun.ejb.containers.StatelessSessionContainer$SessionContextFactory.create(StatelessSessionContainer.ja ... 26 more Caused by: com.sun.enterprise.container.common.spi.util.InjectionException: Exception beim Versuch, Res-Ref file/[email protected]@ resolved as: jndi: file/XADisk@res null@mail: null No Runtime properties Database Vendor : null Create Tables at Deploy : false Delete Tables at Undeploy : false in class bc7.warn.process.bean.transport.WarnFileVersand durch Injection ein at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl._inject(InjectionManagerImpl.java:703 at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl.inject(InjectionManagerImpl.java:470) at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl.injectInstance(InjectionManagerImpl.ja at com.sun.ejb.containers.BaseContainer.injectEjbInstance(BaseContainer.java:1694) at com.sun.ejb.containers.StatelessSessionContainer.createStatelessEJB(StatelessSessionContainer.java:494) ... 28 more Caused by: java.lang.StackOverflowError at org.jvnet.hk2.config.ConfigModel$1.get(ConfigModel.java:114) at com.sun.hk2.component.LazyInhabitant.getClassLoader(LazyInhabitant.java:117) at com.sun.hk2.component.LazyInhabitant.loadClass(LazyInhabitant.java:122) at com.sun.hk2.component.LazyInhabitant.type(LazyInhabitant.java:99) at org.jvnet.hk2.config.Dom.domNodeByTypeElements(Dom.java:765) at org.jvnet.hk2.config.ConfigModel$CollectionNode.get(ConfigModel.java:425) at org.jvnet.hk2.config.Dom.getter(Dom.java:971) at org.jvnet.hk2.config.ConfigBean._getter(ConfigBean.java:184) at org.jvnet.hk2.config.ConfigBean.getter(ConfigBean.java:192) at org.jvnet.hk2.config.Dom.invoke(Dom.java:921) at org.glassfish.config.support.TranslatedConfigView.invoke(TranslatedConfigView.java:119) at $Proxy78.getResources(Unknown Source) at com.sun.enterprise.config.serverbeans.Resources$Duck.getResources(Resources.java:105) at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.jvnet.hk2.config.Dom.invokeDuckMethod(Dom.java:959) at org.jvnet.hk2.config.Dom.invoke(Dom.java:912) at org.glassfish.config.support.TranslatedConfigView.invoke(TranslatedConfigView.java:119) at $Proxy78.getResources(Unknown Source) at com.sun.enterprise.config.serverbeans.Resources$Duck.getResourceByName(Resources.java:157) at sun.reflect.GeneratedMethodAccessor52.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.jvnet.hk2.config.Dom.invokeDuckMethod(Dom.java:959) at org.jvnet.hk2.config.Dom.invoke(Dom.java:912) at org.glassfish.config.support.TranslatedConfigView.invoke(TranslatedConfigView.java:119) at $Proxy78.getResourceByName(Unknown Source) at com.sun.enterprise.connectors.util.ResourcesUtil.isEnabled(ResourcesUtil.java:737) at com.sun.enterprise.resource.deployer.ConnectorResourceDeployer.createConnectorResource(ConnectorResourc at com.sun.enterprise.resource.deployer.ConnectorResourceDeployer.deployResource(ConnectorResourceDeplo at org.glassfish.javaee.services.ResourceProxy.create(ResourceProxy.java:90) at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:507) at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455) at javax.naming.InitialContext.lookup(InitialContext.java:392) at javax.naming.InitialContext.lookup(InitialContext.java:392) at com.sun.appserv.connectors.internal.api.ResourceNamingService.lookup(ResourceNamingService.java:221) at org.glassfish.javaee.services.ResourceProxy.create(ResourceProxy.java:93) at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:507) at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455) at javax.naming.InitialContext.lookup(InitialContext.java:392) at javax.naming.InitialContext.lookup(InitialContext.java:392) at com.sun.appserv.connectors.internal.api.ResourceNamingService.lookup(ResourceNamingService.java:221) at org.glassfish.javaee.services.ResourceProxy.create(ResourceProxy.java:93) at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:507) at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455) at javax.naming.InitialContext.lookup(InitialContext.java:392) at javax.naming.InitialContext.lookup(InitialContext.java:392) Easy to reproduce: Inject a SSB to a MDB where the SSB has a injected Ressource from a second RCA (in my case the XADisk RC RCA, fire the MDB. Generated at Wed Apr 05 10:59:01 UTC 2017 using JIRA 6.2.3#6260sha1:63ef1d6dac3f4f4d7db4c1effd405ba38ccdc558.