【问题标题】:maven build fails with message in JenkinsMaven 构建失败并在 Jenkins 中显示消息
【发布时间】:2016-12-22 10:17:28
【问题描述】:

我正在运行 Jenkins 服务器版本 2.36,并且在构建 maven 项目时间歇性地出现以下故障: 我搜索了一下,有很多人遇到这个问题,但没有人真正知道是什么原因造成的。有什么想法吗?
错误如下:

ERROR: Aborted Maven execution for InterruptedIOException
java.net.SocketTimeoutException: Accept timed out
    at java.net.DualStackPlainSocketImpl.waitForNewConnection(Native Method)
    at java.net.DualStackPlainSocketImpl.socketAccept(Unknown Source)
    at java.net.AbstractPlainSocketImpl.accept(Unknown Source)
    at java.net.PlainSocketImpl.accept(Unknown Source)
    at java.net.ServerSocket.implAccept(Unknown Source)
    at java.net.ServerSocket.accept(Unknown Source)
    at hudson.maven.AbstractMavenProcessFactory$SocketHandler$AcceptorImpl.accept(AbstractMavenProcessFactory.java:213)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:320)
    at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:295)
    at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:254)
    at hudson.remoting.UserRequest.perform(UserRequest.java:121)
    at hudson.remoting.UserRequest.perform(UserRequest.java:49)
    at hudson.remoting.Request$2.run(Request.java:324)
    at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at hudson.remoting.Engine$1$1.run(Engine.java:63)
    at java.lang.Thread.run(Unknown Source)
    at ......remote call to Channel to /10.0.9.100(Native Method)
    at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1537)
    at hudson.remoting.UserResponse.retrieve(UserRequest.java:253)
    at hudson.remoting.Channel.call(Channel.java:822)
    at hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:256)
    at hudson.maven.$Proxy66.accept(Unknown Source)
    at hudson.maven.AbstractMavenProcessFactory.newProcess(AbstractMavenProcessFactory.java:282)
    at hudson.maven.ProcessCache.get(ProcessCache.java:236)
    at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:798)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:534)
    at hudson.model.Run.execute(Run.java:1729)
    at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:544)
    at hudson.model.ResourceController.execute(ResourceController.java:98) 
    at hudson.model.Executor.run(Executor.java:404)

【问题讨论】:

  • 你使用哪个版本的maven插件?您使用的是哪个版本的 Maven?这是否总是发生在同一个节点上?您正在运行 Jenkins 哪个 JDK?你是如何连接节点的?
  • 只是猜测:“/10.0.9.100”->这里的斜线正常并且可以访问IP吗?
  • 你知道这台机器10.0.9.100正在运行什么样的服务吗?
  • 运气好能找到答案吗?我有同样的问题(虽然堆栈跟踪要短得多,因为我只有一个节点),看起来 jenkins 正试图在端口上分叉 maven 进程,这出于某种原因是不可接受的。查看堆栈跟踪上方的命令行...最后有一个端口号...重新启动构建解决了问题,但对我来说不是...我需要一个稳定的 CI env 没有任何误报。 ..有人知道如何解决吗?

标签: jenkins maven-3 jenkins-plugins


【解决方案1】:

您可以尝试通过在 jenkins.xml 中添加-Djava.net.preferIPv4Stack=true arguments 标签来禁用 IPv6。

【讨论】:

  • @khmarbaise 在 Jenkins 服务器 maven-plugin 2.14 和 java 1.7.0_65 上。节点通过 swarm 插件连接到 Jenkins,因为有 aws 节点,并且每次创建一个新节点。
  • 我试了一下,问题还是间歇性出现,原来是这样
猜你喜欢
  • 2021-12-22
  • 1970-01-01
  • 2012-11-26
  • 1970-01-01
  • 2016-02-21
  • 2020-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多