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

devtools/2024/11/18 22:35:12/

近日,突然发现任务集群的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 = 1at 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 = 1at 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 &

http://www.ppmy.cn/devtools/135052.html

相关文章

Linux下编译MFEM

本文记录在Linux下编译MFEM的过程。 零、环境 操作系统Ubuntu 22.04.4 LTSVS Code1.92.1Git2.34.1GCC11.4.0CMake3.22.1Boost1.74.0oneAPI2024.2.1 一、安装依赖 二、编译代码 附录I: CMakeUserPresets.json {"version": 4,"configurePresets": [{&quo…

css:盒子模型

目录 盒子模型 边框(border) 内边距(padding) 外边距(margin) 盒子模型,浮动,定位 把一只大象塞进冰箱里需要三步:打开冰箱门,把大象塞进去,…

设计模式之工厂模式,但是宝可梦

前言 工作一年了,业务代码写太多,还是得自驱提升点技术。希望工作一年后写出来的能有更多自己的思考。 正文 工厂模式是一种创建型设计模式,主要的目的还是在创建一个对象时提供更灵活、更易扩展的机制。 简单工厂模式 情景模拟 小智到商…

蓝桥杯每日真题 - 第15天

题目:(钟表) 题目描述(13届 C&C B组B题) 解题思路: 理解钟表指针的运动: 秒针每分钟转一圈,即每秒转6度。 分针每小时转一圈,即每分钟转6度。 时针每12小时转一圈…

c++数字雨实现

‌数字雨‌是一种视觉效果,通常出现在黑客电影中,表现为屏幕上不断下落的数字和字符,营造出一种科技感和动态效果。‌12 数字雨的实现方法 ‌编程实现‌:可以使用C/C编程语言来实现数字雨效果。通过定义一个字符串数组&#xff0…

刘铁猛C#入门 024 类的声明,继承和访问控制

类声明的全貌 C#声明类的位置 声明既定义(C#与Java) 类的修饰符 最简单的类声明 类的访间控制 :默认internal 共性 public 和 internal 都是访问修饰符,用于定义一个类型的成员可以被谁访问。它们都可以用来声明类、结构、接口、枚举、字段、方法、…

Docker环境搭建Cloudreve网盘服务(附shell脚本一键搭建)

Docker搭建Cloudreve Cloudreve介绍: Cloudreve 是一个基于 ThinkPHP 框架构建的开源网盘系统,旨在帮助用户以较低的成本快速搭建起既能满足个人也能满足企业需求的网盘服务。Cloudreve 支持多种存储介质,包括但不限于本地存储、阿里云OSS、…

第8章 利用CSS制作导航菜单

8.1 水平顶部导航栏 水平莱单导航栏是网站设计中应用范围最广的导航设计,一般放置在页面的顶部。水平 导航适用性强,几乎所有类型的网站都可以使用,设计难度较低。 如果导航过于普通,无法容纳复杂的信息结构,就需要在…