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

CI Issues #1332

Open
2 tasks
lhstrh opened this issue Aug 23, 2022 · 3 comments
Open
2 tasks

CI Issues #1332

lhstrh opened this issue Aug 23, 2022 · 3 comments
Labels
ci Continuous integration good first issue Good for newcomers help wanted Extra attention is needed

Comments

@lhstrh
Copy link
Member

lhstrh commented Aug 23, 2022

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.

@lhstrh lhstrh added good first issue Good for newcomers help wanted Extra attention is needed labels Aug 26, 2022
@cmnrd
Copy link
Collaborator

cmnrd commented Sep 7, 2022

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 #1329.

@cmnrd cmnrd added the ci Continuous integration label Sep 7, 2022
@cmnrd
Copy link
Collaborator

cmnrd commented Sep 9, 2022

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

@lhstrh
Copy link
Member Author

lhstrh commented Feb 28, 2023

I noticed the follow suggestion that might be worth implementing: gradle/wrapper-validation-action#69 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci Continuous integration good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants