[JIRA] (JENKINS-58316) Unable to create history entry for configuration file of node

5 views
Skip to first unread message

paul.spencer@thomsons.com (JIRA)

unread,
Jul 3, 2019, 6:23:03 AM7/3/19
to jenkinsc...@googlegroups.com
Paul Spencer created an issue
 
Jenkins / Bug JENKINS-58316
Unable to create history entry for configuration file of node
Issue Type: Bug Bug
Assignee: Stefan Brausch
Components: jobconfighistory-plugin
Created: 2019-07-03 10:22
Environment: Live
Labels: jenkins slave windows exception pipeline plugin
Priority: Blocker Blocker
Reporter: Paul Spencer

This is affecting some QA environments, but also live when trying to add lots of new slaves. This was not happening on previous Jenkins verison 2.73 with jobconfighistory plugin version 2.18. We are currently on Jenkins 2.164.2 and plugin version 2.21.

 

This seems to be a random failure, after 4 attempts of deploying to live last night to get the slaves on, I rebooted jenkins server and then all the slaves were created and deployment ran in fine.

 

If I look in the Jenkins Node folder I can see a new folder has been created but no config.xml alon with an entry in the config-history\nodes folder but again nothing in there. I can see the slave in jenkins for the new node as well and if I modify it It will then create a config.xml

 

java.lang.RuntimeException: Unable to create history entry for configuration file of node UKN-WEB44java.lang.RuntimeException: Unable to create history entry for configuration file of node xxxxxxxx at hudson.plugins.jobConfigHistory.FileHistoryDao.createNewHistoryEntry(FileHistoryDao.java:1033) at hudson.plugins.jobConfigHistory.FileHistoryDao.createNewHistoryEntryAndSaveConfig(FileHistoryDao.java:902) at hudson.plugins.jobConfigHistory.FileHistoryDao.createNewNode(FileHistoryDao.java:888) at hudson.plugins.jobConfigHistory.ComputerHistoryListener.onAdd(ComputerHistoryListener.java:89) at hudson.plugins.jobConfigHistory.ComputerHistoryListener.onConfigurationChange(ComputerHistoryListener.java:65) at hudson.model.AbstractCIBase.updateComputerList(AbstractCIBase.java:232) at jenkins.model.Jenkins.updateComputerList(Jenkins.java:1581) at jenkins.model.Nodes$2.run(Nodes.java:138) at hudson.model.Queue._withLock(Queue.java:1381) at hudson.model.Queue.withLock(Queue.java:1258) at jenkins.model.Nodes.addNode(Nodes.java:134) at jenkins.model.Jenkins.addNode(Jenkins.java:2089) at jenkins.model.Jenkins$addNode$10.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) at RemoteClass.run(RemoteClass:23) at groovy.lang.GroovyShell.runScriptOrMainOrTestOrRunnable(GroovyShell.java:263) at groovy.lang.GroovyShell.run(GroovyShell.java:518) at groovy.lang.GroovyShell.run(GroovyShell.java:497) at hudson.cli.GroovyCommand.run(GroovyCommand.java:89) at hudson.cli.CLICommand.main(CLICommand.java:283) at hudson.cli.CliManagerImpl.main(CliManagerImpl.java:95) at sun.reflect.GeneratedMethodAccessor520.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:929) at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:903) at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:855) at hudson.remoting.UserRequest.perform(UserRequest.java:212) at hudson.remoting.UserRequest.perform(UserRequest.java:54) at hudson.remoting.Request$2.run(Request.java:369) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) at hudson.cli.CliManagerImpl$1.call(CliManagerImpl.java:66) at hudson.remoting.CallableDecoratorAdapter.call(CallableDecoratorAdapter.java:18) at hudson.remoting.CallableDecoratorList$1.call(CallableDecoratorList.java:21) at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46) at jenkins.security.ImpersonatingExecutorService$2.call(ImpersonatingExecutorService.java:71) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)

 

 

Add Comment Add Comment
 
This message was sent by Atlassian Jira (v7.11.2#711002-sha1:fdc329d)

paul.spencer@thomsons.com (JIRA)

unread,
Jul 3, 2019, 6:24:02 AM7/3/19
to jenkinsc...@googlegroups.com
Paul Spencer updated an issue
Change By: Paul Spencer
This is affecting some QA environments, but also live when trying to add lots of new slaves. This was not happening on previous Jenkins verison 2.73 with jobconfighistory plugin version 2.18. We are currently on Jenkins 2.164.2 and plugin version 2.21.

 

This seems to be a random failure, after 4 attempts of deploying to live last night to get the slaves on, I rebooted jenkins server and then all the slaves were created and deployment ran in fine.

 

If I look in the Jenkins Node folder I can see a new folder has been created but no config.xml alon with an entry in the config-history\nodes folder but again nothing in there. I can see the slave in jenkins for the new node as well and if I modify it It will then create a config.xml

 

java.lang.RuntimeException: Unable to create history entry for configuration file of node UKN-WEB44java xxxxxx java .lang.RuntimeException: Unable to create history entry for configuration file of node xxxxxxxx at hudson.plugins.jobConfigHistory.FileHistoryDao.createNewHistoryEntry(FileHistoryDao.java:1033) at hudson.plugins.jobConfigHistory.FileHistoryDao.createNewHistoryEntryAndSaveConfig(FileHistoryDao.java:902) at hudson.plugins.jobConfigHistory.FileHistoryDao.createNewNode(FileHistoryDao.java:888) at hudson.plugins.jobConfigHistory.ComputerHistoryListener.onAdd(ComputerHistoryListener.java:89) at hudson.plugins.jobConfigHistory.ComputerHistoryListener.onConfigurationChange(ComputerHistoryListener.java:65) at hudson.model.AbstractCIBase.updateComputerList(AbstractCIBase.java:232) at jenkins.model.Jenkins.updateComputerList(Jenkins.java:1581) at jenkins.model.Nodes$2.run(Nodes.java:138) at hudson.model.Queue._withLock(Queue.java:1381) at hudson.model.Queue.withLock(Queue.java:1258) at jenkins.model.Nodes.addNode(Nodes.java:134) at jenkins.model.Jenkins.addNode(Jenkins.java:2089) at jenkins.model.Jenkins$addNode$10.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) at RemoteClass.run(RemoteClass:23) at groovy.lang.GroovyShell.runScriptOrMainOrTestOrRunnable(GroovyShell.java:263) at groovy.lang.GroovyShell.run(GroovyShell.java:518) at groovy.lang.GroovyShell.run(GroovyShell.java:497) at hudson.cli.GroovyCommand.run(GroovyCommand.java:89) at hudson.cli.CLICommand.main(CLICommand.java:283) at hudson.cli.CliManagerImpl.main(CliManagerImpl.java:95) at sun.reflect.GeneratedMethodAccessor520.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:929) at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:903) at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:855) at hudson.remoting.UserRequest.perform(UserRequest.java:212) at hudson.remoting.UserRequest.perform(UserRequest.java:54) at hudson.remoting.Request$2.run(Request.java:369) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) at hudson.cli.CliManagerImpl$1.call(CliManagerImpl.java:66) at hudson.remoting.CallableDecoratorAdapter.call(CallableDecoratorAdapter.java:18) at hudson.remoting.CallableDecoratorList$1.call(CallableDecoratorList.java:21) at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46) at jenkins.security.ImpersonatingExecutorService$2.call(ImpersonatingExecutorService.java:71) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)

 

 

robin.richard.schulz@gmail.com (JIRA)

unread,
Aug 21, 2019, 7:49:02 AM8/21/19
to jenkinsc...@googlegroups.com
Robin Schulz commented on Bug JENKINS-58316
 
Re: Unable to create history entry for configuration file of node

This RuntimeException has its origin in XmlFile::write(Object):
[https://github.com/jenkinsci/jenkins/blob/jenkins-2.164.2/core/src/main/java/hudson/XmlFile.java#L185
](identical to current master)

The implementation of this method has changed since your last version (2.73):
https://github.com/jenkinsci/jenkins/blob/stable-2.73/core/src/main/java/hudson/XmlFile.java#L166

So this likely is induced by changes on the core's side.
Since i can't reproduce this I will improve the error message to contain the original message.

 

Reply all
Reply to author
Forward
0 new messages