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