Skip to content
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

Make the test suite load timeout configurable #390

Closed
greglittlefield-wf opened this issue Jan 29, 2016 · 18 comments
Closed

Make the test suite load timeout configurable #390

greglittlefield-wf opened this issue Jan 29, 2016 · 18 comments
Labels
config file type-enhancement A request for a change that isn't a bug

Comments

@greglittlefield-wf
Copy link
Contributor

We're currently getting intermittent test suite timeouts in our CI environment, since our suite loading time is hovering around 1 minute, even with concurrency=1.

    01:05 +165 -1: [Dartium Content Shell] loading test/ui_components_test.dart
      Failed to load "test/ui_components_test.dart": Timed out waiting for the test suite to connect.

It'd be awesome if that 1 minute suite timeout could be configurable.

@aaronlademann-wf
Copy link

+100

@michaelcarter-wf
Copy link

+1

1 similar comment
@jimhotchkin-wf
Copy link

👍

@nex3 nex3 added the type-enhancement A request for a change that isn't a bug label Jan 29, 2016
@sgerhardt
Copy link

@greglittlefield-wf Does the @timeout annotation not work here?

@nex3
Copy link
Member

nex3 commented Feb 10, 2016

The timeout used when waiting for a browser to start is different than the timeout for any given test, in part because a single browser instance is used across many tests.

@sgerhardt
Copy link

+1

@natebosch
Copy link
Member

@grouma - if this was configurable would it be useful for us internally?

@grouma
Copy link
Member

grouma commented Nov 1, 2017

Initially it would have been useful but since I extended the timeout we have not run into any issues. It may still be worth exposing if others are running into issues.

@nex3
Copy link
Member

nex3 commented Nov 1, 2017

Is anyone still seeing timeouts here? Adding extra configuration is a real cost, so I'd like to just find a good default here rather than making users set it.

@greglittlefield-wf
Copy link
Contributor Author

Yes, we're still seeing timeouts for larger suites in content_shell/Dartium, as well as timeouts for not-as-large suites when run in the Dart Dev Compiler.

@nex3
Copy link
Member

nex3 commented Nov 1, 2017

How are you running test with DDC?

@greglittlefield-wf
Copy link
Contributor Author

Something like:

Serve via:

pub serve test --port 8081 --web-compiler dartdevc

Run tests via:

pub run test -p chrome --pub-serve 8081

@nex3
Copy link
Member

nex3 commented Nov 1, 2017

@jakemac53 is it reasonable to expect that a test suite might take upwards of 8 minutes to compile?

@jakemac53
Copy link
Contributor

We have real examples internally where just dart2js takes that long, so ya. Externally with ddc that shouldn't be common, but it wouldn't be inconceivable for large projects. I know of projects that aren't that large which take over a minute for instance.

I don't think it is really safe to assume any sort of maximum amount of time a build might take. In general I prefer the --precompiled approach to the --pub-serve approach partially for this reason.

@nex3
Copy link
Member

nex3 commented Nov 1, 2017

We could just disable the timeout entirely. Eight minutes is already to the point where it's not going to time out quickly enough to be especially useful in any workflow involving human interaction.

@greglittlefield-wf
Copy link
Contributor Author

Below is the actual timeout error I'm seeing when running a larger suite in the Dev Compiler, if that helps.

Interestingly, the error says "Test timed out after 5 minutes", not 8 minutes...

Run using:

  • test version 0.12.26
  • Dart VM version: 1.24.2 (Thu Jun 22 08:42:17 2017) on "macos_x64"
pub run test --concurrency=1 -p chrome --reporter=expanded --pub-serve=8081 test/ui_components_1_test.dart | ts '[%Y-%m-%d %H:%M:%S]'
[2017-11-01 16:10:51] 00:00 +0: compiling test/ui_components_1_test.dart
[2017-11-01 16:10:52] "pub serve" is compiling test/ui_components_1_test.dart...
[2017-11-01 16:15:51] 00:00 +0 -1: compiling test/ui_components_1_test.dart [E]
[2017-11-01 16:15:51]   TimeoutException after 0:05:00.000000: Test timed out after 5 minutes.
[2017-11-01 16:15:51]   package:test/src/backend/invoker.dart 285                  Invoker._handleError
[2017-11-01 16:15:51]   package:test/src/backend/invoker.dart 240                  Invoker.heartbeat.<fn>.<fn>
[2017-11-01 16:15:51]   dart:async/zone.dart 1116                                  _rootRun
[2017-11-01 16:15:51]   dart:async/zone.dart 1001                                  _CustomZone.run
[2017-11-01 16:15:51]   package:test/src/backend/invoker.dart 238                  Invoker.heartbeat.<fn>
[2017-11-01 16:15:51]   package:stack_trace/src/stack_zone_specification.dart 205  StackZoneSpecification._run
[2017-11-01 16:15:51]   package:stack_trace/src/stack_zone_specification.dart 115  StackZoneSpecification._registerCallback.<fn>
[2017-11-01 16:15:51]   dart:async/zone.dart 1120                                  _rootRun
[2017-11-01 16:15:51]   dart:async/zone.dart 1001                                  _CustomZone.run
[2017-11-01 16:15:51]   dart:async/zone.dart 901                                   _CustomZone.runGuarded
[2017-11-01 16:15:51]   dart:async/zone.dart 926                                   _CustomZone.bindCallback.<fn>
[2017-11-01 16:15:51]   dart:async-patch/timer_patch.dart 21                       Timer._createTimer.<fn>
[2017-11-01 16:15:51]   dart:isolate-patch/timer_impl.dart 366                     _Timer._runTimers
[2017-11-01 16:15:51]   dart:isolate-patch/timer_impl.dart 394                     _Timer._handleMessage
[2017-11-01 16:15:51]   dart:isolate-patch/isolate_patch.dart 151                  _RawReceivePortImpl._handleMessage
[2017-11-01 16:15:51]   ===== asynchronous gap ===========================
[2017-11-01 16:15:51]   dart:async/zone.dart 1034                                  _CustomZone.registerCallback
[2017-11-01 16:15:51]   dart:async/zone.dart 924                                   _CustomZone.bindCallback
[2017-11-01 16:15:51]   dart:async/zone.dart 1182                                  _rootCreateTimer
[2017-11-01 16:15:51]   dart:async/zone.dart 1084                                  _CustomZone.createTimer
[2017-11-01 16:15:51]   package:test/src/backend/invoker.dart 237                  Invoker.heartbeat
[2017-11-01 16:15:51]   package:test/src/backend/invoker.dart 171                  Invoker.removeOutstandingCallback
[2017-11-01 16:15:51]   package:test/src/backend/invoker.dart 353                  Invoker._onRun.<fn>.<fn>.<fn>
[2017-11-01 16:15:51]   ===== asynchronous gap ===========================
[2017-11-01 16:15:51]   dart:async/zone.dart 1045                                  _CustomZone.registerUnaryCallback
[2017-11-01 16:15:51]   dart:async-patch/async_patch.dart 30                       _asyncThenWrapperHelper
[2017-11-01 16:15:51]   package:test/src/backend/invoker.dart 350                  Invoker._onRun.<fn>.<fn>.<fn>
[2017-11-01 16:15:51]   dart:async/future.dart 158                                 new Future.<fn>
[2017-11-01 16:15:51]   package:stack_trace/src/stack_zone_specification.dart 205  StackZoneSpecification._run
[2017-11-01 16:15:51]   package:stack_trace/src/stack_zone_specification.dart 115  StackZoneSpecification._registerCallback.<fn>
[2017-11-01 16:15:51]   dart:async/zone.dart 1116                                  _rootRun
[2017-11-01 16:15:51]   dart:async/zone.dart 1001                                  _CustomZone.run
[2017-11-01 16:15:51]   dart:async/zone.dart 901                                   _CustomZone.runGuarded
[2017-11-01 16:15:51]   dart:async/zone.dart 926                                   _CustomZone.bindCallback.<fn>
[2017-11-01 16:15:51]   package:stack_trace/src/stack_zone_specification.dart 205  StackZoneSpecification._run
[2017-11-01 16:15:51]   package:stack_trace/src/stack_zone_specification.dart 115  StackZoneSpecification._registerCallback.<fn>
[2017-11-01 16:15:51]   dart:async/zone.dart 1120                                  _rootRun
[2017-11-01 16:15:51]   dart:async/zone.dart 1001                                  _CustomZone.run
[2017-11-01 16:15:51]   dart:async/zone.dart 901                                   _CustomZone.runGuarded
[2017-11-01 16:15:51]   dart:async/zone.dart 926                                   _CustomZone.bindCallback.<fn>
[2017-11-01 16:15:51]   dart:async-patch/timer_patch.dart 21                       Timer._createTimer.<fn>
[2017-11-01 16:15:51]   dart:isolate-patch/timer_impl.dart 366                     _Timer._runTimers
[2017-11-01 16:15:51]   dart:isolate-patch/timer_impl.dart 394                     _Timer._handleMessage
[2017-11-01 16:15:51]   dart:isolate-patch/isolate_patch.dart 151                  _RawReceivePortImpl._handleMessage
[2017-11-01 16:15:51]   ===== asynchronous gap ===========================
[2017-11-01 16:15:51]   dart:async/zone.dart 1034                                  _CustomZone.registerCallback
[2017-11-01 16:15:51]   dart:async/zone.dart 924                                   _CustomZone.bindCallback
[2017-11-01 16:15:51]   dart:async/timer.dart 52                                   new Timer
[2017-11-01 16:15:51]   dart:async/timer.dart 90                                   Timer.run
[2017-11-01 16:15:51]   dart:async/future.dart 156                                 new Future
[2017-11-01 16:15:51]   package:test/src/backend/invoker.dart 350                  Invoker._onRun.<fn>.<fn>
[2017-11-01 16:15:51]   ===== asynchronous gap ===========================
[2017-11-01 16:15:51]   dart:async/zone.dart 1034                                  _CustomZone.registerCallback
[2017-11-01 16:15:51]   dart:async/zone.dart 924                                   _CustomZone.bindCallback
[2017-11-01 16:15:51]   dart:async/schedule_microtask.dart 148                     scheduleMicrotask
[2017-11-01 16:15:51]   dart:async/future.dart 182                                 new Future.microtask
[2017-11-01 16:15:51]   package:test/src/backend/invoker.dart 337                  Invoker._onRun.<fn>.<fn>
[2017-11-01 16:15:51]   dart:async/zone.dart 1120                                  _rootRun
[2017-11-01 16:15:51]   dart:async/zone.dart 1001                                  _CustomZone.run
[2017-11-01 16:15:51]   dart:async/zone.dart 1467                                  runZoned
[2017-11-01 16:15:51]   package:test/src/backend/invoker.dart 337                  Invoker._onRun.<fn>
[2017-11-01 16:15:51]   package:stack_trace/src/chain.dart 93                      Chain.capture.<fn>
[2017-11-01 16:15:51]   dart:async/zone.dart 1120                                  _rootRun
[2017-11-01 16:15:51]   dart:async/zone.dart 1001                                  _CustomZone.run
[2017-11-01 16:15:51]   dart:async/zone.dart 1467                                  runZoned
[2017-11-01 16:15:51]   package:stack_trace/src/chain.dart 91                      Chain.capture
[2017-11-01 16:15:51]   package:test/src/backend/invoker.dart 336                  Invoker._onRun
[2017-11-01 16:15:51]   package:test/src/backend/live_test_controller.dart 188     LiveTestController._run
[2017-11-01 16:15:51]   package:test/src/backend/live_test_controller.dart 40      _LiveTest.run
[2017-11-01 16:15:51]   dart:async/future.dart 184                                 new Future.microtask.<fn>
[2017-11-01 16:15:51]   dart:async/zone.dart 1120                                  _rootRun
[2017-11-01 16:15:51]   dart:async/zone.dart 1001                                  _CustomZone.run
[2017-11-01 16:15:51]   dart:async/zone.dart 928                                   _CustomZone.bindCallback.<fn>
[2017-11-01 16:15:51]   dart:async/schedule_microtask.dart 41                      _microtaskLoop
[2017-11-01 16:15:51]   dart:async/schedule_microtask.dart 50                      _startMicrotaskLoop
[2017-11-01 16:15:51]   dart:isolate-patch/isolate_patch.dart 99                   _runPendingImmediateCallback
[2017-11-01 16:15:51]   dart:isolate-patch/isolate_patch.dart 152                  _RawReceivePortImpl._handleMessage
[2017-11-01 16:15:51]
[2017-11-01 16:19:16]   Failed to load "test/ui_components_1_test.dart":
[2017-11-01 16:19:16]   Timed out while loading the test suite.
[2017-11-01 16:19:16]   It's likely that there's a missing import or syntax error.
[2017-11-01 16:19:16]   package:test/src/runner/plugin/platform_helpers.dart 119   deserializeSuite.<fn>
[2017-11-01 16:19:16]   package:stack_trace/src/stack_zone_specification.dart 205  StackZoneSpecification._run
[2017-11-01 16:19:16]   package:stack_trace/src/stack_zone_specification.dart 115  StackZoneSpecification._registerCallback.<fn>
[2017-11-01 16:19:16]   dart:async/zone.dart 1116                                  _rootRun
[2017-11-01 16:19:16]   dart:async/zone.dart 1001                                  _CustomZone.run
[2017-11-01 16:19:16]   dart:async/future_impl.dart 725                            _Future.timeout.<fn>
[2017-11-01 16:19:16]   package:stack_trace/src/stack_zone_specification.dart 205  StackZoneSpecification._run
[2017-11-01 16:19:16]   package:stack_trace/src/stack_zone_specification.dart 115  StackZoneSpecification._registerCallback.<fn>
[2017-11-01 16:19:16]   dart:async/zone.dart 1116                                  _rootRun
[2017-11-01 16:19:16]   dart:async/zone.dart 1001                                  _CustomZone.run
[2017-11-01 16:19:16]   dart:async/zone.dart 901                                   _CustomZone.runGuarded
[2017-11-01 16:19:16]   dart:async/zone.dart 926                                   _CustomZone.bindCallback.<fn>
[2017-11-01 16:19:16]   package:stack_trace/src/stack_zone_specification.dart 205  StackZoneSpecification._run
[2017-11-01 16:19:16]   package:stack_trace/src/stack_zone_specification.dart 115  StackZoneSpecification._registerCallback.<fn>
[2017-11-01 16:19:16]   dart:async/zone.dart 1120                                  _rootRun
[2017-11-01 16:19:16]   dart:async/zone.dart 1001                                  _CustomZone.run
[2017-11-01 16:19:16]   dart:async/zone.dart 901                                   _CustomZone.runGuarded
[2017-11-01 16:19:16]   dart:async/zone.dart 926                                   _CustomZone.bindCallback.<fn>
[2017-11-01 16:19:16]   dart:async-patch/timer_patch.dart 21                       Timer._createTimer.<fn>
[2017-11-01 16:19:16]   dart:isolate-patch/timer_impl.dart 366                     _Timer._runTimers
[2017-11-01 16:19:16]   dart:isolate-patch/timer_impl.dart 394                     _Timer._handleMessage
[2017-11-01 16:19:16]   dart:isolate-patch/isolate_patch.dart 151                  _RawReceivePortImpl._handleMessage
[2017-11-01 16:19:16]   ===== asynchronous gap ===========================
[2017-11-01 16:19:16]   dart:async/zone.dart 1034                                  _CustomZone.registerCallback
[2017-11-01 16:19:16]   dart:async/future_impl.dart 722                            _Future.timeout
[2017-11-01 16:19:16]   package:test/src/runner/plugin/platform_helpers.dart 118   deserializeSuite
[2017-11-01 16:19:16]   ===== asynchronous gap ===========================
[2017-11-01 16:19:16]   dart:async/zone.dart 1034                                  _CustomZone.registerCallback
[2017-11-01 16:19:16]   dart:async/zone.dart 924                                   _CustomZone.bindCallback
[2017-11-01 16:19:16]   dart:async/schedule_microtask.dart 148                     scheduleMicrotask
[2017-11-01 16:19:16]   dart:async/future.dart 182                                 new Future.microtask
[2017-11-01 16:19:16]   package:test/src/runner/plugin/platform_helpers.dart 49    deserializeSuite
[2017-11-01 16:19:16]   package:test/src/runner/browser/browser_manager.dart 244   BrowserManager.load.<fn>
[2017-11-01 16:19:16]   ===== asynchronous gap ===========================
[2017-11-01 16:19:16]   dart:async/zone.dart 1045                                  _CustomZone.registerUnaryCallback
[2017-11-01 16:19:16]   dart:async-patch/async_patch.dart 30                       _asyncThenWrapperHelper
[2017-11-01 16:19:16]   package:test/src/runner/browser/browser_manager.dart 235   BrowserManager.load.<fn>
[2017-11-01 16:19:16]   dart:async/future.dart 206                                 new Future.sync
[2017-11-01 16:19:16]   package:pool/pool.dart 126                                 Pool.withResource.<fn>
[2017-11-01 16:19:16]   package:stack_trace/src/stack_zone_specification.dart 125  StackZoneSpecification._registerUnaryCallback.<fn>.<fn>
[2017-11-01 16:19:16]   package:stack_trace/src/stack_zone_specification.dart 205  StackZoneSpecification._run
[2017-11-01 16:19:16]   package:stack_trace/src/stack_zone_specification.dart 125  StackZoneSpecification._registerUnaryCallback.<fn>
[2017-11-01 16:19:16]   dart:async/zone.dart 1128                                  _rootRunUnary
[2017-11-01 16:19:16]   dart:async/zone.dart 1012                                  _CustomZone.runUnary
[2017-11-01 16:19:16]   dart:async/future_impl.dart 129                            _FutureListener.handleValue
[2017-11-01 16:19:16]   dart:async/future_impl.dart 636                            _Future._propagateToListeners.handleValueCallback
[2017-11-01 16:19:16]   dart:async/future_impl.dart 665                            _Future._propagateToListeners
[2017-11-01 16:19:16]   dart:async/future_impl.dart 478                            _Future._completeWithValue
[2017-11-01 16:19:16]   dart:async/future_impl.dart 510                            _Future._asyncComplete.<fn>
[2017-11-01 16:19:16]   package:stack_trace/src/stack_zone_specification.dart 205  StackZoneSpecification._run
[2017-11-01 16:19:16]   package:stack_trace/src/stack_zone_specification.dart 115  StackZoneSpecification._registerCallback.<fn>
[2017-11-01 16:19:16]   dart:async/zone.dart 1120                                  _rootRun
[2017-11-01 16:19:16]   dart:async/zone.dart 1001                                  _CustomZone.run
[2017-11-01 16:19:16]   dart:async/zone.dart 901                                   _CustomZone.runGuarded
[2017-11-01 16:19:16]   dart:async/zone.dart 926                                   _CustomZone.bindCallback.<fn>
[2017-11-01 16:19:16]   dart:async/schedule_microtask.dart 41                      _microtaskLoop
[2017-11-01 16:19:16]   dart:async/schedule_microtask.dart 50                      _startMicrotaskLoop
[2017-11-01 16:19:16]   dart:isolate-patch/isolate_patch.dart 99                   _runPendingImmediateCallback
[2017-11-01 16:19:16]   dart:isolate-patch/isolate_patch.dart 152                  _RawReceivePortImpl._handleMessage
[2017-11-01 16:19:16]   ===== asynchronous gap ===========================
[2017-11-01 16:19:16]   dart:async/zone.dart 1045                                  _CustomZone.registerUnaryCallback
[2017-11-01 16:19:16]   dart:async/future_impl.dart 239                            _Future.then
[2017-11-01 16:19:16]   package:pool/pool.dart 125                                 Pool.withResource
[2017-11-01 16:19:16]   package:test/src/runner/browser/browser_manager.dart 235   BrowserManager.load
[2017-11-01 16:19:16]   ===== asynchronous gap ===========================
[2017-11-01 16:19:16]   dart:async/zone.dart 1034                                  _CustomZone.registerCallback
[2017-11-01 16:19:16]   dart:async/zone.dart 924                                   _CustomZone.bindCallback
[2017-11-01 16:19:16]   dart:async/schedule_microtask.dart 148                     scheduleMicrotask
[2017-11-01 16:19:16]   dart:async/future.dart 182                                 new Future.microtask
[2017-11-01 16:19:16]   package:test/src/runner/browser/browser_manager.dart 210   BrowserManager.load
[2017-11-01 16:19:16]   package:test/src/runner/browser/platform.dart 309          BrowserPlatform.load
[2017-11-01 16:19:16]   ===== asynchronous gap ===========================
[2017-11-01 16:19:16]   dart:async/zone.dart 1045                                  _CustomZone.registerUnaryCallback
[2017-11-01 16:19:16]   dart:async-patch/async_patch.dart 30                       _asyncThenWrapperHelper
[2017-11-01 16:19:16]   package:test/src/runner/browser/platform.dart 231          BrowserPlatform.load
[2017-11-01 16:19:16]   package:test/src/runner/loader.dart 253                    Loader.loadFile.<fn>
[2017-11-01 16:19:16]   ===== asynchronous gap ===========================
[2017-11-01 16:19:16]   dart:async/zone.dart 1045                                  _CustomZone.registerUnaryCallback
[2017-11-01 16:19:16]   dart:async-patch/async_patch.dart 30                       _asyncThenWrapperHelper
[2017-11-01 16:19:16]   package:test/src/runner/loader.dart 247                    Loader.loadFile.<fn>
[2017-11-01 16:19:16]   package:test/src/runner/load_suite.dart 79                 new LoadSuite.<fn>.<fn>
[2017-11-01 16:19:16]   ===== asynchronous gap ===========================
[2017-11-01 16:19:16]   dart:async/zone.dart 1034                                  _CustomZone.registerCallback
[2017-11-01 16:19:16]   dart:async/zone.dart 924                                   _CustomZone.bindCallback
[2017-11-01 16:19:16]   dart:async/schedule_microtask.dart 148                     scheduleMicrotask
[2017-11-01 16:19:16]   dart:async/future.dart 182                                 new Future.microtask
[2017-11-01 16:19:16]   package:test/src/runner/load_suite.dart 77                 new LoadSuite.<fn>.<fn>
[2017-11-01 16:19:16]   package:test/src/utils.dart 329                            invoke
[2017-11-01 16:19:16]   package:test/src/runner/load_suite.dart 77                 new LoadSuite.<fn>
[2017-11-01 16:19:16]   package:test/src/backend/invoker.dart 351                  Invoker._onRun.<fn>.<fn>.<fn>
[2017-11-01 16:19:16]   ===== asynchronous gap ===========================
[2017-11-01 16:19:16]   dart:async/zone.dart 1034                                  _CustomZone.registerCallback
[2017-11-01 16:19:16]   dart:async/zone.dart 924                                   _CustomZone.bindCallback
[2017-11-01 16:19:16]   dart:async/schedule_microtask.dart 148                     scheduleMicrotask
[2017-11-01 16:19:16]   dart:async/future.dart 182                                 new Future.microtask
[2017-11-01 16:19:16]   package:test/src/backend/invoker.dart 350                  Invoker._onRun.<fn>.<fn>.<fn>
[2017-11-01 16:19:16]   dart:async/future.dart 158                                 new Future.<fn>
[2017-11-01 16:19:16]   package:stack_trace/src/stack_zone_specification.dart 205  StackZoneSpecification._run
[2017-11-01 16:19:16]   package:stack_trace/src/stack_zone_specification.dart 115  StackZoneSpecification._registerCallback.<fn>
[2017-11-01 16:19:16]   dart:async/zone.dart 1116                                  _rootRun
[2017-11-01 16:19:16]   dart:async/zone.dart 1001                                  _CustomZone.run
[2017-11-01 16:19:16]   dart:async/zone.dart 901                                   _CustomZone.runGuarded
[2017-11-01 16:19:16]   dart:async/zone.dart 926                                   _CustomZone.bindCallback.<fn>
[2017-11-01 16:19:16]   package:stack_trace/src/stack_zone_specification.dart 205  StackZoneSpecification._run
[2017-11-01 16:19:16]   package:stack_trace/src/stack_zone_specification.dart 115  StackZoneSpecification._registerCallback.<fn>
[2017-11-01 16:19:16]   dart:async/zone.dart 1120                                  _rootRun
[2017-11-01 16:19:16]   dart:async/zone.dart 1001                                  _CustomZone.run
[2017-11-01 16:19:16]   dart:async/zone.dart 901                                   _CustomZone.runGuarded
[2017-11-01 16:19:16]   dart:async/zone.dart 926                                   _CustomZone.bindCallback.<fn>
[2017-11-01 16:19:16]   dart:async-patch/timer_patch.dart 21                       Timer._createTimer.<fn>
[2017-11-01 16:19:16]   dart:isolate-patch/timer_impl.dart 366                     _Timer._runTimers
[2017-11-01 16:19:16]   dart:isolate-patch/timer_impl.dart 394                     _Timer._handleMessage
[2017-11-01 16:19:16]   dart:isolate-patch/isolate_patch.dart 151                  _RawReceivePortImpl._handleMessage
[2017-11-01 16:19:16]   ===== asynchronous gap ===========================
[2017-11-01 16:19:16]   dart:async/zone.dart 1034                                  _CustomZone.registerCallback
[2017-11-01 16:19:16]   dart:async/zone.dart 924                                   _CustomZone.bindCallback
[2017-11-01 16:19:16]   dart:async/timer.dart 52                                   new Timer
[2017-11-01 16:19:16]   dart:async/timer.dart 90                                   Timer.run
[2017-11-01 16:19:16]   dart:async/future.dart 156                                 new Future
[2017-11-01 16:19:16]   package:test/src/backend/invoker.dart 350                  Invoker._onRun.<fn>.<fn>
[2017-11-01 16:19:16]   ===== asynchronous gap ===========================
[2017-11-01 16:19:16]   dart:async/zone.dart 1034                                  _CustomZone.registerCallback
[2017-11-01 16:19:16]   dart:async/zone.dart 924                                   _CustomZone.bindCallback
[2017-11-01 16:19:16]   dart:async/schedule_microtask.dart 148                     scheduleMicrotask
[2017-11-01 16:19:16]   dart:async/future.dart 182                                 new Future.microtask
[2017-11-01 16:19:16]   package:test/src/backend/invoker.dart 337                  Invoker._onRun.<fn>.<fn>
[2017-11-01 16:19:16]   dart:async/zone.dart 1120                                  _rootRun
[2017-11-01 16:19:16]   dart:async/zone.dart 1001                                  _CustomZone.run
[2017-11-01 16:19:16]   dart:async/zone.dart 1467                                  runZoned
[2017-11-01 16:19:16]   package:test/src/backend/invoker.dart 337                  Invoker._onRun.<fn>
[2017-11-01 16:19:16]   package:stack_trace/src/chain.dart 93                      Chain.capture.<fn>
[2017-11-01 16:19:16]   dart:async/zone.dart 1120                                  _rootRun
[2017-11-01 16:19:16]   dart:async/zone.dart 1001                                  _CustomZone.run
[2017-11-01 16:19:16]   dart:async/zone.dart 1467                                  runZoned
[2017-11-01 16:19:16]   package:stack_trace/src/chain.dart 91                      Chain.capture
[2017-11-01 16:19:16]   package:test/src/backend/invoker.dart 336                  Invoker._onRun
[2017-11-01 16:19:16]   package:test/src/backend/live_test_controller.dart 188     LiveTestController._run
[2017-11-01 16:19:16]   package:test/src/backend/live_test_controller.dart 40      _LiveTest.run
[2017-11-01 16:19:16]   dart:async/future.dart 184                                 new Future.microtask.<fn>
[2017-11-01 16:19:16]   dart:async/zone.dart 1120                                  _rootRun
[2017-11-01 16:19:16]   dart:async/zone.dart 1001                                  _CustomZone.run
[2017-11-01 16:19:16]   dart:async/zone.dart 928                                   _CustomZone.bindCallback.<fn>
[2017-11-01 16:19:16]   dart:async/schedule_microtask.dart 41                      _microtaskLoop
[2017-11-01 16:19:16]   dart:async/schedule_microtask.dart 50                      _startMicrotaskLoop
[2017-11-01 16:19:16]   dart:isolate-patch/isolate_patch.dart 99                   _runPendingImmediateCallback
[2017-11-01 16:19:16]   dart:isolate-patch/isolate_patch.dart 152                  _RawReceivePortImpl._handleMessage
[2017-11-01 16:19:16]
[2017-11-01 16:19:16] 00:00 +0 -1: Some tests failed.

@grouma
Copy link
Member

grouma commented Nov 2, 2017

This timeout was introduced to give us details when a DDC test would fail on Forge and result in a test hang. In that case we would not get any information. I believe that no longer can happen since I introduced this change: #682 We can conceivably remove this timeout.

@nex3
Copy link
Member

nex3 commented Nov 2, 2017

That error trace is interesting for a couple of reasons:

  • The load suite's test timeout is firing before the load timeout. For those unfamiliar with test's internals, we create a virtual test in which we do the work to load a test suite so that we can report all progress and errors uniformly. That test has a timeout of 5 minutes. This is why Greg is seeing "Test timed out after 5 minutes".

  • Despite the fact that a timeout error is being reported, it must not actually be stopping the load suite, because we're seeing the deserialize timeout firing three minutes later.

This suggests that the deserialize timeout is already redundant, but there's a bug in how we're handling the load suite timeout that makes it not actually shut down the test. We should fix that bug and make the load suite timeout long enough to avoid killing compilation while also not hanging Forge—maybe 15m?

nex3 added a commit that referenced this issue Nov 7, 2017
We weren't completing the _suiteAndZone completer, which meant that
errors (such as timeouts) were reported but didn't actually stop the
suite from loading.

See #390
nex3 added a commit that referenced this issue Nov 7, 2017
This can never fire before the load suite timeout. Now that that
timeout actually works, it's redundant.

See #390
nex3 added a commit that referenced this issue Nov 7, 2017
nex3 added a commit that referenced this issue Nov 8, 2017
This can never fire before the load suite timeout. Now that that
timeout actually works, it's redundant.

See #390
@nex3 nex3 closed this as completed in 99f30e4 Nov 8, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
config file type-enhancement A request for a change that isn't a bug
Projects
None yet
Development

No branches or pull requests

9 participants