Comments (8)
This PR to the analysis options seems to resolve this issue: flutter/engine#52699
We were just overloading it and getting it into a bad state. It's probably still worth fixing, but it's not an issue for me anymore.
from dart-code.
@gaaclarke do you know if there are extra steps beyond cloning the repo required to trigger this? I wasn't able to reproduce (even with gclient sync
). I wonder if there are other steps you may have performed during setting up your environment for the engine.
(eg., if you clone a new copy of the repo, can you trigger it on that?)
from dart-code.
No, it can't be a new clone, you have to checkout before: flutter/engine@233a57b
here is my workspace, but i don't see anything that may be off. Maybe the fact that I'm using a workspace is enough to mess it up?
$ cat engine.code-workspace
{
"folders": [
{
"path": "src/flutter"
},
{
"path": "src/third_party/vulkan-deps/vulkan-headers"
},
{
"path": "src/flutter/lib/ui"
}
],
"settings": {
"files.associations": {
"optional": "cpp",
"__bit_reference": "cpp",
"__bits": "cpp",
"__config": "cpp",
"__debug": "cpp",
"__errc": "cpp",
"__hash_table": "cpp",
"__locale": "cpp",
"__mutex_base": "cpp",
"__node_handle": "cpp",
"__nullptr": "cpp",
"__split_buffer": "cpp",
"__string": "cpp",
"__threading_support": "cpp",
"__tree": "cpp",
"__tuple": "cpp",
"any": "cpp",
"array": "cpp",
"atomic": "cpp",
"bitset": "cpp",
"cctype": "cpp",
"chrono": "cpp",
"cinttypes": "cpp",
"clocale": "cpp",
"cmath": "cpp",
"codecvt": "cpp",
"compare": "cpp",
"complex": "cpp",
"concepts": "cpp",
"condition_variable": "cpp",
"csignal": "cpp",
"cstdarg": "cpp",
"cstddef": "cpp",
"cstdint": "cpp",
"cstdio": "cpp",
"cstdlib": "cpp",
"cstring": "cpp",
"ctime": "cpp",
"cwchar": "cpp",
"cwctype": "cpp",
"deque": "cpp",
"exception": "cpp",
"forward_list": "cpp",
"fstream": "cpp",
"future": "cpp",
"initializer_list": "cpp",
"iomanip": "cpp",
"ios": "cpp",
"iosfwd": "cpp",
"iostream": "cpp",
"istream": "cpp",
"limits": "cpp",
"list": "cpp",
"locale": "cpp",
"map": "cpp",
"memory": "cpp",
"mutex": "cpp",
"new": "cpp",
"numeric": "cpp",
"ostream": "cpp",
"queue": "cpp",
"random": "cpp",
"ratio": "cpp",
"regex": "cpp",
"set": "cpp",
"span": "cpp",
"sstream": "cpp",
"stack": "cpp",
"stdexcept": "cpp",
"streambuf": "cpp",
"string": "cpp",
"string_view": "cpp",
"strstream": "cpp",
"system_error": "cpp",
"tuple": "cpp",
"type_traits": "cpp",
"typeinfo": "cpp",
"unordered_map": "cpp",
"unordered_set": "cpp",
"valarray": "cpp",
"variant": "cpp",
"vector": "cpp",
"algorithm": "cpp",
"filesystem": "cpp",
"memory_resource": "cpp",
"bit": "cpp",
"charconv": "cpp",
"format": "cpp",
"functional": "cpp",
"iterator": "cpp",
"utility": "cpp",
"__assert": "cpp",
"*.inc": "cpp",
"__verbose_abort": "cpp",
"*.def": "cpp",
"*.hpp11": "cpp",
"__functional_base": "cpp",
"shared_mutex": "cpp",
"coroutine": "cpp",
"hash_map": "cpp",
"hash_set": "cpp",
"thread": "cpp",
"propagate_const": "cpp",
"*.gen": "cpp",
"simd": "cpp"
},
"C_Cpp.default.includePath": [
"${default}",
"/Users/aaclarke/dev/engine/src/",
"/Users/aaclarke/dev/engine/src/flutter",
"/Users/aaclarke/dev/engine/src/third_party/vulkan-deps/vulkan-headers/src/include/"
],
"dotnet.defaultSolution": "disable"
}
}
from dart-code.
I think I may have reproduced this using your workspace. It doesn't seem "stuck" because it's still sending analysis diagnostics (it's generating a lot of diagnostics because there is a copy of the SDK in there that doesn't seem to resolve any packages) but it's been going at least 10 minutes.
I wonder if it's because you have the same folders included multiple times:
{
"path": "src/flutter"
},
{
"path": "src/flutter/lib/ui" // this is included by the one above
}
I'll do some more digging, thanks!
from dart-code.
btw, in your workspace above you have:
"path": "src/third_party/vulkan-deps/vulkan-headers"
But I don't have a vulkan-deps at that location (even after gclient sync
), it's only at src/flutter/third_party
, so this folder shows as "missing". Did I set something up differently to you?
from dart-code.
Seems that this is caused by the Dart SDK in src/third_party/dart
. If I open only that folder, I still see the same behaviour. And, if I just open a clone of the Dart SDK directly (not part of engine), I see the same too.
It is known that there are issues trying to analyze the whole SDK repo (it's full of test projects and things), but I'm surprised that it seems to be analyze forever (or at least, it's so slow it doesn't complete in any reasonable amount of time).
An extra weird thing - this repros on Windows (server is stuck forever analyzing), yet it uses almost no CPU to do so (I presume something else is a bottleneck, but nothing else like disk seem saturated oddly).
I'm gonna leave it running in the background and while I for lunch on the chance it does complete, but otherwise I'll do some more debugging to see what's going on.
from dart-code.
I tracked this down to an infinite loop in the linter when there are cycling redirecting constructors. The Dart SDK includes a test file that has that (but I guess never triggers the linter over it in tests).
I've opened dart-lang/linter#4970 with the details and will close this one. Thanks!
from dart-code.
Thanks Danny! Yea we've recently moved the vulkan headers but I haven't had the need to update my workspace. I don't even know why I'd have "src/flutter" and "src/flutter/lib/ui" separately. Thanks for figuring it out.
from dart-code.
Related Issues (20)
- Don't prompt for Dart SDK updates when Dart SDK is found from a symlink in a Flutter SDK HOT 11
- Duplicate fields in debugger view HOT 13
- Breakpoints not triggering on web build HOT 9
- Missed snackbar.dart file path from fluent_ui.dart HOT 2
- Add an option to auto open DevTools in browser on start debugging HOT 1
- Debug breakpoints not triggering on iOS devices HOT 6
- Make it clearer which settings only apply to legacy analysis server protocol (additionalAnalyzerFileExtensions, analyzeAngularTemplates) HOT 1
- Make the display of getters/fields consistent
- Clean install on windows 11 using Visual Studio fails HOT 1
- [Macros] "Go to Augmentation" for library + CodeLense HOT 3
- Reload the Flutter sidebar from VS Code when the Flutter version changes HOT 3
- [Feature request] Make multi-line string literals foldable HOT 1
- When writing Flutter code in VSCode, there is no automatic indentation when breaking lines within the brackets {} HOT 5
- Quick fix for "Add missing switch cases" does not add all quick fixes HOT 1
- Add custom web server response headers when debugging a Flutter web app on VS code HOT 4
- Code keeps stoping at Disabled Breakpoints HOT 11
- Remove --ios-language for Flutter > 3.22 and update setting description
- Support syncing select debug session into the sidebar HOT 1
- Support openDevTools over sidebar API without a debug session ID HOT 3
- Closure completion suggestions should include types when always_specificy_types lint is enabled HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dart-code.