-
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
[DDS] Two simultaneous 'futterVersion' requests to DDS fail with 'Null check operator used on a null value' #46696
Comments
@bkonyi I saw a similar error in one of the latest flakes in Flutter web tool tests: Flutter issue: flutter/flutter#84012
|
I looks like the second stack trace I mentioned is due to |
DWDS should return an error response instead of |
Will fix, thanks! This seems like a different issue, I created a new one:
No, it returns a stream or an RPC error. I think this is a genuine DDS issue since it does not happen when I disable DDS. |
So it looks like we've got some race conditions in the We need to do some sort of locking around the global state in DDS to make sure things aren't cleaned up while there's multiple requests in flight. |
@bkonyi I am curious about locking mechanisms you use - I was able to fix a few race conditions in dwds by making operations atomic using |
…nt requests" This reverts commit 0ecfc7d. Reason for revert: #46826 Original change's description: > [ package:dds ] Add locking when modifying DDS state via client requests > > Fixes #46696 > > Change-Id: I666b59a0661f4df3b1f0a47aba52096133f5fbb7 > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209140 > Reviewed-by: Anna Gringauze <annagrin@google.com> TBR=bkonyi@google.com,annagrin@google.com Change-Id: Iec89181372a2fc1b8a461e616bbcd23dd6bbd72d No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209280 Reviewed-by: Ben Konyi <bkonyi@google.com> Commit-Queue: Ben Konyi <bkonyi@google.com>
Re-opening since the fix was reverted, the currently disabled test in flutter still fails if enabled: |
This has since relanded in this CL. |
Thanks, this fixes the failing test in flutter tools! |
Repro: PR: flutter/flutter#86832 (would need to undo the last commit where I disabled the test again)
07:41 +19 -1: test/web.shard/vm_service_web_test.dart: Clients of flutter run on web with DDS enabled can validate flutter version in parallel [E]
streamListen: (-32000) Null check operator used on a null value
package:vm_service/src/vm_service.dart 1626:45 new _OutstandingRequest
package:vm_service/src/vm_service.dart 2109:21 VmService._call
package:vm_service/src/vm_service.dart 2056:7 VmService.streamListen
test/web.shard/vm_service_web_test.dart 129:16 validateFlutterVersion
test/web.shard/vm_service_web_test.dart 62:9 main..
DDS version: dds: 2.0.2
DWDS version: dwds: 11.1.2
VMService version: 7.1.1
Failing tests:
https://ci.chromium.org/ui/p/flutter/builders/try/Mac%20web_tool_tests/7333/overview
https://ci.chromium.org/ui/p/flutter/builders/try/Linux%20web_tool_tests/7679/overview
Related: #45569
The text was updated successfully, but these errors were encountered: