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

Private disposables should dispatch creation and disposal events. #141535

Merged

Conversation

ksokolovskyi
Copy link
Contributor

This PR contributes to #141198

Description

  • Fixes _HeroFlight leak in HeroController
  • Adds _AnimationTuple creation and disposal events dispatching for memory leak tracking
  • Adds _IndicatorPainter creation and disposal events dispatching for memory leak tracking
  • Adds _DialPainter creation and disposal events dispatching for memory leak tracking
  • Adds _DecorationImagePainter creation and disposal events dispatching for memory leak tracking
  • Adds _BlendedDecorationImagePainter creation and disposal events dispatching for memory leak tracking
  • Adds _CachedImageBase creation and disposal events dispatching for memory leak tracking
  • Adds _BindingPipelineManifold creation and disposal events dispatching for memory leak tracking
  • Adds _DraggableSheetExtent creation and disposal events dispatching for memory leak tracking
  • Adds _HighlightModeManager creation and disposal events dispatching for memory leak tracking
  • Adds _HeroFlight creation and disposal events dispatching for memory leak tracking
  • Adds _NestedScrollCoordinator creation and disposal events dispatching for memory leak tracking
  • Adds _GlowController creation and disposal events dispatching for memory leak tracking
  • Adds _StretchController creation and disposal events dispatching for memory leak tracking
  • Adds _DragInfo creation and disposal events dispatching for memory leak tracking
  • Adds _SemanticsClient creation and disposal events dispatching for memory leak tracking
  • Adds _ScreenshotData creation and disposal events dispatching for memory leak tracking

Pre-launch Checklist

  • I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
  • I read the [Tree Hygiene] wiki page, which explains my responsibilities.
  • I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
  • I signed the [CLA].
  • I listed at least one issue that this PR fixes in the description above.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or this PR is [test-exempt].
  • All existing and new tests are passing.

@flutter-dashboard
Copy link

It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact "@test-exemption-reviewer" in the #hackers channel in Chat (don't just cc them here, they won't see it! Use Discord!).

If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

@github-actions github-actions bot added framework flutter/packages/flutter repository. See also f: labels. f: material design flutter/packages/flutter/material repository. a: accessibility Accessibility, e.g. VoiceOver or TalkBack. (aka a11y) f: scrolling Viewports, list views, slivers, etc. f: focus Focus traversal, gaining or losing focus labels Jan 14, 2024
@ksokolovskyi
Copy link
Contributor Author

@ksokolovskyi
Copy link
Contributor Author

cc @polina-c

@polina-c polina-c merged commit e5f62cc into flutter:master Jan 14, 2024
66 checks passed
@polina-c
Copy link
Contributor

Test exemption request: https://discord.com/channels/608014603317936148/608018585025118217/1196191547285323907

Tests are added to memory allocations testing.

@ksokolovskyi
Copy link
Contributor Author

@polina-c thanks for the review!

@Hixie
Copy link
Contributor

Hixie commented Jan 15, 2024

@polina-c please do not land PRs that do not have test exemptions, see https://github.com/flutter/flutter/wiki/Tree-hygiene#tests

@polina-c
Copy link
Contributor

@polina-c please do not land PRs that do not have test exemptions, see https://github.com/flutter/flutter/wiki/Tree-hygiene#tests

@Hixie , I thought this PR does not need test exemption any more since the tests were updated in this PR after auto alert was generated: #141535 (comment)

Am i wrong?

@Hixie
Copy link
Contributor

Hixie commented Jan 15, 2024

Oh, so they were, my apologies.

@polina-c polina-c added the a: leak tracking Issues and PRs related to memory leaks detected by leak_tracker label Jan 16, 2024
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Jan 16, 2024
flutter/flutter@1a2c315...8e94423

2024-01-15 98614782+auto-submit[bot]@users.noreply.github.com Reverts "BoxPainter should dispatch creation and disposal events." (flutter/flutter#141545)
2024-01-14 sokolovskyi.konstantin@gmail.com Private disposables should dispatch creation and disposal events. (flutter/flutter#141535)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC dit@google.com,rmistry@google.com,stuartmorgan@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
arc-yong pushed a commit to Arctuition/packages-arc that referenced this pull request Jun 14, 2024
…#5897)

flutter/flutter@1a2c315...8e94423

2024-01-15 98614782+auto-submit[bot]@users.noreply.github.com Reverts "BoxPainter should dispatch creation and disposal events." (flutter/flutter#141545)
2024-01-14 sokolovskyi.konstantin@gmail.com Private disposables should dispatch creation and disposal events. (flutter/flutter#141535)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC dit@google.com,rmistry@google.com,stuartmorgan@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a: accessibility Accessibility, e.g. VoiceOver or TalkBack. (aka a11y) a: leak tracking Issues and PRs related to memory leaks detected by leak_tracker f: focus Focus traversal, gaining or losing focus f: material design flutter/packages/flutter/material repository. f: scrolling Viewports, list views, slivers, etc. framework flutter/packages/flutter repository. See also f: labels.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants