1 Reply Latest reply on Nov 19, 2009 12:26 PM by Adrian Brock

    Bug in Microtainer - recursive resoltion

    Adrian Brock Master

      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".