Sore error conditions are not detected and then puts the job in a certain state that causes other plugins that don't have good error checking to fail. (This is related to JENKINS-30466)
e.g. P4 Task: syncing files at change: 142720 ... p4 sync c:\jenkins\workspace__atf_int_mlb_0/...@142720 + duration: (519ms)
P4 Task: unshelve review: 142711 ... p4 unshelve -f -s142711 -cdefault + ... p4 revert -k c:\jenkins\workspace__atf_int_mlb_0/... + ... duration: (35ms) P4 Task: saving built changes. ... p4 client -o __atf_int_mlb_0_jenkins_p4_2_mlb-TEST-gb-mlb-dt-018 + ... p4 change -o 142711 + Unable to get changes: com.perforce.p4java.exception.RequestException: Change 142711 unknown.
... p4 client -o __atf_int_mlb_0_jenkins_p4_2_mlb-TEST-gb-mlb-dt-018 + ... p4 change -o 142711 + Unable to get changes: com.perforce.p4java.exception.RequestException: Change 142711 unknown.
... done
Maybe the user has deleted the shelved changes or even deleted the cl, or if the shelved cl is on a stream where it can't be handled.
Anyway, the plugin is not in a bad state, it doesn't inform the job so the normal builds steps go.
When the plugin is in this state the job fails at the end with the following: FATAL: null java.lang.NullPointerException Collecting metadata... Metadata collection done. Finished: FAILURE
The Jenkins log show the following: Sep 16, 2015 9:43:32 AM org.apache.commons.jelly.expression.jexl.JexlExpression evaluate WARNING: Caught exception evaluating: cs.affectedFiles. Reason: java.lang.reflect.InvocationTargetException java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedMethodAccessor688.invoke(Unknown Source) 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.ASTReferenceExpression.value(ASTReferenceExpression.java:51) at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:80) at org.apache.commons.jelly.expression.jexl.JexlExpression.evaluate(JexlExpression.java:69) at org.apache.commons.jelly.expression.jexl.JexlExpressionFactory$ExpressionSupportLocal.evaluate(JexlExpressionFactory.java:122) at org.apache.commons.jelly.expression.ExpressionSupport.evaluateRecurse(ExpressionSupport.java:61) at org.apache.commons.jelly.expression.ExpressionSupport.evaluateAsIterator(ExpressionSupport.java:94) at org.apache.commons.jelly.tags.core.ForEachTag.doTag(ForEachTag.java:89) 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.ForEachTag.doTag(ForEachTag.java:150) 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.impl.StaticTag.doTag(StaticTag.java:65) at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:124) 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.TagSupport.invokeBody(TagSupport.java:161) at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:65) at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:124) 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 hudson.plugins.emailext.plugins.content.JellyScriptContent.convert(JellyScriptContent.java:158) at hudson.plugins.emailext.plugins.content.JellyScriptContent.renderContent(JellyScriptContent.java:149) at hudson.plugins.emailext.plugins.content.JellyScriptContent.evaluate(JellyScriptContent.java:58) at org.jenkinsci.plugins.tokenmacro.DataBoundTokenMacro.evaluate(DataBoundTokenMacro.java:189) at org.jenkinsci.plugins.tokenmacro.TokenMacro.expand(TokenMacro.java:182) at org.jenkinsci.plugins.tokenmacro.TokenMacro.expandAll(TokenMacro.java:233) at hudson.plugins.emailext.plugins.ContentBuilder.transformText(ContentBuilder.java:72) at hudson.plugins.emailext.ExtendedEmailPublisher.getContent(ExtendedEmailPublisher.java:659) at hudson.plugins.emailext.ExtendedEmailPublisher.createMail(ExtendedEmailPublisher.java:538) at hudson.plugins.emailext.ExtendedEmailPublisher.sendMail(ExtendedEmailPublisher.java:306) at hudson.plugins.emailext.ExtendedEmailPublisher._perform(ExtendedEmailPublisher.java:297) at hudson.plugins.emailext.ExtendedEmailPublisher.perform(ExtendedEmailPublisher.java:244) at org.jenkins_ci.plugins.run_condition.BuildStepRunner$2.run(BuildStepRunner.java:110) at org.jenkins_ci.plugins.run_condition.BuildStepRunner$Fail.conditionalRun(BuildStepRunner.java:154) at org.jenkins_ci.plugins.run_condition.BuildStepRunner.perform(BuildStepRunner.java:105) at org.jenkins_ci.plugins.flexible_publish.ConditionalPublisher.perform(ConditionalPublisher.java:183) at org.jenkins_ci.plugins.flexible_publish.FlexiblePublisher.perform(FlexiblePublisher.java:116) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:770) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:734) at hudson.model.Build$BuildExecution.post2(Build.java:183) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:683) at hudson.model.Run.execute(Run.java:1783) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:89) at hudson.model.Executor.run(Executor.java:240) Caused by: java.lang.UnsupportedOperationException: getAffectedFiles() is not implemented by this SCM at hudson.scm.ChangeLogSet$Entry.getAffectedFiles(ChangeLogSet.java:242) ... 59 more
I think the email plugin is trying to get the list of users and this is null (and it doesn't do very good checking?)
The Jenkins summary page shows: Summary Of Changes - View Detail No connection to Perforce.
|