Need to mitigate spurious failures in CI jobs on macOS, iOS, Android
Majority of failures are spurious failures. Examples:
- macOS, llvm / rust crashes:
(signal: 11, SIGSEGV: invalid memory reference)
(signal: 6, SIGABRT: process abort signal)
LLVM ERROR: Type mismatch in constant table!
LLVM ERROR: Invalid abbrev number
error: failed to parse bitcode for LTO module: Invalid record (Producer: 'LLVM14.0.5-rust-1.63.0-stable' Reader: 'LLVM 14.0.5-rust-1.63.0-stable')
-
returned -6
no errors in the log, the only discerning feature is that the return code is -6 fatal runtime error: assertion failed: thread_info.is_none()
- macOS, network failures:
-
curl: (22) The requested URL returned error: 503
could have curl retry when this happens -
curl: (56) LibreSSL SSL_read: error:02FFF036:system library:func(4095):Connection reset by peer, errno 54
also retry curl when this happens -
warning: spurious network error (1 tries remaining): SecureTransport error: connection closed via error; class=Net (12)
error: failed to sync
retry this too, happens in cargo
-
- macOS, python crashes:
- Android examples, network failures
- iOS examples, XCode crashes
- MSVC, permission errors:
Edited by Nirbheek Chauhan