Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jenkins-java.lang.IllegalArgumentException:最后一个单元没有足够的有效位&;渐变错误:任务';空';在根项目中找不到_Jenkins_Gradle_Parallel Processing_Locking_Jenkins Pipeline - Fatal编程技术网

Jenkins-java.lang.IllegalArgumentException:最后一个单元没有足够的有效位&;渐变错误:任务';空';在根项目中找不到

Jenkins-java.lang.IllegalArgumentException:最后一个单元没有足够的有效位&;渐变错误:任务';空';在根项目中找不到,jenkins,gradle,parallel-processing,locking,jenkins-pipeline,Jenkins,Gradle,Parallel Processing,Locking,Jenkins Pipeline,Jenkins2.176.4-3滚动 Gradle4.3.1 问题区域:并行运行给定的单个梯度任务(也可以是任何简单操作)和,尤其是在运行基于文件的管道的并发运行时 突然间,我在Jenkins日志页面中发现了这个错误,以前从未见过这个错误(在Jenkins中也没有发现这个错误的stackoverflow帖子) 错误:java.lang.IllegalArgumentException:最后一个单元没有足够的有效位 由于某种原因,上一次构建失败,并自动将我带到Jenkins日志页面,显示Jenki

Jenkins2.176.4-3滚动

Gradle4.3.1

问题区域并行运行给定的单个梯度任务(也可以是任何简单操作),尤其是在运行基于文件的管道的并发运行时

突然间,我在Jenkins日志页面中发现了这个错误,以前从未见过这个错误(在Jenkins中也没有发现这个错误的stackoverflow帖子)

错误:java.lang.IllegalArgumentException:最后一个单元没有足够的有效位

  • 由于某种原因,上一次构建失败,并自动将我带到Jenkins日志页面,显示Jenkins愤怒的火脸:

  • 重新运行一次Jenkinsfile管道(它运行一个Gradle任务(比如:
    rpm
    task),并行出现在多个项目中),并成功运行了在成功运行和失败运行之间传递的检查参数/值-它们相似

  • 示例Jenkinsfile可以在这里找到:我通过创建动态阶段并行运行一个gradle任务(比如说
    gradle rpm
    )(每个gradle
    rpm
    任务在单个
    stage步骤中运行)(这样我就不会为每个项目在Jenkinsfile中硬编码)

    注意:在Jenkins文件中,尽管gradle任务
    rpm
    (我在单个
    阶段
    (在
    阶段
    下)中并行运行)部分定义了一个有效的gradle任务,即
    rpm
    它看起来像是在
    并行
    的多个项目上运行的gradle任务(Jenkinsfile中的部分)并非每次都100%成功,至少有
    Gradle 4.3.1
    ,因为我还看到了另一个错误:

    05:31:41 FAILURE: Build failed with an exception.
    05:31:42 
    05:31:42 * What went wrong:
    05:31:42 Task 'null' not found in root project 'T000123_ABCD_Project'.
    05:31:42 
    
    本期海报上的内容与此类似:


    以下是Jenkins堆栈跟踪中的完整错误日志

     Oops!
    
    A problem occurred while processing the request.
            Please check our bug tracker to see if a similar problem has already been reported.
            If it is already reported, please vote and put a comment on it to let us gauge the impact of the problem.
            If you think this is a new issue, please file a new issue.
            When you file an issue, make sure to add the entire stack trace, along with the version of Jenkins and relevant plugins.
            The users list might be also useful in understanding what has happened.
    Stack trace
    
    java.lang.IllegalArgumentException: Last unit does not have enough valid bits
        at java.util.Base64$Decoder.decode0(Base64.java:734)
        at java.util.Base64$Decoder.decode(Base64.java:526)
        at hudson.util.UnbufferedBase64InputStream.read(UnbufferedBase64InputStream.java:41)
        at hudson.util.UnbufferedBase64InputStream.read(UnbufferedBase64InputStream.java:53)
        at java.io.DataInputStream.readFully(DataInputStream.java:195)
        at java.io.DataInputStream.readFully(DataInputStream.java:169)
        at hudson.console.ConsoleNote.readFrom(ConsoleNote.java:258)
        at hudson.console.ConsoleAnnotationOutputStream.eol(ConsoleAnnotationOutputStream.java:111)
        at hudson.console.LineTransformationOutputStream.eol(LineTransformationOutputStream.java:60)
        at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:56)
        at java.io.FilterOutputStream.write(FilterOutputStream.java:77)
        at org.jenkinsci.plugins.workflow.log.FileLogStorage$1$1.write(FileLogStorage.java:238)
        at java.io.FilterOutputStream.write(FilterOutputStream.java:125)
        at org.apache.commons.io.output.ProxyOutputStream.write(ProxyOutputStream.java:89)
        at org.kohsuke.stapler.framework.io.LargeText$HeadMark.moveTo(LargeText.java:314)
        at org.kohsuke.stapler.framework.io.LargeText.writeLogTo(LargeText.java:229)
        at hudson.console.AnnotatedLargeText.writeRawLogTo(AnnotatedLargeText.java:168)
        at org.jenkinsci.plugins.workflow.log.FileLogStorage$1.writeHtmlTo(FileLogStorage.java:203)
        at hudson.console.AnnotatedLargeText.writeLogTo(AnnotatedLargeText.java:147)
        at org.kohsuke.stapler.framework.io.LargeText.doProgressText(LargeText.java:264)
        at hudson.console.AnnotatedLargeText.doProgressiveHtml(AnnotatedLargeText.java:95)
        at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
        at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:396)
        at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:408)
        at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:212)
        at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:145)
        at org.kohsuke.stapler.MetaClass$11.doDispatch(MetaClass.java:535)
        at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
        at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)
    Caused: javax.servlet.ServletException
        at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:797)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878)
        at org.kohsuke.stapler.MetaClass$2.doDispatch(MetaClass.java:219)
        at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
        at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878)
        at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:456)
        at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878)
        at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:280)
        at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
        at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878)
        at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:280)
        at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
        at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:676)
        at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:873)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1623)
        at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
        at com.cloudbees.jenkins.support.impl.cloudbees.UnrestrictedApiCallsMonitor$ApiMonitorFilter.doFilter(UnrestrictedApiCallsMonitor.java:120)
        at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
        at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:243)
        at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
        at com.cloudbees.jenkins.support.slowrequest.SlowRequestFilter.doFilter(SlowRequestFilter.java:37)
        at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
        at io.jenkins.blueocean.auth.jwt.impl.JwtAuthenticationFilter.doFilter(JwtAuthenticationFilter.java:61)
        at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
        at io.jenkins.blueocean.ResourceCacheControl.doFilter(ResourceCacheControl.java:134)
        at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
        at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:59)
        at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
        at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125)
        at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
        at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:128)
        at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
        at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
        at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:99)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
        at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
        at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
        at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
        at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
        at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
        at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
        at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
        at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
        at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
        at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
        at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
        at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)
        at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
        at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
        at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67)
        at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
        at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:90)
        at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
        at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
        at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
        at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1701)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1668)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
        at org.eclipse.jetty.server.Server.handle(Server.java:502)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370)
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267)
        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
        at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
        at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
        at java.lang.Thread.run(Thread.java:745)
    

    是什么让我在詹金斯收到这个错误消息

    错误:java.lang.IllegalArgumentException:最后一个单元没有足够的有效位


    为什么我的管道间歇性运行失败,在Gradle中出现以下错误消息(当
    并行
    部分用于运行
    文件
    中的某个任务时(即Gradle
    someTask

    在根项目中找不到任务“null”



    当运行此管道的许多并发运行时(在许多并行项目上运行一个Gradle任务),假设我启动了4个管道运行,每个管道正在构建3-5个项目的Gradle
    rpm
    任务),然后我看到了与文件锁定相关的以下问题

    即Gradle无法删除文件夹/文件(如下所列)

    由于等待锁定文件哈希缓存超时,无法捕获任务的输出文件快照

    Failed to capture snapshot of output files for task ':rpm' property 'archivePath' during up-to-date check.
    
    > Timeout waiting to lock file hash cache (/view/user123456_Team_Tools/vobs/space/test/folder1/Project1of5/.gradle/4.3.1/fileHashes). It is currently in use by another Gradle instance.
    
      Owner PID: 29003
    
      Our PID: 903
    
      Owner Operation: 
    
      Our operation: 
    
      Lock file: /view/user123456_Team_Tools/vobs/space/test/folder1/Project1of5/.gradle/4.3.1/fileHashes/fileHashes.lock
    

    获取:无法使用BuildScopeServices创建ScriptPluginFactory类型的服务。createScriptPluginFactory()

    无法读取路径 “/some/jenkins/workspace/path/of/a/job/folder/sub folder/file.class_或_any_扩展名”

    java.io.FileNotFoundException。 无法找到文件(如果我只运行此管道的一次运行,则Gradle已成功生成)


    在单个管道运行情况下,如果您有更多的项目(比如20多个项目),并且您正在并行运行Gradle someTask(无论是在单个阶段还是每个项目的单个阶段),那么您可以设置
    Gradle_USER_HOME=$WORKSPACE/${whichProject}
    文件夹(其中
    ${whichProject}
    是一个项目文件夹,您可以在Jenkins
    WORKSPACE
    (在
    git clone
    或类似的签出操作之后)中使用它。这可能解决任何
    并行
    任务遇到的任何锁定相关问题,但代价是牺牲Gradle的性能(即,在许多项目的并行任务运行中不使用Gradle缓存)

    在动态创建的唯一Jenkins workspace(示例
    /Jenkins/workspace/jobname//
    ,其中BUILD\u NUMBER使Jenkins workspace文件夹唯一)内设置唯一的GRADLE\u USER\u HOME值(每个项目)将解决任何锁定相关问题

  • i、 e.这样做,Project1将使用
    GRADLE\u USER\u HOME=/jenkins/workspace/jobname//Project1
    (现在,
    .gradle
    缓存
    文件夹将位于此文件夹下,由gradle使用,并且不会与其他项目的gradle缓存文件夹发生冲突:
    .gradle
    缓存
    ,它们也并行运行)
  • 我注意到当运行gradle任务时,CLI选项--gradle user home(又名$gradle_user_home)仅设置为Jenkins的工作区示例值,因此,所有3-5 project的gradle任务(在我的例子中是
    rpm
    任务)都是并行运行的
    (使用同一服务帐户的Gradle
    缓存
    文件夹),该文件夹通常位于Gradle_USER_主位置下(因此在我的案例中,单个Gradle的
    缓存
    文件夹被所有3-5个并行任务运行项目共享)

    当运行并发管道运行时,我仍在试图找到的解决方案(在单个管道运行中,每个项目再次运行
    并行
    Gradle
    rpm
    任务),每个都使用自己的dif
    Failed to capture snapshot of output files for task ':rpm' property 'archivePath' during up-to-date check.
    
    > Timeout waiting to lock file hash cache (/view/user123456_Team_Tools/vobs/space/test/folder1/Project1of5/.gradle/4.3.1/fileHashes). It is currently in use by another Gradle instance.
    
      Owner PID: 29003
    
      Our PID: 903
    
      Owner Operation: 
    
      Our operation: 
    
      Lock file: /view/user123456_Team_Tools/vobs/space/test/folder1/Project1of5/.gradle/4.3.1/fileHashes/fileHashes.lock
    
    17:40:11 FAILURE: Build failed with an exception.
    17:40:11 
    17:40:11 * What went wrong:
    17:40:11 Could not create service of type ScriptPluginFactory using BuildScopeServices.createScriptPluginFactory().
    17:40:11 > Could not create service of type FileHasher using BuildSessionScopeServices.createFileSnapshotter().
    
    17:38:28 * What went wrong:
    17:38:28 Execution failed for task ':rpm'.
    17:38:28 > java.io.FileNotFoundException: '/some/jenkins/workspace/path/of/a/job/folder/sub-folder/artifact-1.0.0.121.rpm'