lingua-franca
lingua-franca copied to clipboard
CI Issues
There are a number of recurrent problems that causes CI to fail intermittently. This issue is meant to track these problems.
- [ ]
Run gradle/[email protected] with: min-wrapper-count: 1 allow-snapshots: false env: JAVA_HOME: /usr/lib/jvm/temurin-17-jdk-amd64 Error: read ECONNRESET
- [ ] ```Run ./gradlew test --tests org.lflang.tests.lsp.LspTests.pythonValidationTestSyntaxOnly ./gradlew test --tests org.lflang.tests.lsp.LspTests.pythonValidationTestSyntaxOnly shell: /bin/bash -e {0} env: JAVA_HOME: /Users/runner/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.4-8/x64/Contents/Home/ Downloading https://services.gradle.org/distributions/gradle-7.4.2-bin.zip
Exception in thread "main" java.net.SocketException: Broken pipe at java.base/sun.nio.ch.NioSocketImpl.implWrite(NioSocketImpl.java:420) at java.base/sun.nio.ch.NioSocketImpl.write(NioSocketImpl.java:440) at java.base/sun.nio.ch.NioSocketImpl$2.write(NioSocketImpl.java:826) at java.base/java.net.Socket$SocketOutputStream.write(Socket.java:1035) at java.base/sun.security.ssl.SSLSocketOutputRecord.encodeChangeCipherSpec(SSLSocketOutputRecord.java:231) at java.base/sun.security.ssl.OutputRecord.changeWriteCiphers(OutputRecord.java:187) at java.base/sun.security.ssl.ChangeCipherSpec$T10ChangeCipherSpecProducer.produce(ChangeCipherSpec.java:118) at java.base/sun.security.ssl.Finished$T12FinishedProducer.onProduceFinished(Finished.java:393) at java.base/sun.security.ssl.Finished$T12FinishedProducer.produce(Finished.java:377) at java.base/sun.security.ssl.SSLHandshake.produce(SSLHandshake.java:440) at java.base/sun.security.ssl.ServerHelloDone$ServerHelloDoneConsumer.consume(ServerHelloDone.java:182) at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:396) at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:480) at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:458) at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:201) at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:172) at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1505) at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1420) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426) at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:580) at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:187) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1665) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589) at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:224) at org.gradle.wrapper.Download.downloadInternal(Download.java:78) at org.gradle.wrapper.Download.download(Download.java:63) at org.gradle.wrapper.Install$1.call(Install.java:68) at org.gradle.wrapper.Install$1.call(Install.java:48) at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:69) at org.gradle.wrapper.Install.createDist(Install.java:48) at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:107) at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:63) Error: Process completed with exit code 1.
Its a good idea to collect theses problems. However, for we should also record the precise task that failed bacause the error message alone does not provide enough context.
These problems re pretty annoying, but probably there is no real fix. We could try to implement a workaround where we mark problematic tasks with continue_on_error: true
and then try to check in subsequent task why the job failed. If it is one of the known problems, we could simply try to run the task again. I implemented something similar to work around an issue with rustup in https://github.com/lf-lang/lingua-franca/pull/1329.
Got this one in "Prepare build environment" in the eclipse-tests workflow:
Prepare all required actions
Getting action download info
Download action repository 'gradle/[email protected]' (SHA:e6e38bacfdf1a337459f332974bb2327a31aaf4b)
Run ./.github/actions/prepare-build-env
Run echo "$JAVA_HOME_17_X64/bin" >> $GITHUB_PATH
Run echo $(which java)
/usr/lib/jvm/temurin-17-jdk-amd64/bin/java
[header]
group=org.lflang
version=0.3.1-SNAPSHOT
[versions]
commonsCliVersion=1.4
guiceVersion=5.0.1
jacocoVersion=0.8.7
jupiterVersion=5.8.2
jUnitPlatformVersion=1.8.2
jUnitVersion=4.13.2
kotlinJvmTarget=17
kotlinVersion=1.6.20
lsp4jVersion=0.14.0
mwe2LaunchVersion=2.12.2
openTest4jVersion=1.2.0
resourcesVersion=3.16.0
runtimeVersion=3.25.0
shadowJarVersion=7.1.2
xtextGradleVersion=3.0.0
xtextVersion=2.27.0
[manifestPropertyNames]
org.eclipse.xtext=xtextVersion
org.eclipse.lsp4j=lsp4jVersion
org.opentest4j=openTest4jVersion
org.eclipse.core.runtime=runtimeVersion
org.eclipse.core.resources=resourcesVersion
org.junit.jupiter=jupiterVersion
org.gradle.java.home=/usr/lib/jvm/temurin-17-jdk-amd64
/usr/lib/jvm/temurin-17-jdk-amd64
/usr/bin/mvn
Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63) Maven home: /usr/share/apache-maven-3.8.6 Java version: 17.0.4.1, vendor: Eclipse Adoptium, runtime: /usr/lib/jvm/temurin-17-jdk-amd64 Default locale: en, platform encoding: UTF-8 OS name: "linux", version: "5.15.0-1019-azure", arch: "amd64", family: "unix"
Run gradle/[email protected]
Error: write EPROTO 140204525066112:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:../deps/openssl/openssl/ssl/record/rec_layer_s3.c:1544:SSL alert number 40
I noticed the follow suggestion that might be worth implementing: https://github.com/gradle/wrapper-validation-action/issues/69#issuecomment-1338609709