Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-70810

Windows agent fails archiveArtifacts with error "Tag mismatch"

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • core
    • None
    • Jenkins 2.387.1 running on Debian 11
      Agent environment: Windows 10, Java runtime vendor version Temurin-11.0.18+10

      I have a project with long running (pipeline) builds and tests on multiple platforms. The windows agent have over the past about 6 months increasingly failed to complete the archiveArtifacts step (after successful builds).

      The agent crashes with the following error:

       

      javax.crypto.AEADBadTagException: Tag mismatch!
      	at java.base/com.sun.crypto.provider.GaloisCounterMode.decryptFinal(GaloisCounterMode.java:623)
      	at java.base/com.sun.crypto.provider.CipherCore.finalNoPadding(CipherCore.java:1116)
      	at java.base/com.sun.crypto.provider.CipherCore.fillOutputBuffer(CipherCore.java:1053)
      	at java.base/com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:941)
      	at java.base/com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:491)
      	at java.base/javax.crypto.CipherSpi.bufferCrypt(CipherSpi.java:779)
      	at java.base/javax.crypto.CipherSpi.engineDoFinal(CipherSpi.java:730)
      	at java.base/javax.crypto.Cipher.doFinal(Cipher.java:2497)
      	at java.base/sun.security.ssl.SSLCipher$T13GcmReadCipherGenerator$GcmReadCipher.decrypt(SSLCipher.java:1929)
      	at java.base/sun.security.ssl.SSLEngineInputRecord.decodeInputRecord(SSLEngineInputRecord.java:240)
      	at java.base/sun.security.ssl.SSLEngineInputRecord.decode(SSLEngineInputRecord.java:197)
      	at java.base/sun.security.ssl.SSLEngineInputRecord.decode(SSLEngineInputRecord.java:160)
      	at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111)
      Caused: javax.net.ssl.SSLException: Tag mismatch!
      	at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:133)
      	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:353)
      	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:296)
      	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:291)
      	at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:123)
      	at java.base/sun.security.ssl.SSLEngineImpl.decode(SSLEngineImpl.java:681)
      	at java.base/sun.security.ssl.SSLEngineImpl.readRecord(SSLEngineImpl.java:636)
      	at java.base/sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:454)
      	at java.base/sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:433)
      	at java.base/javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:637)
      	at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.processRead(SSLEngineFilterLayer.java:343)
      	at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.onRecv(SSLEngineFilterLayer.java:119)
      	at org.jenkinsci.remoting.protocol.ProtocolStack$Ptr.onRecv(ProtocolStack.java:677)
      	at org.jenkinsci.remoting.protocol.NetworkLayer.onRead(NetworkLayer.java:137)
      	at org.jenkinsci.remoting.protocol.impl.NIONetworkLayer.ready(NIONetworkLayer.java:161)
      	at org.jenkinsci.remoting.protocol.IOHub$OnReady.run(IOHub.java:789)
      	at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
      	at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
      	at jenkins.util.ErrorLoggingExecutorService.lambda$wrap$0(ErrorLoggingExecutorService.java:51)
      Caused: java.io.IOException
      	at hudson.remoting.FastPipedInputStream.read(FastPipedInputStream.java:171)
      	at hudson.util.HeadBufferingStream.read(HeadBufferingStream.java:61)
      	at com.jcraft.jzlib.InflaterInputStream.fill(InflaterInputStream.java:175)
      	at com.jcraft.jzlib.InflaterInputStream.read(InflaterInputStream.java:106)
      	at org.apache.commons.compress.archivers.tar.TarArchiveInputStream.read(TarArchiveInputStream.java:738)
      	at java.base/java.io.InputStream.read(InputStream.java:205)
      	at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1309)
      	at org.apache.commons.io.IOUtils.copy(IOUtils.java:978)
      	at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1282)
      	at org.apache.commons.io.IOUtils.copy(IOUtils.java:953)
      	at hudson.util.IOUtils.copy(IOUtils.java:52)
      	at hudson.FilePath.readFromTar(FilePath.java:3058)
      Also:   <cycle to javax.net.ssl.SSLException: Tag mismatch!>
      	Caused: hudson.remoting.RequestAbortedException
      		at hudson.remoting.Request.abort(Request.java:346)
      		at hudson.remoting.Channel.terminate(Channel.java:1080)
      		at org.jenkinsci.remoting.protocol.impl.ChannelApplicationLayer.onReadClosed(ChannelApplicationLayer.java:241)
      		at org.jenkinsci.remoting.protocol.ApplicationLayer.onRecvClosed(ApplicationLayer.java:221)
      		at org.jenkinsci.remoting.protocol.ProtocolStack$Ptr.onRecvClosed(ProtocolStack.java:825)
      		at org.jenkinsci.remoting.protocol.FilterLayer.onRecvClosed(FilterLayer.java:289)
      		at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.onRecvClosed(SSLEngineFilterLayer.java:177)
      		at org.jenkinsci.remoting.protocol.FilterLayer.abort(FilterLayer.java:165)
      		at org.jenkinsci.remoting.protocol.impl.SSLEngineFilterLayer.onRecv(SSLEngineFilterLayer.java:140)
      		at org.jenkinsci.remoting.protocol.ProtocolStack$Ptr.onRecv(ProtocolStack.java:677)
      		at org.jenkinsci.remoting.protocol.NetworkLayer.onRead(NetworkLayer.java:137)
      		at org.jenkinsci.remoting.protocol.impl.NIONetworkLayer.ready(NIONetworkLayer.java:161)
      		at org.jenkinsci.remoting.protocol.IOHub$OnReady.run(IOHub.java:789)
      		at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
      		at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
      		at jenkins.util.ErrorLoggingExecutorService.lambda$wrap$0(ErrorLoggingExecutorService.java:51)
      	Caused: java.util.concurrent.ExecutionException
      		at hudson.remoting.Request$1.get(Request.java:325)
      		at hudson.remoting.Request$1.get(Request.java:240)
      		at hudson.remoting.FutureAdapter.get(FutureAdapter.java:66)
      		at hudson.FilePath.copyRecursiveTo(FilePath.java:2831)
      Caused: java.io.IOException: Failed to extract C:\Users\SomeUser\jenkins-agent\workspace\release_v2.4.0\artifacts/transfer of 3 files
      	at hudson.FilePath.readFromTar(FilePath.java:3068)
      	at hudson.FilePath.copyRecursiveTo(FilePath.java:2828)
      	at jenkins.model.StandardArtifactManager.archive(StandardArtifactManager.java:73)
      	at hudson.tasks.ArtifactArchiver.perform(ArtifactArchiver.java:258)
      	at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:101)
      	at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:71)
      	at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47)
      	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
      	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
      	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
      	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
      	at java.base/java.lang.Thread.run(Thread.java:829) 

       

      I have previously been able to re-run the build and have the step complete, but recently this step fails consistently, but only on Windows.

      The relevant code section of the Jenkinsfile:

       

      stage('Build for Windows') {
          agent { label 'windows' }
          steps {
              // ... various build commands and tests ...
              dir('artifacts') {
                  archiveArtifacts artifacts: '*', followSymlinks: false
              }
          }
      } 

       

      I noticed an unanswered community forum question from 2021 that seems to be related: https://community.jenkins.io/t/how-to-resolve-javax-net-ssl-sslexception-tag-mismatch/994

      Is this a known problem? 

            Unassigned Unassigned
            jcbsv Jacob Svensson
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: