Failed to create a temp file - Jenkins 无法创建任务

近日,突然发现任务集群的jenkins异常退出了,没有任何的迹象。后来排查到jenkins的job的日志后,找到了以下错误日志。

复制代码
Started by user unknown or anonymous
Running as SYSTEM
Building in workspace /Users/xxxxx/work/jenkins2/jenkins_home/workspace/xxxx_1731652075874
FATAL: Unable to produce a script file
Also:   java.nio.charset.UnmappableCharacterException: Input length = 1
		at java.base/java.nio.charset.CoderResult.throwException(CoderResult.java:275)
		at java.base/sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:307)
		at java.base/sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:282)
		at java.base/sun.nio.cs.StreamEncoder.write(StreamEncoder.java:132)
		at java.base/java.io.OutputStreamWriter.write(OutputStreamWriter.java:205)
		at java.base/java.io.BufferedWriter.flushBuffer(BufferedWriter.java:120)
		at java.base/java.io.BufferedWriter.close(BufferedWriter.java:268)
		at hudson.FilePath$CreateTextTempFile.invoke(FilePath.java:1650)
java.nio.charset.UnmappableCharacterException: Input length = 1
	at java.base/java.nio.charset.CoderResult.throwException(CoderResult.java:275)
	at java.base/sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:307)
	at java.base/sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:282)
	at java.base/sun.nio.cs.StreamEncoder.write(StreamEncoder.java:132)
	at java.base/java.io.OutputStreamWriter.write(OutputStreamWriter.java:205)
	at java.base/java.io.BufferedWriter.flushBuffer(BufferedWriter.java:120)
	at java.base/java.io.BufferedWriter.write(BufferedWriter.java:233)
	at java.base/java.io.Writer.write(Writer.java:249)
	at hudson.FilePath$CreateTextTempFile.invoke(FilePath.java:1651)
	at hudson.FilePath$CreateTextTempFile.invoke(FilePath.java:1622)
	at hudson.FilePath.act(FilePath.java:1192)
	at hudson.FilePath.act(FilePath.java:1175)
	at hudson.FilePath.createTextTempFile(FilePath.java:1616)
Caused: java.io.IOException: Failed to create a temp file

经过一番查找后,才发现是jenkins的一个bug引起,且可以通过增加Java Opts的一个文件编码的命令行参数解决:

复制代码
-Dfile.encoding=UTF8

复制代码
nohup java $SERVICE_OPTS -Dfile.encoding=UTF8  -jar $HOME/work/jenkins2/jenkins.war --httpPort=8080 > jenkins.log 2>&1 &
相关推荐
RainbowSea8 分钟前
NVM 切换 Node 版本工具的超详细安装说明
java·前端
逆风局?10 分钟前
Maven高级——分模块设计与开发
java·maven
周某某~12 分钟前
maven详解
java·maven
读书点滴14 分钟前
笨方法学python -练习14
java·前端·python
lingRJ77715 分钟前
微服务架构下的抉择:Consul vs. Eureka,服务发现该如何选型?
java·eureka·springcloud·consul·backend·microservices·servicediscovery
RainbowSea15 分钟前
问题:后端由于字符内容过长,前端展示精度丢失修复
java·spring boot·后端
C1829818257518 分钟前
OOM电商系统订单缓存泄漏,这是泄漏还是溢出
java·spring·缓存
风象南32 分钟前
SpringBoot 控制器的动态注册与卸载
java·spring boot·后端
我是一只代码狗1 小时前
springboot中使用线程池
java·spring boot·后端
hello早上好1 小时前
JDK 代理原理
java·spring boot·spring