sdk
sdk copied to clipboard
[vm] vm flag `--reload-every=` in isolation doesn't work
$ out/DebugX64/dart --reload-every=4 tests/ffi/structs_test.dart
kernel-service: Error: Unhandled exception:
Bad state: No element
#0 Iterable.first (dart:core/iterable.dart:643:7)
#1 MappedIterable.first (dart:_internal/iterable.dart:382:31)
#2 lookupOrBuildNewIncrementalCompiler (file:///usr/local/google/home/dacoharkes/dart-sdk/sdk/pkg/vm/bin/kernel_service.dart:463:45)
#3 _processLoadRequest (file:///usr/local/google/home/dacoharkes/dart-sdk/sdk/pkg/vm/bin/kernel_service.dart:872:22)
#4 _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)
None of the VM tests pass this flag in isolation, it's always set as part of --hot-reload-rollback-test-mode.
Passing the flag together with all the other flags also doesn't work.
$ out/DebugX64/dart --identity_reload --reload_every=4 --reload_every_optimized=false --reload_every_back_off --check_reloaded --reload_force_rollback tests/ffi/structs_test.dart
kernel-service: Error: Unhandled exception:
Bad state: No element
#0 Iterable.first (dart:core/iterable.dart:643:7)
#1 MappedIterable.first (dart:_internal/iterable.dart:382:31)
#2 lookupOrBuildNewIncrementalCompiler (file:///usr/local/google/home/dacoharkes/dart-sdk/sdk/pkg/vm/bin/kernel_service.dart:463:45)
#3 _processLoadRequest (file:///usr/local/google/home/dacoharkes/dart-sdk/sdk/pkg/vm/bin/kernel_service.dart:872:22)
#4 _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)
Running without the --reload-every simply means no reloads:
$ out/DebugX64/dart --identity_reload --reload_every_optimized=false --reload_every_back_off --reload_force_rollback tests/ffi/structs_test.dart
It might be worthwhile making the --reload-every work properly.
Also, maybe we should extend the fuzzer to pass random combinations of VM flags (marking flags which make the VM slower and only pass at most two of those), to ensure we've got some coverage of exotic combinations of VM flags.
(Found while exploring https://github.com/dart-lang/sdk/issues/54871 reproduction options.)