-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Compile deferred component error. Seem like a compile error in gen_snapshot. #49372
Comments
/cc @rmacnak-google |
In general we don't provide support for older versions, but @rmacnak-google might remember which bug could have been causing this and associated fix (if any). |
I understand. If there is any clue can be helpful. |
|
Tks, but deferred component is necessary for our app. |
`Dedup optimization` will remove duplicated Code object and keep one instance. When building deferred components, the only Code object (e.x. as callee B) maybe exist in different loading unit from the caller A. This will cause a rellocation bug if A->B was a relative call. Add a flag to indicate building with deferred components. When working with dedup and deferred components, assignUnit first and Code object from different unit is unequal. Issues: dart-lang#49372 Signed-off-by: fangzheyuan <fangzheyuan@bytedance.com>
`Dedup optimization` will remove duplicated Code object and keep one instance. When building deferred components, the only Code object (e.x. as callee B) maybe exist in different loading unit from the caller A. This will cause a rellocation bug if A->B was a relative call. Add a flag to indicate building with deferred components. When working with dedup and deferred components, assignUnit first and Code object from different unit is unequal. Issues: dart-lang#49372 Signed-off-by: fangzheyuan <fangzheyuan@bytedance.com>
reopening to reflect that @lawangle has found an actual bug. |
`Dedup optimization` will remove duplicated Code object and keep one instance. When building deferred components, the only Code object (e.x. as callee B) maybe exist in different loading unit from the caller A. This will cause a rellocation bug if A->B was a relative call. Extract `LoadingUnitOf` function from flow graph compiler. When working with dedup and deferred components, Code object from different unit is unequal. TEST=vm/dart{_2}/regress_49372 Issues: dart-lang#49372 Signed-off-by: fangzheyuan <fangzheyuan@bytedance.com>
`Dedup optimization` will remove duplicated Code object and keep one instance. When building deferred components, the only Code object (e.x. as callee B) maybe exist in different loading unit from the caller A. This will cause a rellocation bug if A->B was a relative call. Extract `LoadingUnitOf` function from flow graph compiler. When working with dedup and deferred components, Code object from different unit is unequal. TEST=vm/dart{_2}/regress_49372 Issues: dart-lang#49372 Signed-off-by: fangzheyuan <fangzheyuan@bytedance.com>
`Dedup optimization` will remove duplicated Code object and keep one instance. When building deferred components, the only Code object (e.x. as callee B) maybe exist in different loading unit from the caller A. This will cause a rellocation bug if A->B was a relative call. Extract `LoadingUnitOf` function from flow graph compiler. When working with dedup and deferred components, Code object from different unit is unequal. TEST=vm/dart{_2}/regress_49372 Issues: dart-lang#49372 Signed-off-by: fangzheyuan <fangzheyuan@bytedance.com>
Closes #49393 TEST=vm/dart{,_2}/regress_49372 Cq-Include-Trybots: luci.dart.try:vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-linux-product-x64-try GitOrigin-RevId: c6306f9 Bug: #49372 Change-Id: I7ec4b170819321cb74037e475006890259446744 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/250720 Commit-Queue: Slava Egorov <vegorov@google.com> Reviewed-by: Slava Egorov <vegorov@google.com>
This should be fixed now. Thanks for the contribution @lawangle! |
Environment:
flutter tools: 2.10.4(flutter/flutter@c860cba)
dart version: 2.16.2 (6fbb923)
Replay steps:
The problem log in my local environment is:
[+822599 ms] [+822565 ms] Unresolved call to Code([Optimized] ___TabsNonScrollableDemoState&State&SingleTickerProviderStateMixin&RestorationMixin._updateProperty) from Code([Optimized] __HomePageState&State&SingleTickerProviderStateMixin&RestorationMixin.registerForRestoration.listener) [ ] [ +2 ms] Unresolved call to Code([Optimized] __CupertinoAlertDemoState&State&RestorationMixin._updateProperty) from Code([Optimized] __LoginPageState&State&RestorationMixin.registerForRestoration.listener) [ ] [ ] Unresolved call to Code([Optimized] __CupertinoAlertDemoState&State&RestorationMixin._updateProperty) from Code([Optimized] __LoginPageState&State&RestorationMixin.registerForRestoration) [ ] [ ] Unresolved call to Code([Optimized] __CupertinoAlertDemoState&State&RestorationMixin._updateProperty) from Code([Optimized] [tear-off] __LoginPageState&State&RestorationMixin._updateProperty) [ ] [ ] Unresolved call to Code([Optimized] __ProgressIndicatorDemoState&State&SingleTickerProviderStateMixin._updateTicker) from Code([Optimized] __RallyPieChartState&State&SingleTickerProviderStateMixin.createTicker) [ ] [ ] Unresolved call to Code([Optimized] __ProgressIndicatorDemoState&State&SingleTickerProviderStateMixin._updateTicker) from Code([Optimized] [tear-off] __RallyPieChartState&State&SingleTickerProviderStateMixin._updateTicker) [ ] [ ] Unresolved call to Code([Optimized] __ProgressIndicatorDemoState&State&SingleTickerProviderStateMixin._updateTicker) from Code([Optimized] __HomePageState&State&SingleTickerProviderStateMixin.createTicker) [ ] [ ] Unresolved call to Code([Optimized] __ProgressIndicatorDemoState&State&SingleTickerProviderStateMixin._updateTicker) from Code([Optimized] [tear-off] __RallyTabState&State&SingleTickerProviderStateMixin._updateTicker) [ ] [ ] Unresolved call to Code([Optimized] ___TabsNonScrollableDemoState&State&SingleTickerProviderStateMixin&RestorationMixin._updateProperty) from Code([Optimized] [tear-off] __HomePageState&State&SingleTickerProviderStateMixin&RestorationMixin._updateProperty) [ ] [ ] Unresolved call to Code([Optimized] ___TabsNonScrollableDemoState&State&SingleTickerProviderStateMixin&RestorationMixin._updateProperty) from Code([Optimized] __HomePageState&State&SingleTickerProviderStateMixin&RestorationMixin.registerForRestoration) [ ] [ ] Unresolved call to Code([Optimized] ___TabsNonScrollableDemoState&State&SingleTickerProviderStateMixin&RestorationMixin.restorePending) from Code([Optimized] __HomePageState&State&SingleTickerProviderStateMixin&RestorationMixin.didUpdateRestorationId) [ ] [ ] Unresolved call to Code([Optimized] __ProgressIndicatorDemoState&State&SingleTickerProviderStateMixin._updateTicker) from Code([Optimized] [tear-off] __HomePageState&State&SingleTickerProviderStateMixin._updateTicker) [ ] [ ] Unresolved call to Code([Optimized] __ProgressIndicatorDemoState&State&SingleTickerProviderStateMixin._updateTicker) from Code([Optimized] __RallyTabState&State&SingleTickerProviderStateMixin.createTicker) [ ] [ ] Unresolved call to Code([Optimized] __ProgressIndicatorDemoState&State&SingleTickerProviderStateMixin._updateTicker) from Code([Optimized] __RallyPieChartState&State&SingleTickerProviderStateMixin.activate) [ ] [ ] Unresolved call to Code([Optimized] __ProgressIndicatorDemoState&State&SingleTickerProviderStateMixin._updateTicker) from Code([Optimized] __HomePageState&State&SingleTickerProviderStateMixin.activate) [ ] [ ] Unresolved call to Code([Optimized] __ProgressIndicatorDemoState&State&SingleTickerProviderStateMixin._updateTicker) from Code([Optimized] __RallyTabState&State&SingleTickerProviderStateMixin.activate) [ ] [ ] Unresolved call to Code([Optimized] ___TabsNonScrollableDemoState&State&SingleTickerProviderStateMixin&RestorationMixin.restorePending) from Code([Optimized] __HomePageState&State&SingleTickerProviderStateMixin&RestorationMixin.didChangeDependencies) [ ] [ ] Unresolved call to Code([Optimized] new __TabsNonScrollableDemoState) from Code([Optimized] HomePage.createState) [ ] [ ] ../../third_party/dart/runtime/vm/compiler/relocation.cc: 124: error: expected: all_unresolved_calls_.IsEmpty() [ ] [ +2 ms] Dart snapshot generator failed with exit code -6
Other messages:
I am a beginner in dart-sdk and i am very interesing in the bug's reason.
The text was updated successfully, but these errors were encountered: