Comments (3)
/cc @sigmundch for routing to ddc team
from sdk.
The code is calling _asyncCompleteWithErrorCallback
, which (after a likely no-op check) calls _asyncCompleteError
, as the stack trace shows.
The _asyncCompleteError
function starts with an assert(!_isComplete);
, which the code passes, so the _Future
doesn't have a value/error yet.
It may be either pending complete, chained or just incomplete. It should be incomplete, but that's not what's being tested, so that is suspicious by itself.
It then calls _setPendingComplete
which tries to set the future to be pending completion (not completed yet, because it's asyncComplete
, but can't be completed with something else any more, just waiting impatiently to complete with the already provided error.)
That function starts with assert(_mayComplete);
, which fails. That check only accepts being incomplete.
Which means the future state is either chained (has been completed with another future, waiting for that) or pending complete (has been asynchronously completed, haven't gotten around to actually do it yet), at a point where the async code tries to complete the same future again.
It's not completely impossible that this is related to a bugfix I made recently, or at least which asserts are used, because I do call _asyncCompleteError
from somewhere that also doesn't check for _mayComplete
. I'll give the state transitions a look-over.
(It's an error test, so most of these individual tests should not even compile. The unchecked_use_of_nullable_test_02
one should, though, it's marked as # 02: ok
.)
from sdk.
@lrhn
From an in person discussion, DDC always runs with assertions enabled in the test application. Do any of these tests fail on any other platforms if you run them with assertions enabled? That could help us track down if the failures are related to your change.
from sdk.
Related Issues (20)
- Build reproducibility issue on Windows caused issues for 3.4.4 release HOT 3
- Provide a top-level function in `dart:convert` for decoding JSON from binary HOT 1
- Uri.origin should never throw HOT 2
- Improve DTD interface HOT 2
- Improve interface of DartToolingDaemon.call() HOT 1
- Allow starting DTD on a fixed port HOT 1
- pkg/_macros/test/executor/executor_test is failing HOT 9
- Expand `remove_argument` fix to quick assist for specified optional arguments
- Inconsistent and incorrect nullability checks for JS interop return types and callback parameter types
- unused variable warning no longer reporting when creating multiple variables in irrefutable pattern match and only using some variables HOT 2
- [native_assets] Non-embedder fallback mechanism doesn't work HOT 1
- MethodRecognizer recognized wrong function as MethodRecognizer::kMathLog HOT 2
- Please mirror `dart-lang/macros` repo
- [Wildcard Variables] Add Code Folding tests
- Switch statement over sealed class removed by Dart AOT compiler HOT 3
- Analyzer crash report: ArgumentError: Invalid argument (uri): URI is not a valid <path> at client_uri_converter.dart:98
- Analyzer crash report: StateError: Bad state: [library: null][this: (DefaultParameterElementImpl) {Color? color}][enclosingElement: null][reference: null]
- Analyzer crash report: Invalid argument(s): Missing library HOT 1
- Removal of Unmodifiable classes broke dart2wasm tests HOT 8
- [breaking change] Remove `Object` from `ExternalDartReference`'s implemented types 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 sdk.