Skip to content
This repository was archived by the owner on Feb 22, 2018. It is now read-only.

task model: fails to correctly restore resolved AST after it is flushed from cache #352

Closed
jmesserly opened this issue Sep 25, 2015 · 4 comments

Comments

@jmesserly
Copy link
Contributor

this is showing up as failures in codegen_test, but only when they're all run together

The "resolved" AST is missing resolution info. This AST is always for a library that is shared by several tests. It only happens if the tests that use this shared library are run far apart (with hundreds of other tests in between).

Thanks to @bwilkerson we believe this may be happening in BuildCompilationUnitElementTask, specifically in the DeclarationResolver step that attempts to rehydrate a CompilationUnit from a cached CompilationUnitElement.

@jmesserly
Copy link
Contributor Author

update: @vsmenon is working around this by having BatchCompiler track which test files we've compiled, so we don't try and get the resolved compilation unit for the shared library more than once.

@jmesserly
Copy link
Contributor Author

fixed now? edit: well I guess we just worked around it. But it's not blocking anymore.

@vsmenon
Copy link
Contributor

vsmenon commented Oct 15, 2015

I think this is fixed now - @stereotype441 had a fix.

@vsmenon vsmenon closed this as completed Oct 15, 2015
@stereotype441
Copy link
Contributor

Just to complete the paper trail, I believe this is the commit that fixed it: dart-lang/sdk@e40b231

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Development

No branches or pull requests

3 participants