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 &
相关推荐
星沉远浦39 分钟前
用Gemini高效解决Java代码报错难以定位的问题
java
用户298698530144 小时前
Word 文档字符级格式化:Java 实现方案详解
java·后端
笨鸟飞不快5 小时前
从单个服务到集群:一次完整的性能排查复盘
java·前端
荣码5 小时前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
SamDeepThinking5 小时前
Java微服务练习方式
java·后端·微服务
朦胧之15 小时前
AI 编程-老项目改造篇
java·前端·后端
程序猿大帅20 小时前
别再只当调包侠了:用 Spring AI 落地 Function Calling,我被大模型硬生生砸出了三个大坑
java
程序员晓琪21 小时前
约定大于配置:基于 Java 包名自动生成 API 版本路由的最佳实践
java·spring boot·后端
Flittly21 小时前
【AgentScope Java新手村系列】(11)中断与恢复
java·spring boot·spring
众少成多积小致巨21 小时前
JNI (Java Native Interface) 技术手册中文参考指南
android·java·c++