You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by "Reinis Vicups (JIRA)" <ji...@apache.org> on 2013/05/05 13:56:16 UTC

[jira] [Updated] (OPENEJB-2018) Infinite loop in OpenEJBTransactionService causing StackOverflowError during CDI event firing

     [ https://issues.apache.org/jira/browse/OPENEJB-2018?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Reinis Vicups updated OPENEJB-2018:
-----------------------------------

    Attachment: infiniteloop.zip

Foobar replication project.
                
> Infinite loop in OpenEJBTransactionService causing StackOverflowError during CDI event firing
> ---------------------------------------------------------------------------------------------
>
>                 Key: OPENEJB-2018
>                 URL: https://issues.apache.org/jira/browse/OPENEJB-2018
>             Project: OpenEJB
>          Issue Type: Bug
>          Components: ejb31
>    Affects Versions: 4.6.0
>            Reporter: Reinis Vicups
>         Attachments: infiniteloop.zip
>
>
> In the attached FooBar project attempt to fire an CDI event in BaringController lead to infinite loop with the following StackOverflowError.
> My assumption is that the configuration of observer method (Async, requires new transaction and AFTER_SUCCESS transaction phase) in FooEventHandler cause this, although I haven't tested this with simplified config (e.g. no Async and no Transaction annotations).
> SEVERE - EjbTransactionUtil.handleSystemException: null
> java.lang.StackOverflowError
> 	at java.lang.Class.cast(Class.java:3004)
> 	at org.apache.webbeans.config.WebBeansContext.getService(WebBeansContext.java:187)
> 	at org.apache.openejb.cdi.OpenEJBTransactionService.registerTransactionSynchronization(OpenEJBTransactionService.java:83)
> 	at org.apache.openejb.cdi.OpenEJBTransactionService.registerTransactionSynchronization(OpenEJBTransactionService.java:83)
> 	at org.apache.openejb.cdi.OpenEJBTransactionService.registerTransactionSynchronization(OpenEJBTransactionService.java:83)
> 	at org.apache.openejb.cdi.OpenEJBTransactionService.registerTransactionSynchronization(OpenEJBTransactionService.java:83)
> 	at org.apache.openejb.cdi.OpenEJBTransactionService.registerTransactionSynchronization(OpenEJBTransactionService.java:83)
> 	at org.apache.openejb.cdi.OpenEJBTransactionService.registerTransactionSynchronization(OpenEJBTransactionService.java:83)
> 	at org.apache.openejb.cdi.OpenEJBTransactionService.registerTransactionSynchronization(OpenEJBTransactionService.java:83)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira