Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Evaluation] [Performance] Ditch 'NamedDeBruijn' in favor of 'DeBruijn' #6706

Closed

[Evaluation] [Performance] Ditch 'NamedDeBruijn' in favor of 'DeBruijn'

4a6c11a
Select commit
Loading
Failed to load commit list.
Closed

[Evaluation] [Performance] Ditch 'NamedDeBruijn' in favor of 'DeBruijn' #6706

[Evaluation] [Performance] Ditch 'NamedDeBruijn' in favor of 'DeBruijn'
4a6c11a
Select commit
Loading
Failed to load commit list.
IOG Hydra / ci/hydra-build:x86_64-darwin.ghc810.checks.plutus-core:test:plutus-ir-test failed Nov 25, 2024 in 7s

Build failed

1 failed steps

Details

Failed Steps

Step 1

Derivation

/nix/store/rjswilqy700zkwrzkqr3xx19hkpsxzyp-plutus-core-test-plutus-ir-test-1.36.0.0-check.drv

Log

Running phase: unpackPhase
unpacking source archive /nix/store/6yr7c7s2na6hgdbi7xzg5w0x2k4ybk4i-source-plutus-core-test-plutus-ir-test-root
source root is source-plutus-core-test-plutus-ir-test-root
Running phase: patchPhase
Running phase: buildPhase
/nix/store/gxl0b0hdpf53i54izbc1mqy5hvq9gq5n-plutus-core-test-plutus-ir-test-1.36.0.0/bin:
patching script interpreter paths in /private/tmp/nix-build-plutus-core-test-plutus-ir-test-1.36.0.0-check.drv-0/tmp.qbkmvlcrFy/bin
plutus-ir/test/Driver.hs
  PlutusCore.Generators.QuickCheck
    BuiltinsTests
      genData:                                                                        OK (0.36s)
        +++ OK, passed 800 tests.
    SubstitutionTests
      unify:                                                                          OK (0.22s)
        +++ OK, passed 500 tests; 3542 discarded.
        
        sizes (500 in total):
        76.0% 1
        20.8% 0
         3.0% 2
         0.2% 3
      unifyRename:                                                                    OK (0.01s)
        +++ OK, passed 100 tests.
      substType:                                                                      OK (0.18s)
        +++ OK, passed 1000 tests.
    TypesTests
      genKindCorrect:                                                                 OK (0.04s)
        +++ OK, passed 1000 tests.
      shrinkTypeSound:                                                                OK (0.08s)
        +++ OK, passed 500 tests.
      shrinkTypeSmallerKind:                                                          OK (0.12s)
        +++ OK, passed 3000 tests.
      shrinkKindSmaller:                                                              OK (0.04s)
        +++ OK, passed 30000 tests.
      fixKind:                                                                        OK (0.38s)
        +++ OK, passed 10000 tests.
      normalizedTypeIsNormal:                                                         OK (0.03s)
        +++ OK, passed 1000 tests.
  PlutusIR
    Analysis.RetainedSize.Tests
      RetainedSize
        typeLet:                                                                      OK
        termLet:                                                                      OK
        strictLet:                                                                    OK
        nonstrictLet:                                                                 OK (0.05s)
        datatypeLiveType:                                                             OK
        datatypeLiveConstr:                                                           OK (0.04s)
        datatypeLiveDestr:                                                            OK
        datatypeDead:                                                                 OK
        singleBinding:                                                                OK (0.05s)
        builtinBinding:                                                               OK (0.05s)
        etaBuiltinBinding:                                                            OK
        etaBuiltinBindingUsed:                                                        OK
        nestedBindings:                                                               OK
        nestedBindingsIndirect:                                                       OK
        recBindingSimple:                                                             OK (0.04s)
        recBindingComplex:                                                            OK (0.04s)
    Check.Uniques.Tests
      shadowed:                                                                       OK
      multiplyDefined:                                                                OK
      shadowedInLet:                                                                  OK
    Compiler
      Datatype.Tests
        Datatype
          maybe:                                                                      OK (0.07s)
          listMatch:                                                                  OK (0.05s)
          idleAll:                                                                    OK
          some:                                                                       OK (0.03s)
          listMatchEval:                                                              FAIL (0.03s)
            Prelude.undefined
            CallStack (from HasCallStack):
              error, called at libraries/base/GHC/Err.hs:79:14 in base:GHC.Err
              undefined, called at untyped-plutus-core/src/UntypedPlutusCore/Evaluation/Machine/CommonAPI.hs:102:10 in plutus-core-1.36.0.0-EMRucdZH55bBJXJWOGfvaE:UntypedPlutusCore.Evaluation.Machine.CommonAPI
            Use -p '/listMatchEval/' to rerun this test only.
          dataEscape:                                                                 OK
          scott
            maybe:                                                                    OK (0.03s)
            listMatch:                                                                OK (0.08s)
      Error.Tests
        Error
          mutuallyRecursiveTypes:                                                     OK (0.06s)
          recursiveTypeBind:                                                          OK
      Let.Tests
        Let
          letInLet:                                                                   OK (0.05s)
          letDep:                                                                     OK (0.05s)
        lets:                                                                         IGNORED
      Recursion.Tests
        Recursion
          factorial:                                                                  OK (0.09s)
          even3:                                                                      OK (0.20s)
          even3Eval:                                                                  FAIL (0.11s)
            Prelude.undefined
            CallStack (from HasCallStack):
              error, called at libraries/base/GHC/Err.hs:79:14 in base:GHC.Err
              undefined, called at untyped-plutus-core/src/UntypedPlutusCore/Evaluation/Machine/CommonAPI.hs:102:10 in plutus-core-1.36.0.0-EMRucdZH55bBJXJWOGfvaE:UntypedPlutusCore.Evaluation.Machine.CommonAPI
            Use -p '/Recursion.even3Eval/' to rerun this test only.
          stupidZero:                                                                 OK (0.07s)
          mutuallyRecursiveValues:                                                    OK (0.23s)
          errorBinding:                                                               FAIL
            Prelude.undefined
            CallStack (from HasCallStack):
              error, called at libraries/base/GHC/Err.hs:79:14 in base:GHC.Err
              undefined, called at untyped-plutus-core/src/UntypedPlutusCore/Evaluation/Machine/CommonAPI.hs:102:10 in plutus-core-1.36.0.0-EMRucdZH55bBJXJWOGfvaE:UntypedPlutusCore.Evaluation.Machine.CommonAPI
            Use -p '/Recursion.errorBinding/' to rerun this test only.
    Contexts.Tests
      Applying extractTyArgs to an
        empty AppContext evaluates to an empty list of ty args:                       OK
        AppContext without type applications evaluates to Nothing:                    OK
        AppContext with a mix of term and type applications evaluates to Nothing:     OK
        AppContext with type applications only evaluates to Just (list of ty vars):   OK
    Core.Tests
      prettyprinting
        basic:                                                                        OK
        maybe:                                                                        OK
      prettyprintingReadable
        basic:                                                                        OK
        maybe:                                                                        OK
        letInLet:                                                                     OK
        letDep:                                                                       OK (0.05s)
        listMatch:                                                                    OK (0.05s)
        idleAll:                                                                      OK
        some:                                                                         OK
        even3:                                                                        OK
        stupidZero:                                                                   OK
        mutuallyRecursiveValues:                                                      OK (0.05s)
        errorBinding:                                                                 OK (0.05s)
        some:                                                                         OK (0.05s)
        stupidZero:                                                                   OK
        recursiveTypeBind:                                                            OK
      serialization
        serializeBasic:                                                               OK
        serializeMaybePirTerm:                                                        OK (0.05s)
        serializeEvenOdd:                                                             OK
        serializeListMatch:                                                           OK (0.05s)
    Generators.QuickCheck.Tests
      genTypeCorrect:                                                                 OK (0.34s)
        +++ OK, passed 200 tests.
      genWellTypedFullyApplied:                                                       OK (0.35s)
        +++ OK, passed 50 tests.
      shrinkTermSound:                                                                OK
        +++ OK, passed 1 test.
      findInstantiation:                                                              OK (0.13s)
        +++ OK, passed 1000 tests.
      stats leaves:                                                                   OK
        +++ OK, passed 10 tests.
        
        leaves (8 in total):
        62% error
        12% builtin
        12% f
        12% x
      stats numShrink:                                                                OK
        +++ OK, passed 1 test.
        
        distribution | duplicates (1 in total):
        100%          | 0%
      inhabited:                                                                      OK (0.10s)
        +++ OK, passed 50 tests.
      noTermShrinkLoops:                                                              OK
        +++ OK, passed 1 test.
      noStructuralErrors:                                                             FAIL
        *** Failed! (after 1 test and 1 shrink):
        Exception:
          Prelude.undefined
          CallStack (from HasCallStack):
            error, called at libraries/base/GHC/Err.hs:79:14 in base:GHC.Err
            undefined, called at untyped-plutus-core/src/UntypedPlutusCore/Evaluation/Machine/CommonAPI.hs:102:10 in plutus-core-1.36.0.0-EMRucdZH55bBJXJWOGfvaE:UntypedPlutusCore.Evaluation.Machine.CommonAPI
        ty,tm = (unit, ())
        Use --quickcheck-replay="(SMGen 14100426876429518704 7242453223000675787,0)" to reproduce.
        Use -p '/noStructuralErrors/' to rerun this test only.
      yesStructuralErrors:                                                            OK
        +++ OK, failed as expected. (after 1 test):
        Exception:
          Prelude.undefined
          CallStack (from HasCallStack):
            error, called at libraries/base/GHC/Err.hs:79:14 in base:GHC.Err
            undefined, called at untyped-plutus-core/src/UntypedPlutusCore/Evaluation/Machine/CommonAPI.hs:102:10 in plutus-core-1.36.0.0-EMRucdZH55bBJXJWOGfvaE:UntypedPlutusCore.Evaluation.Machine.CommonAPI
    Parser.Tests
      parsing
        parser round-trip:                                                            OK (0.25s)
            ✓ propRoundTrip passed 99 tests.
        parser ignores whitespace:                                                    OK (0.17s)
            ✓ propIgnores whitespace passed 50 tests.
        parser ignores comments:                                                      OK (0.31s)
            ✓ propIgnores comments passed 30 tests.
        parser captures ending positions correctly:                                   OK (0.20s)
            ✓ propTermSrcSpan passed 99 tests.
    Purity.Tests
      Purity
        letFun:                                                                       OK
        builtinAppUnsaturated:                                                        OK
        builtinAppSaturated:                                                          OK
        pureLet:                                                                      OK (0.05s)
        nestedLets1:                                                                  OK (0.04s)
        evalOrderLazy:                                                                OK
    Scoping.Tests
      names
        beta-reduction does not break scoping and global uniqueness:                  OK (0.31s)
            ✓ test_scopingGood passed 200 tests.
        case-of-known-constructor does not break scoping and global uniqueness:       OK (0.33s)
            ✓ test_scopingGood passed 200 tests.
        commuteFnWithConst does not break scoping and global uniqueness:              OK (0.34s)
            ✓ test_scopingGood passed 200 tests.
        dead code elimination does not break scoping and global uniqueness:           OK (0.34s)
            ✓ test_scopingGood passed 200 tests.
        constant folding does not break scoping and global uniqueness:                OK (0.25s)
            ✓ test_scopingGood passed 200 tests.
        inlining breaks scoping or global uniqueness:                                 OK (0.04s)
        match-against-known-constructor does not break scoping and global uniqueness: OK (0.25s)
            ✓ test_scopingGood passed 200 tests.
        floating bindings inwards does not break scoping and global uniqueness:       OK (0.25s)
            ✓ test_scopingGood passed 200 tests.
        merging lets does not break scoping and global uniqueness:                    OK (0.24s)
            ✓ test_scopingGood passed 200 tests.
        compilation of non-strict bindings breaks scoping or global uniqueness:       OK (0.01s)
        match-against-known-constructor does not break scoping and global uniqueness: OK (0.17s)
            ✓ test_scopingGood passed 200 tests.
        renaming does not break scoping and global uniqueness:                        OK (0.31s)
            ✓ test_scopingGood passed 200 tests.
        bad renaming
          wrong renaming breaks scoping or global uniqueness:                         OK
          no renaming breaks scoping or global uniqueness:                            OK
          renaming with no marking breaks scoping or global uniqueness:               OK
        thunking recursions breaks scoping or global uniqueness:                      OK
        unwrap-wrap cancelling does not break scoping and global uniqueness:          OK (0.34s)
            ✓ test_scopingGood passed 200 tests.
    Transform
      Beta.Tests
        Beta
          lamapp:                                                                     OK
          lamapp2:                                                                    OK
          absapp:                                                                     OK
          multiapp:                                                                   OK (0.07s)
          multilet:                                                                   OK (0.05s)
        beta:                                                                         OK (0.81s)
          +++ OK, passed 99 tests.
      CaseOfCase.Tests
        CaseOfCase
          basic:                                                                      OK (0.01s)
          builtinBool:                                                                OK
          largeExpr:                                                                  OK (0.01s)
          exponential:                                                                OK (0.02s)
          twoTyArgs:                                                                  OK (0.01s)
        caseOfCase:                                                                   OK (0.59s)
          +++ OK, passed 99 tests.
      CaseReduce.Tests
        caseReduce:                                                                   OK (0.26s)
          +++ OK, passed 99 tests.
      DeadCode.Tests
        DeadCode
          typeLet:                                                                    OK (0.01s)
          termLet:                                                                    OK
          strictLet:                                                                  OK
          nonstrictLet:                                                               OK
          datatypeLiveType:                                                           OK
          datatypeLiveConstr:                                                         OK
          datatypeLiveDestr:                                                          OK
          datatypeDead:                                                               OK
          singleBinding:                                                              OK
          builtinBinding:                                                             OK
          etaBuiltinBinding:                                                          OK
          nestedBindings:                                                             OK
          nestedBindingsIndirect:                                                     OK
          recBindingSimple:                                                           OK
          recBindingComplex:                                                          OK
          pruneDatatype:                                                              OK
        deadCode:                                                                     IGNORED
      EvaluateBuiltins.Tests
        EvaluateBuiltins
          addInteger:                                                                 OK
          ifThenElse:                                                                 OK
          traceConservative:                                                          OK
          failingBuiltin:                                                             OK
          nonConstantArg:                                                             OK
          overApplication:                                                            OK
          underApplication:                                                           OK
          uncompressBlsConservative:                                                  OK
          traceNonConservative:                                                       OK
          uncompressBlsNonConservative:                                               OK (0.05s)
          uncompressAndEqualBlsNonConservative:                                       OK (0.05s)
        evaluateBuiltins:                                                             OK (0.66s)
          +++ OK, passed 99 tests.
      Inline.Tests
        Inline
          var:                                                                        OK
          builtin:                                                                    OK
          callsite-non-trivial-body:                                                  OK (0.01s)
          constant:                                                                   OK (0.03s)
          transitive:                                                                 OK
          tyvar:                                                                      OK
          single:                                                                     OK
          immediateVar:                                                               OK
          immediateApp:                                                               OK
          firstEffectfulTerm1:                                                        OK
          firstEffectfulTerm2:                                                        OK (0.01s)
          letFunConstInt:                                                             OK (0.03s)
          letFunConstBool:                                                            OK
          letFunConstMulti:                                                           OK
          letFunInFun:                                                                OK
          letFunInFunMulti:                                                           OK
          letTypeAppMulti:                                                            OK
          letTypeApp:                                                                 OK
          letTypeApp2:                                                                OK
          letTypeAppMultiSat:                                                         OK
          letTypeAppMultiNotSat:                                                      OK
          letApp:                                                                     OK
          letAppMultiNotAcceptable:                                                   OK
          letOverApp:                                                                 OK
          letOverAppMulti:                                                            OK
          letOverAppType:                                                             OK
          letNonPure:                                                                 OK
          letNonPureMulti:                                                            OK (0.01s)
          letNonPureMultiStrict:                                                      OK
          multilet:                                                                   OK (0.05s)
          rhs-modified:                                                               OK (0.05s)
          partiallyApp:                                                               OK (0.05s)
          effectfulBuiltinArg:                                                        OK (0.05s)
          nameCapture:                                                                OK (0.05s)
          inlineConstantsOn:                                                          OK (0.05s)
          inlineConstantsOff:                                                         OK
        inline:                                                                       OK (0.72s)
          +++ OK, passed 99 tests.
      KnownCon.Tests
        KnownCon
          applicative:                                                                OK (0.02s)
          bool:                                                                       OK
          list:                                                                       OK (0.01s)
          maybe-just:                                                                 OK
          maybe-just-unsaturated:                                                     OK (0.05s)
          maybe-nothing:                                                              OK (0.05s)
          pair:                                                                       OK (0.01s)
        knownCon:                                                                     OK (0.43s)
          +++ OK, passed 99 tests.
      LetFloatIn.Tests
        conservative
          avoid-floating-into-lam:                                                    OK
          avoid-floating-into-tyabs:                                                  OK
        relaxed
          avoid-floating-into-RHS:                                                    OK
          avoid-moving-strict-nonvalue-bindings:                                      OK
          cannot-float-into-app:                                                      OK
          datatype1:                                                                  OK (0.01s)
          datatype2:                                                                  OK (0.01s)
          float-into-fun-and-arg-1:                                                   OK
          float-into-fun-and-arg-2:                                                   OK (0.01s)
          float-into-lam1:                                                            OK
          float-into-lam2:                                                            OK
          float-into-RHS:                                                             OK
          float-into-tyabs1:                                                          OK (0.01s)
          float-into-tyabs2:                                                          OK
          float-into-constr:                                                          OK
          float-into-case-arg:                                                        OK
          float-into-case-branch:                                                     OK
          type:                                                                       OK (0.01s)
        floatIn:                                                                      OK (0.57s)
          +++ OK, passed 99 tests.
      LetFloatOut.Tests
        LetFloatOut
          letInLet:                                                                   OK
          listMatch:                                                                  OK (0.01s)
          maybe:                                                                      OK
          ifError:                                                                    OK
          mutuallyRecursiveTypes:                                                     OK
          mutuallyRecursiveValues:                                                    OK
          nonrec1:                                                                    OK
          nonrec2:                                                                    OK (0.01s)
          nonrec3:                                                                    OK
          nonrec4:                                                                    OK
          nonrec6:                                                                    OK
          nonrec7:                                                                    OK
          nonrec8:                                                                    OK
          nonrec9:                                                                    OK (0.01s)
          rec1:                                                                       OK
          rec2:                                                                       OK (0.02s)
          rec3:                                                                       OK
          rec4:                                                                       OK
          nonrecToRec:                                                                OK (0.01s)
          nonrecToNonrec:                                                             OK
          oldLength:                                                                  OK
          strictValue:                                                                OK
          strictNonValue:                                                             OK
          strictNonValue2:                                                            OK
          strictNonValue3:                                                            OK
          strictValueNonValue:                                                        OK
          strictValueValue:                                                           OK (0.01s)
          even3Eval:                                                                  OK (0.02s)
          strictNonValueDeep:                                                         OK
          oldFloatBug:                                                                OK (0.01s)
          outRhs:                                                                     OK (0.05s)
          outLam:                                                                     OK (0.05s)
          inLam:                                                                      OK
          rhsSqueezeVsNest:                                                           OK (0.01s)
        floatOut:                                                                     OK (0.79s)
          +++ OK, passed 99 tests.
      NonStrict.Tests
        NonStrict
          nonStrict1:                                                                 OK (0.01s)
        nonStrict:                                                                    OK (0.66s)
          +++ OK, passed 99 tests.
      RecSplit.Tests
        RecSplit
          truenonrec:                                                                 OK (0.04s)
          mutuallyRecursiveTypes:                                                     OK (0.01s)
          mutuallyRecursiveValues:                                                    OK
          selfrecursive:                                                              OK
          small:                                                                      OK
          big:                                                                        OK (0.01s)
        recSplit:                                                                     OK (0.33s)
          +++ OK, passed 99 tests.
      Rename.Tests
        Rename
          allShadowedDataNonRec:                                                      OK (0.05s)
          allShadowedDataRec:                                                         OK
          paramShadowedDataNonRec:                                                    OK
          paramShadowedDataRec:                                                       OK
        rename:                                                                       OK (0.25s)
          +++ OK, passed 99 tests.
      RewriteRules.Tests
        RewriteRules
          equalsInt.pir:                                                              OK
          divideInt.pir:                                                              OK (0.05s)
          multiplyInt.pir:                                                            OK (0.05s)
          let.pir:                                                                    OK (0.05s)
          unConstrConstrDataFst.pir:                                                  OK (0.05s)
          unConstrConstrDataSnd.pir:                                                  OK
          unConstrConstrDataFst.pir.eval:                                             FAIL (0.02s)
            Prelude.undefined
            CallStack (from HasCallStack):
              error, called at libraries/base/GHC/Err.hs:79:14 in base:GHC.Err
              undefined, called at untyped-plutus-core/src/UntypedPlutusCore/Evaluation/Machine/CommonAPI.hs:102:10 in plutus-core-1.36.0.0-EMRucdZH55bBJXJWOGfvaE:UntypedPlutusCore.Evaluation.Machine.CommonAPI
            Use -p '/unConstrConstrDataFst.pir.eval/' to rerun this test only.
        rewriteRules:                                                                 OK (0.70s)
          +++ OK, passed 99 tests.
      StrictLetRec.Tests
        Transform
          StrictLetRec
            strictLetRec:                                                             OK (0.04s)
            traces:                                                                   FAIL
              Exception: Prelude.undefined
              CallStack (from HasCallStack):
                error, called at libraries/base/GHC/Err.hs:79:14 in base:GHC.Err
                undefined, called at untyped-plutus-core/src/UntypedPlutusCore/Evaluation/Machine/CommonAPI.hs:102:10 in plutus-core-1.36.0.0-EMRucdZH55bBJXJWOGfvaE:UntypedPlutusCore.Evaluation.Machine.CommonAPI
              Use -p '/traces/' to rerun this test only.
      StrictifyBindings.Tests
        StrictifyBindings
          pure1:                                                                      OK
          impure1:                                                                    OK
          unused:                                                                     OK
          conapp:                                                                     OK (0.05s)
        strictifyBindings:                                                            OK (0.49s)
          +++ OK, passed 99 tests.
      ThunkRecursions.Tests
        ThunkRecursions
          listFold:                                                                   OK (0.01s)
          listFoldTrace:                                                              OK
          monoMap:                                                                    OK
          errorBinding:                                                               OK
          mutuallyRecursiveValues:                                                    OK
          preserveEffectOrder:                                                        OK
          preserveStrictness:                                                         OK (0.05s)
        thunkRecursions:                                                              OK (0.40s)
          +++ OK, passed 99 tests.
      Unwrap.Tests
        Unwrap
          unwrapWrap:                                                                 OK
        unwrap:                                                                       OK (0.22s)
          +++ OK, passed 99 tests.
    TypeCheck.Tests
      TypeCheck
        letInLet:                                                                     OK
        listMatch:                                                                    OK
        maybe:                                                                        OK (0.01s)
        ifError:                                                                      OK
        mutuallyRecursiveTypes:                                                       OK
        mutuallyRecursiveValues:                                                      OK (0.01s)
        nonrec1:                                                                      OK
        nonrec2:                                                                      OK
        nonrec3:                                                                      OK
        nonrec4:                                                                      OK
        nonrec6:                                                                      OK (0.01s)
        nonrec7:                                                                      OK
        nonrec8:                                                                      OK
        rec1:                                                                         OK
        rec2:                                                                         OK (0.02s)
        rec3:                                                                         OK (0.05s)
        rec4:                                                                         OK
        nonrecToRec:                                                                  OK (0.05s)
        nonrecToNonrec:                                                               OK (0.05s)
        oldLength:                                                                    OK (0.03s)
        strictValue:                                                                  OK (0.04s)
        strictNonValue:                                                               OK (0.03s)
        strictNonValue2:                                                              OK (0.05s)
        strictNonValue3:                                                              OK (0.05s)
        strictValueNonValue:                                                          OK (0.05s)
        strictValueValue:                                                             OK (0.02s)
        strictNonValueDeep:                                                           OK (0.01s)
        even3Eval:                                                                    OK (0.06s)
        sameNameDifferentEnv:                                                         OK (0.06s)
        typeLet:                                                                      OK (0.05s)
        typeLetRec:                                                                   OK (0.10s)
        wrongDataConstrReturnType:                                                    OK (0.05s)
        nonSelfRecursive:                                                             OK (0.09s)
        typeLetWrong:                                                                 OK (0.05s)

6 out of 323 tests failed (5.00s)