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 &
相关推荐
ch.ju9 分钟前
Java程序设计(第3版)第二章——函数的递归
java·开发语言
其实防守也摸鱼20 分钟前
ctfshow--Crypto(crypto1-14)解题步骤
java·开发语言·网络·安全·密码学·ctf·ctfshow
Komore31539 分钟前
java 泛型
java·开发语言·泛型
古城小栈1 小时前
Rust 三方库 anyhow:极简错误处理实战指南
java·网络·rust
逻辑驱动的ken1 小时前
Java高频面试考点场景题26
java·开发语言·面试·职场和发展·求职招聘
星辰_mya1 小时前
领域驱动设计(DDD)“老中医”治理订单
java·后端·面试·架构
学习中.........1 小时前
操作系统底层原理、Java API 封装、以及高性能软件架构模式
java·开发语言
IT当时语_青山师__JAVA技术栈2 小时前
动态代理深度解析:JDK与CGLIB底层实现与实战
java·后端·面试