1 Reply Latest reply on Nov 19, 2009 12:26 PM by adrian.brock

    Bug in Microtainer - recursive resoltion

      I found a bug yesterday while doing the 'lazy resolve" feature
      for the classloading.

      The issue is that we avoid recursive processing of a ControllerContext
      by adding them to the "installing" Set inside AbstractController.

      But this only traps invocations of install/uninstall.

      If a recursion occurs during the checking that dependencies are resolved, it goes
      into recursive death with a StackOverFlowException.

      I'm going to change the mechanism such that while dependencies are being
      resolved the context is also added to "installing". In fact, if the dependencies
      are resolved, it should stay there, rather than rebuilding this from the
      "resolvedContexts".