我在CentOS机器上配置了Jenkins,我有一个构建java selenium项目的作业,并使用HTML Publisher Jenkins插件输出一个附带屏幕截图的扩展报告。通过Jenkins打开报告时,图像显示为损坏,并出现404未找到错误。
我打开了Jetty日志,因为Jenkins单机版被分配到了Jetty示例中,它显示了以下日志:
consumeAll AsyncContentProducer@5b67d321[r=ErrorContent [org.eclipse.jetty.util.StaticException: Unconsumed content],t=ErrorContent [org.eclipse.jetty.util.StaticException: Unconsumed content],i=null,error=false,c=HttpChannelOverHttp@4816e6fe{s=HttpChannelState@656c99cb{s=IDLE rs=COMPLETED os=COMPLETED is=IDLE awp=false se=false i=false al=0},r=4,c=true/true,a=IDLE,uri=http://10.10.50.67:8080/var/lib/jenkins/workspace/SecOps%20Automation/Reports/extentReport_10-24_11:29/ResultsUrlVoid1833.jpg,age=9}]
org.eclipse.jetty.util.StaticException: Unconsumed content
at org.eclipse.jetty.server.AsyncContentProducer.consumeAll(AsyncContentProducer.java:187)
at org.eclipse.jetty.server.BlockingContentProducer.consumeAll(BlockingContentProducer.java:93)
at org.eclipse.jetty.server.HttpInput.consumeAll(HttpInput.java:179)
at org.eclipse.jetty.server.HttpConnection.onCompleted(HttpConnection.java:455)
at org.eclipse.jetty.server.HttpChannel.onCompleted(HttpChannel.java:968)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:485)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:319)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:412)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:381)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:268)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.lambda$new$0(AdaptiveExecutionStrategy.java:138)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:407)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:894)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1038)
at java.base/java.lang.Thread.run(Thread.java:829)
请注意,URI uri=http:10.10.50.67:8080/var/lib/jenkins/workspace/SecOps%20Automation/Reports/extentReport_10-24_11:29/ResultsUrlVoid1833.jpg是正确的,当我在CentOs机器上直接转到此路径时,映像确实存在。
有谁能帮忙吗?
我已经禁用了Jenkins内容安全策略以启用html上的所有css和内容,这应该是我和Jetty沿着忽略的配置问题
1条答案
按热度按时间7fhtutme1#
此“未使用的内容”消息是一个DEBUG/TRACE消息,指示存在违反HTTP/1.1持久连接规则的情况。
根据您的堆栈跟踪,发生的情况是Jenkins上的某些内容正在从请求正文中阅读内容,但没有完全读取所有内容,在网络缓冲区中留下了一些内容。
这违反了持久连接规则,并导致交换完成后连接关闭。
这个堆栈跟踪不会影响您下载映像的能力,因为这是交换的另一半,与这个堆栈跟踪无关。
这种情况经常发生,因此这是一个调试/跟踪级别的消息。您的问题是在其他地方。我建议联系Jenkins社区的一个监控位置,并开始与他们进行故障排除。
https://www.jenkins.io/participate/connect/