[JIRA] (OVIRT-1626) Java Excpetion during CQ tester pipeline run

Barak Korren (oVirt JIRA) jira at ovirt-jira.atlassian.net
Mon Sep 4 06:15:04 UTC 2017


Barak Korren created OVIRT-1626:
-----------------------------------

             Summary: Java Excpetion during CQ tester pipeline run
                 Key: OVIRT-1626
                 URL: https://ovirt-jira.atlassian.net/browse/OVIRT-1626
             Project: oVirt - virtualization made easy
          Issue Type: New Feature
          Components: oVirt CI
            Reporter: Barak Korren
            Assignee: infra
            Priority: High


The following 'ovirt-master_change-queue-tester' run failed with a Java exception:
http://jenkins.ovirt.org/job/ovirt-master_change-queue-tester/2257/

The exception seen in blue ocean is the following:
{code}
Stashed 1 file(s)

Failed to serialize org.jenkinsci.plugins.workflow.support.storage.SimpleXStreamFlowNodeStorage$Tag#actions for class org.jenkinsci.plugins.workflow.support.storage.SimpleXStreamFlowNodeStorage$Tag
{code}

In the job console one can see a different exception:
{code}
java.lang.InterruptedException
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1302)
	at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:275)
	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:111)
	at org.jenkinsci.plugins.workflow.cps.CpsStepContext.getThreadGroupSynchronously(CpsStepContext.java:248)
	at org.jenkinsci.plugins.workflow.cps.CpsStepContext.getThreadSynchronously(CpsStepContext.java:237)
	at org.jenkinsci.plugins.workflow.cps.CpsStepContext.doGet(CpsStepContext.java:298)
	at org.jenkinsci.plugins.workflow.support.DefaultStepContext.get(DefaultStepContext.java:61)
	at org.jenkinsci.plugins.workflow.steps.StepDescriptor.checkContextAvailability(StepDescriptor.java:258)
	at org.jenkinsci.plugins.workflow.cps.DSL.invokeStep(DSL.java:203)
	at org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:150)
	at org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript.java:108)
	at groovy.lang.MetaClassImpl.invokeMethodOnGroovyObject(MetaClassImpl.java:1283)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1177)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1027)
	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:42)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
	at com.cloudbees.groovy.cps.sandbox.DefaultInvoker.methodCall(DefaultInvoker.java:19)
	at Script1.mk_ost_runner(Script1.groovy:300)
	at ___cps.transform___(Native Method)
	at com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall(ContinuationGroup.java:57)
	at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:109)
	at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixArg(FunctionCallBlock.java:82)
	at sun.reflect.GeneratedMethodAccessor613.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
	at com.cloudbees.groovy.cps.impl.ClosureBlock.eval(ClosureBlock.java:46)
	at com.cloudbees.groovy.cps.Next.step(Next.java:83)
	at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:173)
	at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:162)
	at org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:122)
	at org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:261)
	at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:162)
	at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:174)
	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:330)
	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$100(CpsThreadGroup.java:82)
	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:242)
	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:230)
	at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:64)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:112)
	at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Finished: FAILURE
{code}

The exception in the console seem to indicate that the exception is in line 300 of the pipeline script in the mk_ost_runner funtction. Here is the code of the function for reference:
{code}
    289 def mk_ost_runner(ovirt_release, suit_type, distro) {
    290     return {
    291         def suit_dir = "$suit_type-suit-$ovirt_release-$distro"
    292         // stash an empty file so we don`t get errors in no artifacts get stashed
    293         writeFile file: '__no_artifacts_stashed__', text: ''
    294         stash includes: '__no_artifacts_stashed__', name: suit_dir
    295         try {
    296             node('integ-tests') {
    297                 run_ost_on_node(ovirt_release, suit_type, distro, suit_dir)
    298             }
    299         } finally {
    300             dir("exported-artifacts/$suit_dir") {
    301                 unstash suit_dir
    302             }
    303         }
    304     }
    305 }
{code}

It looks like the exception seen in the console is a secondary exception that happens because of the failure to stash some files earlier in the code inside the {{basic-suit}} run branch as indicated in the blue ocean display. Looking further at the log, we can fined the following which aligns with what we see in blue ocean (Lines that belong to other run branches had been removed):
{code}
19:40:55 Will run the following OST (master) suits: basic, upgrade-from-release, upgrade-from-prevrelease
[Pipeline] [basic-suit] { (Branch: basic-suit)
[Pipeline] [basic-suit] writeFile
[Pipeline] [basic-suit] stash
19:40:55 [basic-suit] Stashed 1 file(s)
[Pipeline] [basic-suit] node
[Pipeline] [basic-suit] // dir
[Pipeline] [basic-suit] }
19:47:04 [basic-suit] Failed in branch basic-suit
{code}

>From the log above it seems that the actual failure is around line 294 if the function quoted above.



--
This message was sent by Atlassian {0}
(v1001.0.0-SNAPSHOT#100059)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ovirt.org/pipermail/infra/attachments/20170904/26bda949/attachment-0001.html>


More information about the Infra mailing list