[jira] [Commented] (OWB-738) CODI @ConversationScope + @Stateful in a bean = java.lang.StackOverflowError

2012-12-15 Thread Eric Covener (JIRA)

[ 
https://issues.apache.org/jira/browse/OWB-738?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13533043#comment-13533043
 ] 

Eric Covener commented on OWB-738:
--

AFAICT WSEjbBean is calling Context.get with no CreationalContext to test if an 
instance is already in the scope, but it looks like the custom scope is trying 
to create a new instance, which si where it then loops.

 The get() method may not create a new instance of the given contextual type 
 unless a CreationalContext is given.



  CODI @ConversationScope + @Stateful in a bean = java.lang.StackOverflowError
 -

 Key: OWB-738
 URL: https://issues.apache.org/jira/browse/OWB-738
 Project: OpenWebBeans
  Issue Type: Bug
Affects Versions: 1.1.6
 Environment: WebSphere v8.5.0.1 on Windows
Reporter: Denis Forveille

 In WebSphere v8.5.0.1 this very simple bean causes a 
 java.lang.StackOverflowError :
 @Named(codiTestConversationCtrl)
 @ConversationScoped
 @Stateful
 public class CODITestConversationCtrl implements Serializable {
private static final long serialVersionUID = 1L;
private Integer valeur;
 whatever code from here, getters/setters etc
 It is simply referenced in a page with
#{codiTestConversationCtrl.valeur}
 This causes a StackOverflowError after an endless recursive loop .
 If i use the CDI @ConversationScoped standard annotation instead of the CODI 
 one, it works
 If I remove the @Stateful annotation to use a plain POJO instead of a SFSB, 
 it works too..
 Check the initial diagnostic by Gerhard Petracek  from  the Apache CODI 
 project there : https://issues.apache.org/jira/browse/EXTCDI-304
 Here are some part of the traceback:
 ...
 at 
 org.apache.webbeans.component.AbstractOwbBean.create(AbstractOwbBean.java:174)
 at 
 org.apache.webbeans.container.SerializableBean.create(SerializableBean.java:128)
 at 
 org.apache.myfaces.extensions.cdi.core.impl.util.CodiUtils.createNewInstanceOfBean(CodiUtils.java:69)
 at 
 org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.AbstractConversationBeanEntry.createNewBeanInstance(AbstractConversationBeanEntry.java:139)
 at 
 org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.AbstractConversationBeanEntry.getBeanInstance(AbstractConversationBeanEntry.java:84)
 at 
 org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.DefaultConversation.getBean(DefaultConversation.java:163)
 at 
 org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.GroupedConversationContext.resolveBeanInstance(GroupedConversationContext.java:185)
 at 
 org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.AbstractGroupedConversationContext.resolve(AbstractGroupedConversationContext.java:114)
 at 
 org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.ConversationContextAdapter.get(ConversationContextAdapter.java:98)
 at 
 org.apache.webbeans.context.CustomContextImpl.get(CustomContextImpl.java:48)
 at 
 org.apache.webbeans.context.CustomPassivatingContextImpl.get(CustomPassivatingContextImpl.java:47)
 at 
 org.apache.webbeans.ejb.component.WSEjbBean.getInstance(WSEjbBean.java:196)
 at 
 org.apache.webbeans.ejb.common.component.BaseEjbBean.createComponentInstance(BaseEjbBean.java:104)
 at 
 org.apache.webbeans.component.AbstractInjectionTargetBean.createDefaultInstance(AbstractInjectionTargetBean.java:134)
 at 
 org.apache.webbeans.component.AbstractInjectionTargetBean.createInstance(AbstractInjectionTargetBean.java:117)
 at 
 org.apache.webbeans.component.AbstractOwbBean.createNewInstance(AbstractOwbBean.java:216)
 at 
 org.apache.webbeans.portable.creation.AbstractProducer.produce(AbstractProducer.java:82)
 at 
 org.apache.webbeans.component.InjectionTargetWrapper.produce(InjectionTargetWrapper.java:145)
 at 
 org.apache.webbeans.component.AbstractOwbBean.create(AbstractOwbBean.java:174)
 at 
 org.apache.webbeans.container.SerializableBean.create(SerializableBean.java:128)
 at 
 org.apache.myfaces.extensions.cdi.core.impl.util.CodiUtils.createNewInstanceOfBean(CodiUtils.java:69)
 at 
 org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.AbstractConversationBeanEntry.createNewBeanInstance(AbstractConversationBeanEntry.java:139)
 at 
 org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.AbstractConversationBeanEntry.getBeanInstance(AbstractConversationBeanEntry.java:84)
 at 
 org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.DefaultConversation.getBean(DefaultConversation.java:163)
 at 
 

[jira] [Commented] (OWB-738) CODI @ConversationScope + @Stateful in a bean = java.lang.StackOverflowError

2012-12-15 Thread Eric Covener (JIRA)

[ 
https://issues.apache.org/jira/browse/OWB-738?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13533046#comment-13533046
 ] 

Eric Covener commented on OWB-738:
--

The confusing part is why it needs to call Context.get when the scope just 
called into Bean.getInstance() -- I don't know how this could ever return 
non-null.  It may be that there is some non-standard path into 
Bean.getInstance() in WAS that means we can get in here w/ a context active in 
the scope.

  CODI @ConversationScope + @Stateful in a bean = java.lang.StackOverflowError
 -

 Key: OWB-738
 URL: https://issues.apache.org/jira/browse/OWB-738
 Project: OpenWebBeans
  Issue Type: Bug
Affects Versions: 1.1.6
 Environment: WebSphere v8.5.0.1 on Windows
Reporter: Denis Forveille

 In WebSphere v8.5.0.1 this very simple bean causes a 
 java.lang.StackOverflowError :
 @Named(codiTestConversationCtrl)
 @ConversationScoped
 @Stateful
 public class CODITestConversationCtrl implements Serializable {
private static final long serialVersionUID = 1L;
private Integer valeur;
 whatever code from here, getters/setters etc
 It is simply referenced in a page with
#{codiTestConversationCtrl.valeur}
 This causes a StackOverflowError after an endless recursive loop .
 If i use the CDI @ConversationScoped standard annotation instead of the CODI 
 one, it works
 If I remove the @Stateful annotation to use a plain POJO instead of a SFSB, 
 it works too..
 Check the initial diagnostic by Gerhard Petracek  from  the Apache CODI 
 project there : https://issues.apache.org/jira/browse/EXTCDI-304
 Here are some part of the traceback:
 ...
 at 
 org.apache.webbeans.component.AbstractOwbBean.create(AbstractOwbBean.java:174)
 at 
 org.apache.webbeans.container.SerializableBean.create(SerializableBean.java:128)
 at 
 org.apache.myfaces.extensions.cdi.core.impl.util.CodiUtils.createNewInstanceOfBean(CodiUtils.java:69)
 at 
 org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.AbstractConversationBeanEntry.createNewBeanInstance(AbstractConversationBeanEntry.java:139)
 at 
 org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.AbstractConversationBeanEntry.getBeanInstance(AbstractConversationBeanEntry.java:84)
 at 
 org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.DefaultConversation.getBean(DefaultConversation.java:163)
 at 
 org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.GroupedConversationContext.resolveBeanInstance(GroupedConversationContext.java:185)
 at 
 org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.AbstractGroupedConversationContext.resolve(AbstractGroupedConversationContext.java:114)
 at 
 org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.ConversationContextAdapter.get(ConversationContextAdapter.java:98)
 at 
 org.apache.webbeans.context.CustomContextImpl.get(CustomContextImpl.java:48)
 at 
 org.apache.webbeans.context.CustomPassivatingContextImpl.get(CustomPassivatingContextImpl.java:47)
 at 
 org.apache.webbeans.ejb.component.WSEjbBean.getInstance(WSEjbBean.java:196)
 at 
 org.apache.webbeans.ejb.common.component.BaseEjbBean.createComponentInstance(BaseEjbBean.java:104)
 at 
 org.apache.webbeans.component.AbstractInjectionTargetBean.createDefaultInstance(AbstractInjectionTargetBean.java:134)
 at 
 org.apache.webbeans.component.AbstractInjectionTargetBean.createInstance(AbstractInjectionTargetBean.java:117)
 at 
 org.apache.webbeans.component.AbstractOwbBean.createNewInstance(AbstractOwbBean.java:216)
 at 
 org.apache.webbeans.portable.creation.AbstractProducer.produce(AbstractProducer.java:82)
 at 
 org.apache.webbeans.component.InjectionTargetWrapper.produce(InjectionTargetWrapper.java:145)
 at 
 org.apache.webbeans.component.AbstractOwbBean.create(AbstractOwbBean.java:174)
 at 
 org.apache.webbeans.container.SerializableBean.create(SerializableBean.java:128)
 at 
 org.apache.myfaces.extensions.cdi.core.impl.util.CodiUtils.createNewInstanceOfBean(CodiUtils.java:69)
 at 
 org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.AbstractConversationBeanEntry.createNewBeanInstance(AbstractConversationBeanEntry.java:139)
 at 
 org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.AbstractConversationBeanEntry.getBeanInstance(AbstractConversationBeanEntry.java:84)
 at 
 org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.DefaultConversation.getBean(DefaultConversation.java:163)
 at 
 

[jira] [Commented] (OWB-738) CODI @ConversationScope + @Stateful in a bean = java.lang.StackOverflowError

2012-12-15 Thread Gerhard Petracek (JIRA)

[ 
https://issues.apache.org/jira/browse/OWB-738?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13533055#comment-13533055
 ] 

Gerhard Petracek commented on OWB-738:
--

we should change the summary of this ticket. it looks like it happens with 
every custom scope.
at least the same happens with ViewScopedContext (also here Contextual is null 
for javax.enterprise.context.spi.Context#get(Contextual))

  CODI @ConversationScope + @Stateful in a bean = java.lang.StackOverflowError
 -

 Key: OWB-738
 URL: https://issues.apache.org/jira/browse/OWB-738
 Project: OpenWebBeans
  Issue Type: Bug
Affects Versions: 1.1.6
 Environment: WebSphere v8.5.0.1 on Windows
Reporter: Denis Forveille

 In WebSphere v8.5.0.1 this very simple bean causes a 
 java.lang.StackOverflowError :
 @Named(codiTestConversationCtrl)
 @ConversationScoped
 @Stateful
 public class CODITestConversationCtrl implements Serializable {
private static final long serialVersionUID = 1L;
private Integer valeur;
 whatever code from here, getters/setters etc
 It is simply referenced in a page with
#{codiTestConversationCtrl.valeur}
 This causes a StackOverflowError after an endless recursive loop .
 If i use the CDI @ConversationScoped standard annotation instead of the CODI 
 one, it works
 If I remove the @Stateful annotation to use a plain POJO instead of a SFSB, 
 it works too..
 Check the initial diagnostic by Gerhard Petracek  from  the Apache CODI 
 project there : https://issues.apache.org/jira/browse/EXTCDI-304
 Here are some part of the traceback:
 ...
 at 
 org.apache.webbeans.component.AbstractOwbBean.create(AbstractOwbBean.java:174)
 at 
 org.apache.webbeans.container.SerializableBean.create(SerializableBean.java:128)
 at 
 org.apache.myfaces.extensions.cdi.core.impl.util.CodiUtils.createNewInstanceOfBean(CodiUtils.java:69)
 at 
 org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.AbstractConversationBeanEntry.createNewBeanInstance(AbstractConversationBeanEntry.java:139)
 at 
 org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.AbstractConversationBeanEntry.getBeanInstance(AbstractConversationBeanEntry.java:84)
 at 
 org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.DefaultConversation.getBean(DefaultConversation.java:163)
 at 
 org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.GroupedConversationContext.resolveBeanInstance(GroupedConversationContext.java:185)
 at 
 org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.AbstractGroupedConversationContext.resolve(AbstractGroupedConversationContext.java:114)
 at 
 org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.ConversationContextAdapter.get(ConversationContextAdapter.java:98)
 at 
 org.apache.webbeans.context.CustomContextImpl.get(CustomContextImpl.java:48)
 at 
 org.apache.webbeans.context.CustomPassivatingContextImpl.get(CustomPassivatingContextImpl.java:47)
 at 
 org.apache.webbeans.ejb.component.WSEjbBean.getInstance(WSEjbBean.java:196)
 at 
 org.apache.webbeans.ejb.common.component.BaseEjbBean.createComponentInstance(BaseEjbBean.java:104)
 at 
 org.apache.webbeans.component.AbstractInjectionTargetBean.createDefaultInstance(AbstractInjectionTargetBean.java:134)
 at 
 org.apache.webbeans.component.AbstractInjectionTargetBean.createInstance(AbstractInjectionTargetBean.java:117)
 at 
 org.apache.webbeans.component.AbstractOwbBean.createNewInstance(AbstractOwbBean.java:216)
 at 
 org.apache.webbeans.portable.creation.AbstractProducer.produce(AbstractProducer.java:82)
 at 
 org.apache.webbeans.component.InjectionTargetWrapper.produce(InjectionTargetWrapper.java:145)
 at 
 org.apache.webbeans.component.AbstractOwbBean.create(AbstractOwbBean.java:174)
 at 
 org.apache.webbeans.container.SerializableBean.create(SerializableBean.java:128)
 at 
 org.apache.myfaces.extensions.cdi.core.impl.util.CodiUtils.createNewInstanceOfBean(CodiUtils.java:69)
 at 
 org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.AbstractConversationBeanEntry.createNewBeanInstance(AbstractConversationBeanEntry.java:139)
 at 
 org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.AbstractConversationBeanEntry.getBeanInstance(AbstractConversationBeanEntry.java:84)
 at 
 org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.DefaultConversation.getBean(DefaultConversation.java:163)
 at 
 org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.GroupedConversationContext.resolveBeanInstance(GroupedConversationContext.java:185)
 at