devtools
devtools copied to clipboard
Flaky `eval_integration_test`
Example: https://github.com/flutter/devtools/actions/runs/18733806183/job/53436545744?pr=9482
Failure 1
/home/runner/work/devtools/devtools/packages/devtools_app/test/shared/eval_integration_test.dart: EvalOnDartLibrary asyncEval supports expressions that do not start with the await keyword (failed)
Retry: EvalOnDartLibrary asyncEval supports expressions that do not start with the await keyword
Retry: EvalOnDartLibrary asyncEval supports expressions that do not start with the await keyword
Retry: EvalOnDartLibrary asyncEval supports expressions that do not start with the await keyword
TimeoutException after 0:01:00.000000: Test timed out after 1 minutes.
dart:isolate _RawReceivePort._handleMessage
Evaluation `() { final result = widgetInspectorService.toObject("inspector-0", "asyncEval-1") as List; widgetInspectorService.disposeGroup("asyncEval-1"); return result;}()` failed with [ErrorRef id: objects/6/0, kind: UnhandledException, message: Unhandled exception:
type 'Null' is not a subtype of type 'List<dynamic>' in type cast
#0 Eval.<anonymous closure> ()
#1 Eval ()
#2 _WidgetsAppState.build (package:flutter/src/widgets/app.dart:1665:3)
#3 StatefulElement.build (package:flutter/src/widgets/framework.dart:5934:27)
#4 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5820:15)
#5 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11)
#6 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7)
#7 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5802:5)
#8 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5976:11)
#9 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5796:5)
#10 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20)
#11 Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#12 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:7118:14)
#13 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20)
#14 Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#15 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16)
#16 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7)
#17 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5802:5)
#18 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5796:5)
#19 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20)
#20 Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#21 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16)
#22 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11)
#23 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7)
#24 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5802:5)
#25 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5976:11)
#26 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5796:5)
#27 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20)
#28 Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#29 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16)
#30 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7)
#31 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5802:5)
#32 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5796:5)
#33 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20)
#34 Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#35 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16)
#36 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7)
#37 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5802:5)
#38 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5796:5)
#39 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20)
#40 Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#41 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16)
#42 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11)
#43 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7)
#44 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5802:5)
#45 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5976:11)
#46 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5796:5)
#47 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20)
#48 Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#49 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16)
#50 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7)
#51 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5802:5)
#52 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5796:5)
#53 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20)
#54 Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#55 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16)
#56 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7)
#57 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5802:5)
#58 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5796:5)
#59 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20)
#60 Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#61 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16)
#62 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11)
#63 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7)
#64 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5802:5)
#65 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5976:11)
#66 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5796:5)
#67 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20)
#68 Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#69 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16)
#70 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7)
#71 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5802:5)
#72 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5796:5)
#73 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20)
#74 Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#75 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16)
#76 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11)
#77 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7)
#78 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5802:5)
#79 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5976:11)
#80 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5796:5)
#81 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20)
#82 Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#83 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16)
#84 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11)
#85 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7)
#86 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5802:5)
#87 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5976:11)
#88 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5796:5)
#89 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20)
#90 Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#91 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16)
#92 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7)
#93 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5802:5)
#94 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5796:5)
#95 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20)
#96 Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#97 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16)
#98 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11)
#99 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7)
#100 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5802:5)
#101 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5976:11)
#102 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5796:5)
#103 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20)
#104 Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#105 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16)
#106 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7)
#107 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5802:5)
#108 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5796:5)
#109 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20)
#110 Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#111 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16)
#112 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7)
#113 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5802:5)
#114 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5796:5)
#115 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20)
#116 Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#117 _RawViewElement._updateChild (package:flutter/src/widgets/view.dart:481:16)
#118 _RawViewElement.mount (package:flutter/src/widgets/view.dart:504:5)
#119 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20)
#120 Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#121 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16)
#122 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7)
#123 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5802:5)
#124 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5796:5)
#125 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20)
#126 Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#127 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5844:16)
#128 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5985:11)
#129 Element.rebuild (package:flutter/src/widgets/framework.dart:5532:7)
#130 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5802:5)
#131 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5976:11)
#132 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5796:5)
#133 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4590:20)
#134 Element.updateChild (package:flutter/src/widgets/framework.dart:4059:18)
#135 RootElement._rebuild (package:flutter/src/widgets/binding.dart:1782:16)
#136 RootElement.mount (package:flutter/src/widgets/binding.dart:1751:5)
#137 RootWidget.attach.<anonymous closure> (package:flutter/src/widgets/binding.dart:1704:18)
#138 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:3101:19)
#139 RootWidget.attach (package:flutter/src/widgets/binding.dart:1703:13)
#140 WidgetsBinding.attachToBuildOwner (package:flutter/src/widgets/binding.dart:1379:27)
#141 WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:1364:5)
#142 WidgetsBinding.scheduleAttachRootWidget.<anonymous closure> (package:flutter/src/widgets/binding.dart:1350:7)
#143 Timer._createTimer.<anonymous closure> (dart:async-patch/timer_patch.dart:18:15)
#144 _Timer._runTimers (dart:isolate-patch/timer_impl.dart:423:19)
#145 _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:454:5)
#146 _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:193:12)
] for scope: {widgetInspectorService: objects/2/0}
package:devtools_app_shared/src/service/eval_on_dart_library.dart 493:11 EvalOnDartLibrary.safeEval
TimeoutException after 0:01:00.000000: Test timed out after 1 minutes.
dart:isolate _RawReceivePort._handleMessage
TimeoutException after 0:01:00.000000: Test timed out after 1 minutes.
dart:isolate _RawReceivePort._handleMessage
Failure 2
❌ /home/runner/work/devtools/devtools/packages/devtools_app/test/shared/eval_integration_test.dart: EvalOnDartLibrary asyncEval throws FutureFailedException when the future is rejected (failed)
Retry: EvalOnDartLibrary asyncEval throws FutureFailedException when the future is rejected
TimeoutException after 0:01:00.000000: Test timed out after 1 minutes.
dart:isolate _RawReceivePort._handleMessage
Good catch. Not sure if it's obvious to others, but it was not obvious to me :D the crash is eval_on_dart_library.dart.
Can we just cast it to a nullable List? Shot in the dark.