-
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
Crash in the VM in Dart 2.14.4 and Dart 2.15.0-116.0.dev #47610
Labels
area-vm
Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends.
Comments
devoncarew
added
the
area-vm
Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends.
label
Nov 3, 2021
devoncarew
changed the title
Crash
Crash in the VM in Dart 2.14.4 and Dart 2.15.0-116.0.dev
Nov 3, 2021
Hi Florian, |
@floitsch !! Great to see you!! |
Thanks for the fast fix. |
copybara-service bot
pushed a commit
that referenced
this issue
Nov 17, 2021
In async/async* methods synthetic :try_finally_return_value variable (which is used to hold return value across finally) could be captured, so flow graph builder needs to have correct context_depth_ in order to access it using LoadLocal(finally_return_variable) when building flow graph for return statement. Previously, flow graph builder left context in an unspecified state and depth after TranslateFinallyFinalizers(NULL, -1), which caused incorrect code being generated for LoadLocal(finally_return_variable). This change fixes this problem by * passing correct target_context_depth to TranslateFinallyFinalizers so context is adjusted to a known depth regardless of context depth which is used by finally; * setting context_depth_ for LoadLocal(finally_return_variable) and then restoring it (to be able to continue building flow graph for the enclosing AST nodes). TEST=tests/language/async_star/regression_47610_test.dart Fixes #47610 Change-Id: Id15ea719ddda892eaff0b06f6450b1a8de36e8da Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/219283 Reviewed-by: Martin Kustermann <kustermann@google.com> Reviewed-by: Slava Egorov <vegorov@google.com> Commit-Queue: Alexander Markov <alexmarkov@google.com>
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.
I'm experiencing reproducible crashes with Dart 2.14.4 and Dart 2.15.0-116.0.dev:
Core dumps: https://drive.google.com/drive/folders/1MtBNyWY3bZV8hDna_5VmDRsk_VVFEAOO?usp=sharing
Repro:
Sign up at toit.io and create an API key. (Alternatively chat/contact me on florian@toit.io and I can give you a personal one).
Run the stream.dart in one terminal
In another terminal start publishing:
After 6 messages the server tries to stop listening and crashes.
repro.zip
Output for a crash with the stable version:
Output for the dev version:
The text was updated successfully, but these errors were encountered: