[JIRA] [vsphere-cloud-plugin] (JENKINS-32112) NullPointerExceptions about templates in various places

21 views
Skip to first unread message

nguillaumin@funnelback.com (JIRA)

unread,
Dec 16, 2015, 11:26:02 PM12/16/15
to jenkinsc...@googlegroups.com
Nicolas Guillaumin created an issue
 
Jenkins / Bug JENKINS-32112
NullPointerExceptions about templates in various places
Issue Type: Bug Bug
Assignee: Unassigned
Components: vsphere-cloud-plugin
Created: 17/Dec/15 4:25 AM
Environment: Jenkins v1.1617, vSphere plugin v2.8
Labels: vsphere exception
Priority: Major Major
Reporter: Nicolas Guillaumin

I upgraded to v2.8 and since then I'm getting NPEs in various places, I believe on screens or operations related to slave labels.

In my Jenkins log I get one of those every few seconds:

Dec 17, 2015 3:20:42 PM hudson.triggers.SafeTimerTask run
SEVERE: Timer task hudson.slaves.NodeProvisioner$NodeProvisionerInvoker@2ae01440 failed
java.lang.NullPointerException
        at org.jenkinsci.plugins.vSphereCloud.getTemplate(vSphereCloud.java:176)
        at org.jenkinsci.plugins.vSphereCloud.canProvision(vSphereCloud.java:233)
        at hudson.model.Label.getClouds(Label.java:226)
        at hudson.model.Label.isEmpty(Label.java:430)
        at jenkins.model.Jenkins.getLabels(Jenkins.java:1619)
        at hudson.slaves.NodeProvisioner$NodeProvisionerInvoker.doRun(NodeProvisioner.java:779)
        at hudson.triggers.SafeTimerTask.run(SafeTimerTask.java:51)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

I get a similar exception when I delete a node for example.

Some screens that need to list node labels fail to do so, for example when creating a matrix project where one of the axis is the node, the list of nodes and labels just stays empty. This exception pops up in the logs:

Dec 17, 2015 3:21:35 PM hudson.ExpressionFactory2$JexlExpression evaluate
WARNING: Caught exception evaluating: app.labels.size() gt 1 || app.clouds.size() gt 0 || (it.assignedLabel!=null and it.assignedLabel!=app.selfLabel) in /job/wca-reporter/configure. Reason: java.lang.reflect.InvocationTargetException
java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.apache.commons.jexl.util.PropertyExecutor.execute(PropertyExecutor.java:125)
	at org.apache.commons.jexl.util.introspection.UberspectImpl$VelGetterImpl.invoke(UberspectImpl.java:314)
	at org.apache.commons.jexl.parser.ASTArrayAccess.evaluateExpr(ASTArrayAccess.java:185)
	at org.apache.commons.jexl.parser.ASTIdentifier.execute(ASTIdentifier.java:75)
	at org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:83)
	at org.apache.commons.jexl.parser.ASTReference.value(ASTReference.java:57)
	at org.apache.commons.jexl.parser.ASTGTNode.value(ASTGTNode.java:62)
	at org.apache.commons.jexl.parser.ASTOrNode.value(ASTOrNode.java:55)
	at org.apache.commons.jexl.parser.ASTOrNode.value(ASTOrNode.java:55)
	at org.apache.commons.jexl.parser.ASTExpression.value(ASTExpression.java:54)
	at org.apache.commons.jexl.parser.ASTExpressionExpression.value(ASTExpressionExpression.java:56)
	at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:80)
	at hudson.ExpressionFactory2$JexlExpression.evaluate(ExpressionFactory2.java:74)
	at org.apache.commons.jelly.expression.ExpressionSupport.evaluateRecurse(ExpressionSupport.java:61)
	at org.apache.commons.jelly.expression.ExpressionSupport.evaluateAsBoolean(ExpressionSupport.java:71)
	at org.apache.commons.jelly.tags.core.CoreTagLibrary$1.run(CoreTagLibrary.java:97)
	at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
	at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
	at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
	at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
	at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
	at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
	at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120)
	at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
	at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
	at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
	at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
	at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
	at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
	at org.apache.commons.jelly.tags.core.WhenTag.doTag(WhenTag.java:46)
	at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
	at org.apache.commons.jelly.tags.core.ChooseTag.doTag(ChooseTag.java:38)
	at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
	at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
	at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
	at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:95)
	at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:147)
	at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
	at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
	at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
	at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
	at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
	at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
	at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
	at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.apache.commons.jelly.tags.core.CoreTagLibrary$1.run(CoreTagLibrary.java:98)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
	at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
	at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
	at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
	at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
	at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
	at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120)
	at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
	at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:95)
	at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:63)
	at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:53)
	at org.kohsuke.stapler.jelly.JellyFacet$1.dispatch(JellyFacet.java:95)
	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
	at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:249)
	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
	at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:123)
	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:114)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
	at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:135)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
	at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
	at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
	at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
	at org.eclipse.jetty.server.Server.handle(Server.java:370)
	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
	at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949)
	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011)
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
	at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
	at org.jenkinsci.plugins.vSphereCloud.getTemplate(vSphereCloud.java:176)
	at org.jenkinsci.plugins.vSphereCloud.canProvision(vSphereCloud.java:233)
	at hudson.model.Label.getClouds(Label.java:226)
	at hudson.model.Label.isEmpty(Label.java:430)
	at jenkins.model.Jenkins.getLabels(Jenkins.java:1619)
	... 164 more

In terms of vSphere config, I have 3 vSphere hosts configured, none of them have a template defined.

Add Comment Add Comment
 
This message was sent by Atlassian JIRA (v6.4.2#64017-sha1:e244265)
Atlassian logo

nneul@neulinger.org (JIRA)

unread,
Dec 18, 2015, 3:56:03 PM12/18/15
to jenkinsc...@googlegroups.com
Nathan Neulinger commented on Bug JENKINS-32112
 
Re: NullPointerExceptions about templates in various places

I don't specifically see any comment on this issue - I was seeing this in

JENKINS-32098 and resolution for me was to re-save in jenkins/manage jenkins/configure system to get appropriate values set in the vsphere cloud/advanced/number of slaves fields.

nguillaumin@funnelback.com (JIRA)

unread,
Dec 20, 2015, 5:35:01 PM12/20/15
to jenkinsc...@googlegroups.com

Hi, I think I tried that but it didn't help. I had to downgrade to 2.6 as it was affecting our build so I can't test it anymore, sorry.

trunov.ms@gmail.com (JIRA)

unread,
Dec 25, 2015, 2:36:03 AM12/25/15
to jenkinsc...@googlegroups.com

I had same problems.
I didn't disable\enable\delete slave nodes with 2.8 version of this plugin.
I had downgrade to 2.7 version and no problem anymore.

trunov.ms@gmail.com (JIRA)

unread,
Dec 25, 2015, 2:40:01 AM12/25/15
to jenkinsc...@googlegroups.com
Max Trunov edited a comment on Bug JENKINS-32112
I had same problems.
I didn't disable\enable\delete slave nodes with 2.8 version of this plugin.
Job option 'Restrict where this project can be run' was missing too.
I had downgrade to 2.7 version and no problem anymore.

helder.magalhaes@gmail.com (JIRA)

unread,
Jan 19, 2016, 7:05:05 AM1/19/16
to jenkinsc...@googlegroups.com

I also noticed this error after upgrading from Jenkins 1.638 to 1.644 (vCloud plugin from 2.7 to 2.9).

> resolution for me was to re-save in jenkins/manage jenkins/configure system to get appropriate values set in the vsphere cloud/advanced/number of slaves fields.

Similarly, I was able to workaround the issue by:
1. Go to Jenkins, Manage Jenkins, Configure
2. Scroll down to Cloud, vSphere Cloud
3. In Slave Templates, press Add
(one may leave the contents blank)
4. Press Save to persist configuration

Back to project configuration, no more ERROR displayed.

Vitalius.Marcinkevicius@virtustream.com (JIRA)

unread,
Jun 11, 2016, 5:15:02 AM6/11/16
to jenkinsc...@googlegroups.com

In my environment Jenkins fails on vsphere-cloud plugin upgrade from v2.7 to any later version (currently v.2.13) with following error:

hudson.util.HudsonFailedToLoad: org.jvnet.hudson.reactor.ReactorException: java.lang.NullPointerException
at hudson.WebAppMain$3.run(WebAppMain.java:239)
Caused by: org.jvnet.hudson.reactor.ReactorException: java.lang.NullPointerException
at org.jvnet.hudson.reactor.Reactor.execute(Reactor.java:269)
at jenkins.InitReactorRunner.run(InitReactorRunner.java:44)
at jenkins.model.Jenkins.executeReactor(Jenkins.java:969)
at jenkins.model.Jenkins.<init>(Jenkins.java:850)
at hudson.model.Hudson.<init>(Hudson.java:85)
at hudson.model.Hudson.<init>(Hudson.java:81)
at hudson.WebAppMain$3.run(WebAppMain.java:227)


Caused by: java.lang.NullPointerException
at org.jenkinsci.plugins.vSphereCloud.getTemplate(vSphereCloud.java:176)
at org.jenkinsci.plugins.vSphereCloud.canProvision(vSphereCloud.java:233)

at hudson.model.Label.getClouds(Label.java:227)
at hudson.model.Label.isEmpty(Label.java:435)
at jenkins.model.Jenkins.trimLabels(Jenkins.java:1837)
at jenkins.model.Nodes$7.run(Nodes.java:305)
at hudson.model.Queue._withLock(Queue.java:1312)
at hudson.model.Queue.withLock(Queue.java:1189)
at jenkins.model.Nodes.load(Nodes.java:295)
at jenkins.model.Jenkins$17.run(Jenkins.java:2744)
at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)
at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:282)
at jenkins.model.Jenkins$8.runTask(Jenkins.java:958)
at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:210)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

pjdarton@gmail.com (JIRA)

unread,
Sep 8, 2016, 11:12:08 AM9/8/16
to jenkinsc...@googlegroups.com
pjdarton started work on Bug JENKINS-32112
 
Change By: pjdarton
Status: Open In Progress
This message was sent by Atlassian JIRA (v7.1.7#71011-sha1:2526d7c)
Atlassian logo

pjdarton@gmail.com (JIRA)

unread,
Sep 8, 2016, 11:12:10 AM9/8/16
to jenkinsc...@googlegroups.com

pjdarton@gmail.com (JIRA)

unread,
Sep 8, 2016, 11:19:01 AM9/8/16
to jenkinsc...@googlegroups.com
pjdarton commented on Bug JENKINS-32112
 
Re: NullPointerExceptions about templates in various places

This is caused by a failure to check that the list of templates isn't null before attempting to iterate over them.
If there's at least one template defined (in each vSphere cloud) then the bug won't appear (which is why that works as a workaround) but for users who aren't using templates that's not ideal...

I've got a fix for this as part of JENKINS-36878 - if the code changes for that are accepted, this one will be fixed too.

pjdarton@gmail.com (JIRA)

unread,
Sep 8, 2016, 12:47:04 PM9/8/16
to jenkinsc...@googlegroups.com

scm_issue_link@java.net (JIRA)

unread,
Sep 9, 2016, 9:54:02 AM9/9/16
to jenkinsc...@googlegroups.com
SCM/JIRA link daemon commented on Bug JENKINS-32112
 
Re: NullPointerExceptions about templates in various places

Code changed in jenkins
User: Peter Darton
Path:
src/main/java/org/jenkinsci/plugins/vSphereCloud.java
src/main/java/org/jenkinsci/plugins/vSphereCloudProvisionedSlave.java
src/main/java/org/jenkinsci/plugins/vSphereCloudSlaveTemplate.java
src/main/java/org/jenkinsci/plugins/vsphere/tools/CloudProvisioningAlgorithm.java
src/main/java/org/jenkinsci/plugins/vsphere/tools/CloudProvisioningRecord.java
src/main/java/org/jenkinsci/plugins/vsphere/tools/CloudProvisioningState.java
src/test/java/org/jenkinsci/plugins/vsphere/tools/CloudProvisioningAlgorithmTest.java
src/test/java/org/jenkinsci/plugins/vsphere/tools/CloudProvisioningStateTest.java
http://jenkins-ci.org/commit/vsphere-cloud-plugin/4310c6cfa453fe59882406c821f0bb0c61173d26
Log:
Bugfix: JENKINS-36878: vSphere now respects per-slave instance cap.
Bugfix: JENKINS-32112: NPE bug in vSphere.getTemplate().
Enhancement: vSphere.java now distributes load over all matching
templates. This satisfies JENKINS-30203 if Jenkins is configured with a
template.
Correction: Jenkins UI no longer offers facility to manually create a
Cloud-provisioned slave (the cloud provisions those itself). Normal
vSphere slaves are still manually provisionable.
Cleaned up logging in vSphere.java.
Typo in vSphereCloudSlaveTemplate: getNumberOfExceutors ->
getNumberOfExecutors.

scm_issue_link@java.net (JIRA)

unread,
Sep 9, 2016, 9:54:04 AM9/9/16
to jenkinsc...@googlegroups.com

Code changed in jenkins
User: Jason Swager
Path:
src/main/java/org/jenkinsci/plugins/vSphereCloud.java
src/main/java/org/jenkinsci/plugins/vSphereCloudLauncher.java


src/main/java/org/jenkinsci/plugins/vSphereCloudProvisionedSlave.java
src/main/java/org/jenkinsci/plugins/vSphereCloudSlaveTemplate.java
src/main/java/org/jenkinsci/plugins/vsphere/tools/CloudProvisioningAlgorithm.java
src/main/java/org/jenkinsci/plugins/vsphere/tools/CloudProvisioningRecord.java
src/main/java/org/jenkinsci/plugins/vsphere/tools/CloudProvisioningState.java

src/main/resources/org/jenkinsci/plugins/vSphereCloudSlaveTemplate/config.jelly
src/test/java/org/jenkinsci/plugins/vsphere/tools/CloudProvisioningAlgorithmTest.java
src/test/java/org/jenkinsci/plugins/vsphere/tools/CloudProvisioningStateTest.java
http://jenkins-ci.org/commit/vsphere-cloud-plugin/1e87f49a9aeda83f9c0a0306fc4bad6bacff403b
Log:
Merge pull request #48 from pjdarton/fix_jenkins_36878

Fix JENKINS-36878 and JENKINS-32112

Compare: https://github.com/jenkinsci/vsphere-cloud-plugin/compare/19e12f7c00ca...1e87f49a9aed

pjdarton@gmail.com (JIRA)

unread,
Sep 9, 2016, 11:13:02 AM9/9/16
to jenkinsc...@googlegroups.com
 

Fixed in the next release (probably 2.14).

Change By: pjdarton
Status: In Review Resolved
Resolution: Fixed
Reply all
Reply to author
Forward
0 new messages