Skip to content

HOT RELOAD: Support reloading deferred libraries #26878

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

Closed
johnmccutchan opened this issue Jul 13, 2016 · 2 comments
Closed

HOT RELOAD: Support reloading deferred libraries #26878

johnmccutchan opened this issue Jul 13, 2016 · 2 comments
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. vm-hot-reload

Comments

@johnmccutchan
Copy link
Contributor

We need to handle deferred libraries specially during reload. Currently all deferred library tests are marked skip in the status files.

@kevmoo kevmoo added the area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. label Jul 13, 2016
@turnidge
Copy link
Contributor

I submitted a change to explicitly disallow deferred libraries when reloading, so at least the system will handle it more gracefully until we fix this.

77b9939

There was one odd test that I still saw passing (spuriously) despite the change:

deferred_super_dependency_test: Pass, Crash # Requires deferred libraries

Probably could bear some investigation.

@johnmccutchan johnmccutchan added the type-enhancement A request for a change that isn't a bug label Jul 14, 2016
@johnmccutchan johnmccutchan added the P3 A lower priority bug or feature request label Aug 3, 2016
@johnmccutchan johnmccutchan removed their assignment Aug 3, 2016
@mraleph
Copy link
Member

mraleph commented Jun 26, 2019

Closing as outdated.

@mraleph mraleph closed this as completed Jun 26, 2019
@mraleph mraleph added the closed-obsolete Closed as the reported issue is no longer relevant label Jun 26, 2019
@rmacnak-google rmacnak-google removed P3 A lower priority bug or feature request closed-obsolete Closed as the reported issue is no longer relevant customer-flutter type-enhancement A request for a change that isn't a bug labels Jun 10, 2020
dart-bot pushed a commit that referenced this issue Jun 11, 2020
…bers are used.

Restore checks against reloading a library with deferred prefixes.

No loading is actually deferred.

Bug: #26878
Bug: #41974
Change-Id: Iec2662de117453d596cca28dd9481a9751091ce9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149613
Commit-Queue: Ryan Macnak <[email protected]>
Reviewed-by: Alexander Markov <[email protected]>
Reviewed-by: Siva Annamalai <[email protected]>
dart-bot pushed a commit that referenced this issue Jun 15, 2020
…efix members are used."

This reverts commit b0484ec.

Reason for revert: timeouts on Flutter integration tests
(#42350).

Original change's description:
> [vm] Check prefix.loadLibrary is called and returns before prefix members are used.
> 
> Restore checks against reloading a library with deferred prefixes.
> 
> No loading is actually deferred.
> 
> Bug: #26878
> Bug: #41974
> Change-Id: Iec2662de117453d596cca28dd9481a9751091ce9
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149613
> Commit-Queue: Ryan Macnak <[email protected]>
> Reviewed-by: Alexander Markov <[email protected]>
> Reviewed-by: Siva Annamalai <[email protected]>

[email protected],[email protected],[email protected]

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: #26878, #41974
Change-Id: I78709650e91d206b84a8ddd9171ef66d6cf1b008
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151169
Reviewed-by: Alexander Markov <[email protected]>
Commit-Queue: Alexander Markov <[email protected]>
dart-bot pushed a commit that referenced this issue Jun 16, 2020
…efix members are used."

This reverts commit 9a87cf9.

Reason for revert: Broken test disabled

Original change's description:
> Revert "[vm] Check prefix.loadLibrary is called and returns before prefix members are used."
> 
> This reverts commit b0484ec.
> 
> Reason for revert: timeouts on Flutter integration tests
> (#42350).
> 
> Original change's description:
> > [vm] Check prefix.loadLibrary is called and returns before prefix members are used.
> > 
> > Restore checks against reloading a library with deferred prefixes.
> > 
> > No loading is actually deferred.
> > 
> > Bug: #26878
> > Bug: #41974
> > Change-Id: Iec2662de117453d596cca28dd9481a9751091ce9
> > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149613
> > Commit-Queue: Ryan Macnak <[email protected]>
> > Reviewed-by: Alexander Markov <[email protected]>
> > Reviewed-by: Siva Annamalai <[email protected]>
> 
> [email protected],[email protected],[email protected]
> 
> # Not skipping CQ checks because original CL landed > 1 day ago.
> 
> Bug: #26878, #41974
> Change-Id: I78709650e91d206b84a8ddd9171ef66d6cf1b008
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151169
> Reviewed-by: Alexander Markov <[email protected]>
> Commit-Queue: Alexander Markov <[email protected]>

[email protected],[email protected],[email protected]

# Not skipping CQ checks because this is a reland.

Bug: #26878, #41974
Change-Id: Ife76bd51db65ca58e08655a9b8406c8ca483447f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151326
Reviewed-by: Ryan Macnak <[email protected]>
Reviewed-by: Alexander Markov <[email protected]>
Commit-Queue: Ryan Macnak <[email protected]>
dart-bot pushed a commit that referenced this issue Jan 20, 2021
Previously, deferred imports were really deferred, and the VM would have needed to trigger more loading as part of checking the validity of a reload and handle the re-entrancy of the tag handler and restart the checking a reload: all messy control flow that was side-stepped by just erroring-out. Currently, the language and kernel are incapable of truly deferred imports, so we need only propagate the state bit that checks loadLibrary was called and completed before members are accessed through the deferred prefix.

TEST=deferred_import_reload_test
Bug: #26878
Bug: flutter/flutter#73602
Change-Id: I48bf3e8331630b732d96393e02b12f86de8cc5b5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/179620
Reviewed-by: Ben Konyi <[email protected]>
Reviewed-by: Alexander Aprelev <[email protected]>
Commit-Queue: Ryan Macnak <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. vm-hot-reload
Projects
None yet
Development

No branches or pull requests

6 participants