Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Backport two fixes for container #20028

Merged
merged 2 commits into from
Mar 24, 2022
Merged

Commits on Mar 16, 2022

  1. [BUGFIX LTS] remove bad setFactoryFor call

    This call *attempted* to avoid setting the `INIT_FACTORY` on items
    which did not need it (specifically, it avoided setting it on things
    which were not instantiable), but ultimately failed to do. It was
    ultimately setting the new `FactoryManager` instance as the
    `INIT_FACTORY` value on each instantiable object, which includes
    classes and not just class instances, since objects are only treated as
    non-instantiable when they explicitly specify `instantiate: false`.
    
    The net was a memory leak: the routing service *class* ended up with an
    `INIT_FACTORY` pointing to a `FactoryManager` instance which in turn
    always had a `container` on it, which meant that there was a cycle (the
    container also referenced the service) and thus a leak. This affects
    both tests and FastBoot, where we construct new instances of the
    service whenever we call the `visit` API.
    chriskrycho committed Mar 16, 2022
    Configuration menu
    Copy the full SHA
    fc7bfe7 View commit details
    Browse the repository at this point in the history
  2. [BUGFIX beta] remove unneeded setFactoryFor(this, this)

    Identified as part of the work on #20025, this particular `setFactoryFor`
    was needed at one time but is now defunct. Remove it.
    chriskrycho committed Mar 16, 2022
    Configuration menu
    Copy the full SHA
    2590b2b View commit details
    Browse the repository at this point in the history