[jboss-jira] [JBoss JIRA] Updated: (JBMICROCONT-421) Unwanted recursion when Controller.install() is used recursively
Ales Justin (JIRA)
jira-events at lists.jboss.org
Mon May 11 05:54:46 EDT 2009
[ https://jira.jboss.org/jira/browse/JBMICROCONT-421?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ales Justin updated JBMICROCONT-421:
------------------------------------
Fix Version/s: JBossMC-2.0.5.GA
Affects Version/s: JBossMC-2.0.4.GA
> Unwanted recursion when Controller.install() is used recursively
> ----------------------------------------------------------------
>
> Key: JBMICROCONT-421
> URL: https://jira.jboss.org/jira/browse/JBMICROCONT-421
> Project: JBoss Microcontainer
> Issue Type: Bug
> Components: Dependency
> Affects Versions: JBossMC-2.0.4.GA
> Reporter: Adrian Brock
> Assignee: Ales Justin
> Fix For: JBossMC-2.0.5.GA
>
>
> There is some unwanted/unrelated recursion happening when Controller.install() is used recurisvely.
> Imagine there are 3 contexts A,B,C all waiting on dependency D
> When D is satisified all A,B,C do a further installation to the Controller.
> What happens is that Controller says A, B and C are resolved
> The controller then adds A to its "processing" set.
> When A does its install its spots B and C are ready to move
> and so it repeats the above for B which will in turn lead to the same thing for C.
> D installed -> A.start() -> install() -> B.start() -> install() -> C.start()
> When there are many A, B, C this will lead to a stack overflow.
> The A, B, C are actually independent so there it should look more like:
> D installed
> -> A.start() -> install()
> -> B.start() -> install()
> -> C.start() -> install()
> i.e. the invocations on A, B and C should happen on the same level of the call stack.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list