Skip to content

Conversation

@bparrishMines
Copy link
Contributor

@bparrishMines bparrishMines commented Dec 3, 2025

In the event of a hot restart, the native InstanceManagers are cleared. There is then a chance for a class to make a callback when it is no in the instance manager which leads to a null exception in the codec.

Part of fixing flutter/flutter#176451
Pigeon side fix for #10529

Pre-Review Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the gemini-code-assist bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.

Footnotes

  1. Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling. 2 3

@bparrishMines bparrishMines changed the title Pigeon instances [pigeon] Fixes crash that occurs when a object that is removed from the instance manager calls to Dart Dec 3, 2025
@bparrishMines bparrishMines marked this pull request as ready for review December 3, 2025 15:24
@bparrishMines bparrishMines changed the title [pigeon] Fixes crash that occurs when a object that is removed from the instance manager calls to Dart [pigeon] Fixes crash that occurs when an object that is removed from the instance manager calls to Dart Dec 3, 2025
class ProxyApiDelegate: ProxyApiTestsPigeonProxyApiDelegate {
func pigeonApiProxyApiTestClass(_ registrar: ProxyApiTestsPigeonProxyApiRegistrar)
-> PigeonApiProxyApiTestClass
class ProxyApiTestClassDelegate: PigeonApiDelegateProxyApiTestClass {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is just copied and pasted outside of the ProxyApiDelegate.pigeonApiProxyApiTestClass so that the test has access to it.

.failure(
${_getErrorClassName(generatorOptions)}(
code: "missing-instance-error",
message: "Calling instance is not in the instance manager.", details: "")))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Calling instance is not...

Should it be calling instance [instance name]?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[instanceName] would always be pigeonInstanceArg and wouldn't be that helpful. But the error message probably would be more helpful if I added the class and method name here, so I'll add that.

@bparrishMines bparrishMines added the autosubmit Merge PR when tree becomes green via auto submit App label Dec 4, 2025
@auto-submit auto-submit bot merged commit d39e481 into flutter:main Dec 4, 2025
80 checks passed
@bparrishMines bparrishMines deleted the pigeon_instances branch December 4, 2025 03:51
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 4, 2025
github-merge-queue bot pushed a commit to flutter/flutter that referenced this pull request Dec 4, 2025
flutter/packages@8cb4903...d39e481

2025-12-04 [email protected] [pigeon]
Fixes crash that occurs when an object that is removed from the instance
manager calls to Dart (flutter/packages#10552)
2025-12-04 [email protected] [pigeon]
Fixes error from constructor parameter sharing name with attached field
for a ProxyApi (flutter/packages#10541)
2025-12-04 [email protected] fix[image_picker_ios]: Prevent
transcoding on video selection (flutter/packages#10559)
2025-12-04 [email protected]
[webview_flutter_wkwebview] Fixes crash when running
`WKNavigationResponse` tests on Xcode 26 (flutter/packages#10316)
2025-12-03 [email protected] Redistribute iOS
CODEOWNERS (flutter/packages#10520)
2025-12-03 [email protected] [url_launcher] Update for UIScene
compatibility (flutter/packages#10549)
2025-12-03 [email protected] Roll Flutter from
e274574 to 69d8710 (5 revisions) (flutter/packages#10558)
2025-12-03 [email protected] Roll Flutter from
5545bb3 to e274574 (17 revisions) (flutter/packages#10554)

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-flutter-autoroll
Please CC [email protected] on the revert to ensure that a
human
is aware of the problem.

To file a bug in Flutter:
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

autosubmit Merge PR when tree becomes green via auto submit App p: pigeon platform-android platform-ios platform-macos

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants