sdk icon indicating copy to clipboard operation
sdk copied to clipboard

cfe-unittest-asserts-release-mac tests flakily fail with SocketException BrokenPipe error

Open aam opened this issue 3 years ago • 7 comments

from log

/==================================================================================================================================================================\
| cfe-unittest-asserts-release-mac:pkg/front_end/test/fasta/text_serialization/extension_types/type_variable_in_static_context broke (Pass -> Fail, expected Pass) |
\==================================================================================================================================================================/

0:00:00.000293: Indexed 18 libraries (0 bytes) in 0.292ms, that is,
       0.000 bytes/ms, and
       0.016 ms/libraries.
...


SocketException: Write failed (OS Error: Broken pipe, errno = 32), port = 0

#0      _NativeSocket.write (dart:io-patch/socket_patch.dart:1190:34)
#1      _RawSocket.write (dart:io-patch/socket_patch.dart:1912:15)
#2      _Socket._write (dart:io-patch/socket_patch.dart:2352:18)
#3      _SocketStreamConsumer.write (dart:io-patch/socket_patch.dart:2100:26)
#4      _SocketStreamConsumer.addStream.<anonymous closure> (dart:io-patch/socket_patch.dart:2074:11)
#5      _rootRunUnary (dart:async/zone.dart:1434:47)
#6      _CustomZone.runUnary (dart:async/zone.dart:1335:19)
#7      _CustomZone.runUnaryGuarded (dart:async/zone.dart:1244:7)
#8      _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:341:11)
#9      _BufferingStreamSubscription._add (dart:async/stream_impl.dart:271:7)
#10     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:774:19)
#11     _StreamController._add (dart:async/stream_controller.dart:648:7)
#12     _StreamController.add (dart:async/stream_controller.dart:596:5)
#13     _StreamSinkImpl.add (dart:io/io_sink.dart:136:17)
#14     _IOSinkImpl.write (dart:io/io_sink.dart:269:5)
#15     _Socket.write (dart:io-patch/socket_patch.dart:2190:36)
#16     _StdSink.write (dart:io/stdio.dart:315:11)
#17     StdioProcess.run (package:testing/src/stdio_process.dart:68:21)
<asynchronous suspension>
#18     runDiff (file:///opt/s/w/ir/pkg/front_end/test/utils/kernel_chain.dart:522:28)
<asynchronous suspension>
#19     MatchContext.match (file:///opt/s/w/ir/pkg/front_end/test/utils/kernel_chain.dart:100:23)
<asynchronous suspension>
#20     ChainContext.run.doStep.<anonymous closure> (package:testing/src/chain.dart:188:22)
<asynchronous suspension>


To re-run this test, run:

   dart pkg/front_end/test/unit_test_suites.dart -p pkg/front_end/test/fasta/text_serialization/extension_types/type_variable_in_static_context

The test has outcome Crash, but was expected to have outcome(s) {ExpectationFileMismatchSerialized}. You might have to update the status file to the new outcome
There's a status entry looking something like

  extension_types/type_variable_in_static_context: ExpectationFileMismatchSerialized

which should be updated.

The status file is file:///opt/s/w/ir/pkg/front_end/testcases/text_serialization.status.

cc @athomas - possibly flakiness is infra related

aam avatar Apr 19 '22 23:04 aam

According to @whesse this is flakiness in the CFE or the tests, moving to area-front-end.

athomas avatar Apr 20 '22 12:04 athomas

@whesse how can this be a front-end issue?

johnniwinther avatar Apr 20 '22 12:04 johnniwinther

Failed again https://logs.chromium.org/logs/dart/buildbucket/cr-buildbucket/8811908224943216881/+/u/test_results/new_test_failures__logs_


SocketException: Write failed (OS Error: Broken pipe, errno = 32), port = 0

#0      _NativeSocket.write (dart:io-patch/socket_patch.dart:1190:34)
#1      _RawSocket.write (dart:io-patch/socket_patch.dart:1912:15)
#2      _Socket._write (dart:io-patch/socket_patch.dart:2352:18)
#3      _SocketStreamConsumer.write (dart:io-patch/socket_patch.dart:2100:26)
#4      _SocketStreamConsumer.addStream.<anonymous closure> (dart:io-patch/socket_patch.dart:2074:11)
#5      _rootRunUnary (dart:async/zone.dart:1399:47)
#6      _CustomZone.runUnary (dart:async/zone.dart:1300:19)
#7      _CustomZone.runUnaryGuarded (dart:async/zone.dart:1209:7)
#8      _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:341:11)
#9      _BufferingStreamSubscription._add (dart:async/stream_impl.dart:271:7)
#10     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:774:19)
#11     _StreamController._add (dart:async/stream_controller.dart:648:7)
#12     _StreamController.add (dart:async/stream_controller.dart:596:5)
#13     _StreamSinkImpl.add (dart:io/io_sink.dart:136:17)
#14     _IOSinkImpl.write (dart:io/io_sink.dart:269:5)
#15     _Socket.write (dart:io-patch/socket_patch.dart:2190:36)
#16     _StdSink.write (dart:io/stdio.dart:338:11)
#17     StdioProcess.run (package:testing/src/stdio_process.dart:68:21)
<asynchronous suspension>
#18     runDiff (file:///opt/s/w/ir/pkg/front_end/test/utils/kernel_chain.dart:546:28)
<asynchronous suspension>
#19     MatchContext.match (file:///opt/s/w/ir/pkg/front_end/test/utils/kernel_chain.dart:108:23)
<asynchronous suspension>
#20     ChainContext.run.doStep.<anonymous closure> (package:testing/src/chain.dart:188:22)
<asynchronous suspension>


To re-run this test, run:

   dart pkg/front_end/test/unit_test_suites.dart -p pkg/front_end/test/fasta/text_serialization/extension_types/access_setter_as_getter

The test has outcome Crash, but was expected to have outcome(s) {ExpectationFileMismatchSerialized}. You might have to update the status file to the new outcome
There's a status entry looking something like

aam avatar Jun 08 '22 17:06 aam

@whesse We are seeing this from time to time. Do you have any idea what can cause this?

johnniwinther avatar Jun 30 '22 08:06 johnniwinther

Happened again https://ci.chromium.org/ui/p/dart/builders/ci.sandbox/front-end-mac-release-x64/19959/overview https://ci.chromium.org/ui/p/dart/builders/ci.sandbox/front-end-mac-release-x64/19955/overview

aam avatar Jul 06 '22 16:07 aam

Few more https://ci.chromium.org/ui/p/dart/builders/ci.sandbox/front-end-mac-release-x64/19965/overview https://ci.chromium.org/ui/p/dart/builders/ci.sandbox/front-end-mac-release-x64/19963/overview

aam avatar Jul 06 '22 20:07 aam

Failed again https://logs.chromium.org/logs/dart/buildbucket/cr-buildbucket/8802943795756537457/+/u/test_results/new_test_failures__logs_

aam avatar Sep 15 '22 16:09 aam

This failure in random tests is happening in the package testing and pkg/front_end/test/utils/kernel_chain.dart front end testing system.

If the "git diff" command run by Process.run fails or crashes, then the test is shown as a failure. There could be better handling of a failure of this command to run, perhaps showing the stderr from the process, and marking the test step as an infra failure, not saying that this single test has failed.

StdioProcess process = await StdioProcess.run(
   "git", <String>["diff", "--no-index", "-u", expected.toFilePath(), "-"],
   input: actual, runInShell: true);
   return process.output;

There is already a workaround on Windows for this subprocess call, because it is flaky on Windows.

https://dart.googlesource.com/sdk/+/refs/heads/main/pkg/front_end/test/utils/kernel_chain.dart#480

whesse avatar Sep 22 '22 09:09 whesse

another SocketException: Write failed (OS Error: Broken pipe, errno = 32), port = 0 failure

https://logs.chromium.org/logs/dart/buildbucket/cr-buildbucket/8797869262426419329/+/u/test_results/new_test_failures__logs_

aam avatar Nov 10 '22 16:11 aam

Another one https://logs.chromium.org/logs/dart/buildbucket/cr-buildbucket/8790800955176647521/+/u/test_results/new_test_failures__logs_

aam avatar Jan 27 '23 17:01 aam