dart-lang / webdev

A CLI for Dart web development.
https://pub.dev/packages/webdev
213 stars 71 forks source link

`frontend_server_client_test` has begun failing on windows for VM apps #2377

Open elliette opened 4 months ago

elliette commented 4 months ago

See workflow run: https://github.com/dart-lang/webdev/actions/runs/8034050792

Note: The frontend_server_client is used on VM in package:test: https://github.com/dart-lang/test/blob/26953ba46d9e56dd4195c5678ada16a2005ec2a7/pkgs/test_core/lib/src/runner/vm/test_compiler.dart

christopherfujino commented 3 months ago

I think the root cause here is also blocking rolling frontend_server_client 4.0.0 to flutter_tools https://github.com/flutter/flutter/issues/146164

elliette commented 3 months ago

We were also getting a timeout error, but only on windows:

❌ test\frontend_sever_client_test.dart: can compile, recompile, and hot reload a vm app (failed)
  TimeoutException after 0:00:30.000000: Test timed out after 30 seconds. See https://pub.dev/packages/test#timeouts
  dart:isolate  _RawReceivePort._handleMessage
  Bad state: No elements
  package:async/src/stream_queue.dart 695:70  _NextRequest.update
  package:async/src/stream_queue.dart 419:31  StreamQueue._updateRequests
  package:async/src/stream_queue.dart 513:5   StreamQueue._close
  package:async/src/stream_queue.dart 481:9   StreamQueue._ensureListening.<fn>
❌ test\frontend_sever_client_test.dart: can handle compile errors and reload fixes (failed)
  TimeoutException after 0:00:30.000000: Test timed out after 30 seconds. See https://pub.dev/packages/test#timeouts
  dart:isolate  _RawReceivePort._handleMessage
  Bad state: No elements
  package:async/src/stream_queue.dart 695:70  _NextRequest.update
  package:async/src/stream_queue.dart 419:31  StreamQueue._updateRequests
  package:async/src/stream_queue.dart 513:5   StreamQueue._close
  package:async/src/stream_queue.dart 481:9   StreamQueue._ensureListening.<fn>

@christopherfujino - were you able to get this to fail in a non-windows environment (looking at your comment here: https://github.com/flutter/flutter/issues/146164#issuecomment-2033295982)

The majority of the changes to frontend_server_client 4.0.0 were addd in https://github.com/dart-lang/webdev/pull/2263. @derekxu16 @jakemac53 I see that PR is referenced here: https://github.com/dart-lang/build/pull/3662 - is it expected that this was failing?

derekxu16 commented 3 months ago

I wouldn't expect launching the frontend server from an AOT snapshot instead of an AppJIT snapshot to break anything. The frontend_sever_client_test.dart failures don't occur for me locally on Windows (I made sure to delete the skip: lines). The flutter_tools ones do though. I'm investigating them now.

christopherfujino commented 3 months ago

I wouldn't expect launching the frontend server from an AOT snapshot instead of an AppJIT snapshot to break anything. The frontend_sever_client_test.dart failures don't occur for me locally on Windows (I made sure to delete the skip: lines). The flutter_tools ones do though. I'm investigating them now.

thanks @derekxu16. FYI, I only tried this on Windows. The test only failed on Windows--but then this test only ran on Windows too (since it's testing executing a batch file as a sub-process).