Consensys / quorum-acceptance-tests

Acceptance Tests for Quorum
https://github.com/ConsenSys/quorum-acceptance-tests#readme
Apache License 2.0
11 stars 21 forks source link

Flaky Test Private Smart Contract Get #139

Closed VGLoic closed 3 years ago

VGLoic commented 3 years ago

Summary

Flaky test on Acceptance tests (basic || basic-raft || (advanced && raft) || networks/plugins::raft-account-plugin-hashicorp-vault) on GoQuorum master CI/CD. Failed run: https://github.com/ConsenSys/quorum/actions/runs/1291240857.

Acceptance Criteria

Extra note

Error log:

# Private raw smart contract when signed externally
590
  ## Contract is mined   ✔ ✔ ✔ ✔
591
  ## Storage Root storing private smart contracts must be the same   ✔ ✔ ✔
592
  ## Transaction payload is secured  ✔ ✔ ✔ ✔
593
  ## Privacy is enforced between parties     ✔ ✔ ✔ ✔
594
  ## When there's an update, privacy is still enforced   ✔ ✔ ✔ ✘
595
        Failed Step: "contract31"'s `get()` function execution in "Node4" returns "5"
596
        Specification: src/specs/01_basic/externally_signed_private_raw_smart_contract_single.spec:66
597
        Error Message: org.opentest4j.AssertionFailedError: 
598
        Expecting:
599
         <23>
600
        to be equal to:
601
         <5>
602
        but was not.
603
        Stacktrace: 
604
        java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
605
        java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
606
        java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
607
        java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
608
        com.quorum.gauge.PrivateSmartContract.verifyPrivacyWithParticipatedNodes(PrivateSmartContract.java:188)
609
        com.quorum.gauge.PrivateSmartContract$$FastClassBySpringCGLIB$$ca78316f.invoke(<generated>)
610
        org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
611
        org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:771)
612
        org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
613
        org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
614
        org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88)
615
        com.quorum.gauge.services.DebugStepImplementation.logging(DebugStepImplementation.java:52)
616
        jdk.internal.reflect.GeneratedMethodAccessor43.invoke(Unknown Source)
617
        java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
618
        java.base/java.lang.reflect.Method.invoke(Method.java:564)
619
        org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644)
620
        org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633)
621
        org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)
622
        org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)
623
        org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
624
        org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95)
625
        org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
626
        org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
627
        org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691)
628
        com.quorum.gauge.PrivateSmartContract$$EnhancerBySpringCGLIB$$22392cfc.verifyPrivacyWithParticipatedNodes(<generated>)
629
        jdk.internal.reflect.GeneratedMethodAccessor82.invoke(Unknown Source)
630
        java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
631
        java.base/java.lang.reflect.Method.invoke(Method.java:564)
632
        com.thoughtworks.gauge.execution.MethodExecutor.execute(MethodExecutor.java:28)
633
        com.thoughtworks.gauge.execution.StepExecutionStage.executeStepMethod(StepExecutionStage.java:66)
634
        com.thoughtworks.gauge.execution.StepExecutionStage.executeStep(StepExecutionStage.java:59)
635
        com.thoughtworks.gauge.execution.StepExecutionStage.execute(StepExecutionStage.java:41)
636
        com.thoughtworks.gauge.execution.AbstractExecutionStage.executeNext(AbstractExecutionStage.java:14)
637
        com.thoughtworks.gauge.execution.HookExecutionStage.execute(HookExecutionStage.java:33)
638
        com.thoughtworks.gauge.execution.ExecutionPipeline.start(ExecutionPipeline.java:19)
639
        com.thoughtworks.gauge.processor.ExecuteStepProcessor.process(ExecuteStepProcessor.java:44)
640
        com.thoughtworks.gauge.RunnerServiceHandler.lambda$executeStep$7(RunnerServiceHandler.java:166)
641
        java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
642
        java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
643
        java.base/java.lang.Thread.run(Thread.java:832)
VGLoic commented 3 years ago

Similar failure has been observed on tag basic || networks/typical::raftmps on a PR run on QAT

VGLoic commented 3 years ago

Issue should be fixed, see related PR