[Evaluation] [Performance] Ditch 'NamedDeBruijn' in favor of 'DeBruijn' #6706
IOG Hydra / ci/hydra-build:x86_64-linux.ghc96.checks.plutus-core:test:plutus-ir-test
failed
Nov 25, 2024 in 2s
Build failed
1 failed steps
Details
Failed Steps
Step 1
Derivation
/nix/store/nka5klfbjzsgbiy9ci2f8j0hsxbj7ca8-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/vbvnx1mq0ylclz5rc177ay23kq2g0069-plutus-core-test-plutus-ir-test-1.36.0.0/bin:
patching script interpreter paths in /build/tmp.JMhmoQHuCH/bin
plutus-ir/test/Driver.hs
PlutusCore.Generators.QuickCheck
BuiltinsTests
genData: OK (0.60s)
+++ OK, passed 800 tests.
SubstitutionTests
unify: OK (0.37s)
+++ OK, passed 500 tests; 3650 discarded.
sizes (500 in total):
75.0% 1
23.0% 0
1.6% 2
0.4% 3
unifyRename: OK
+++ OK, passed 100 tests.
substType: OK (0.30s)
+++ OK, passed 1000 tests.
TypesTests
genKindCorrect: OK (0.05s)
+++ OK, passed 1000 tests.
shrinkTypeSound: OK (0.24s)
+++ OK, passed 500 tests.
shrinkTypeSmallerKind: OK (0.20s)
+++ OK, passed 3000 tests.
shrinkKindSmaller: OK (0.06s)
+++ OK, passed 30000 tests.
fixKind: OK (0.20s)
+++ OK, passed 10000 tests.
normalizedTypeIsNormal: OK (0.05s)
+++ OK, passed 1000 tests.
PlutusIR
Analysis.RetainedSize.Tests
RetainedSize
typeLet: OK
termLet: OK
strictLet: OK
nonstrictLet: OK
datatypeLiveType: OK
datatypeLiveConstr: OK
datatypeLiveDestr: OK
datatypeDead: OK
singleBinding: OK
builtinBinding: OK
etaBuiltinBinding: OK
etaBuiltinBindingUsed: OK
nestedBindings: OK
nestedBindingsIndirect: OK
recBindingSimple: OK
recBindingComplex: OK
Check.Uniques.Tests
shadowed: OK
multiplyDefined: OK
shadowedInLet: OK
Compiler
Datatype.Tests
Datatype
maybe: OK (0.02s)
listMatch: OK (0.04s)
idleAll: OK
some: OK
listMatchEval: FAIL (0.04s)
Prelude.undefined
CallStack (from HasCallStack):
undefined, called at untyped-plutus-core/src/UntypedPlutusCore/Evaluation/Machine/CommonAPI.hs:102:10 in plutus-core-1.36.0.0-9EtjgbSVmWx7H1vhT25leD:UntypedPlutusCore.Evaluation.Machine.CommonAPI
Use -p '/listMatchEval/' to rerun this test only.
dataEscape: OK
scott
maybe: OK (0.03s)
listMatch: OK (0.03s)
Error.Tests
Error
mutuallyRecursiveTypes: OK (0.01s)
recursiveTypeBind: OK
Let.Tests
Let
letInLet: OK
letDep: OK
lets: IGNORED
Recursion.Tests
Recursion
factorial: OK (0.03s)
even3: OK (0.15s)
even3Eval: FAIL (0.14s)
Prelude.undefined
CallStack (from HasCallStack):
undefined, called at untyped-plutus-core/src/UntypedPlutusCore/Evaluation/Machine/CommonAPI.hs:102:10 in plutus-core-1.36.0.0-9EtjgbSVmWx7H1vhT25leD:UntypedPlutusCore.Evaluation.Machine.CommonAPI
Use -p '/Recursion.even3Eval/' to rerun this test only.
stupidZero: OK (0.06s)
mutuallyRecursiveValues: OK (0.11s)
errorBinding: FAIL
Prelude.undefined
CallStack (from HasCallStack):
undefined, called at untyped-plutus-core/src/UntypedPlutusCore/Evaluation/Machine/CommonAPI.hs:102:10 in plutus-core-1.36.0.0-9EtjgbSVmWx7H1vhT25leD: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
listMatch: OK
idleAll: OK
some: OK
even3: OK
stupidZero: OK
mutuallyRecursiveValues: OK
errorBinding: OK
some: OK
stupidZero: OK
recursiveTypeBind: OK
serialization
serializeBasic: OK
serializeMaybePirTerm: OK
serializeEvenOdd: OK
serializeListMatch: OK
Generators.QuickCheck.Tests
genTypeCorrect: OK (0.47s)
+++ OK, passed 200 tests.
genWellTypedFullyApplied: OK (0.37s)
+++ OK, passed 50 tests.
shrinkTermSound: OK
+++ OK, passed 1 test.
findInstantiation: OK (0.14s)
+++ OK, passed 1000 tests.
stats leaves: OK
+++ OK, passed 10 tests.
leaves (11 in total):
36% builtin
27% error
27% f
9% x
stats numShrink: OK
+++ OK, passed 1 test.
distribution | duplicates (1 in total):
100% | 0%
inhabited: OK (0.14s)
+++ 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):
undefined, called at untyped-plutus-core/src/UntypedPlutusCore/Evaluation/Machine/CommonAPI.hs:102:10 in plutus-core-1.36.0.0-9EtjgbSVmWx7H1vhT25leD:UntypedPlutusCore.Evaluation.Machine.CommonAPI
ty,tm = (unit, ())
Use --quickcheck-replay="(SMGen 16647833840850837710 2748416855024880853,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):
undefined, called at untyped-plutus-core/src/UntypedPlutusCore/Evaluation/Machine/CommonAPI.hs:102:10 in plutus-core-1.36.0.0-9EtjgbSVmWx7H1vhT25leD:UntypedPlutusCore.Evaluation.Machine.CommonAPI
Parser.Tests
parsing
parser round-trip: OK (0.30s)
✓ propRoundTrip passed 99 tests.
parser ignores whitespace: OK (0.20s)
✓ propIgnores whitespace passed 50 tests.
parser ignores comments: OK (0.20s)
✓ propIgnores comments passed 30 tests.
parser captures ending positions correctly: OK (0.24s)
✓ propTermSrcSpan passed 99 tests.
Purity.Tests
Purity
letFun: OK
builtinAppUnsaturated: OK
builtinAppSaturated: OK
pureLet: OK
nestedLets1: OK
evalOrderLazy: OK
Scoping.Tests
names
beta-reduction does not break scoping and global uniqueness: OK (0.32s)
✓ test_scopingGood passed 200 tests.
case-of-known-constructor does not break scoping and global uniqueness: OK (0.29s)
✓ test_scopingGood passed 200 tests.
commuteFnWithConst does not break scoping and global uniqueness: OK (0.36s)
✓ test_scopingGood passed 200 tests.
dead code elimination does not break scoping and global uniqueness: OK (0.29s)
✓ test_scopingGood passed 200 tests.
constant folding does not break scoping and global uniqueness: OK (0.28s)
✓ test_scopingGood passed 200 tests.
inlining breaks scoping or global uniqueness: OK (0.02s)
match-against-known-constructor does not break scoping and global uniqueness: OK (0.29s)
✓ test_scopingGood passed 200 tests.
floating bindings inwards does not break scoping and global uniqueness: OK (0.26s)
✓ test_scopingGood passed 200 tests.
merging lets does not break scoping and global uniqueness: OK (0.25s)
✓ test_scopingGood passed 200 tests.
compilation of non-strict bindings breaks scoping or global uniqueness: OK
match-against-known-constructor does not break scoping and global uniqueness: OK (0.24s)
✓ test_scopingGood passed 200 tests.
renaming does not break scoping and global uniqueness: OK (0.28s)
✓ 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 (0.10s)
unwrap-wrap cancelling does not break scoping and global uniqueness: OK (0.23s)
✓ test_scopingGood passed 200 tests.
Transform
Beta.Tests
Beta
lamapp: OK
lamapp2: OK
absapp: OK
multiapp: OK
multilet: OK
beta: OK (0.61s)
+++ OK, passed 99 tests.
CaseOfCase.Tests
CaseOfCase
basic: OK (0.02s)
builtinBool: OK
largeExpr: OK (0.01s)
exponential: OK (0.02s)
twoTyArgs: OK
caseOfCase: OK (0.58s)
+++ OK, passed 99 tests.
CaseReduce.Tests
caseReduce: OK (0.27s)
+++ 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
uncompressAndEqualBlsNonConservative: OK
evaluateBuiltins: OK (0.48s)
+++ OK, passed 99 tests.
Inline.Tests
Inline
var: OK
builtin: OK
callsite-non-trivial-body: OK
constant: OK
transitive: OK
tyvar: OK (0.01s)
single: OK (0.02s)
immediateVar: OK
immediateApp: OK
firstEffectfulTerm1: OK
firstEffectfulTerm2: OK
letFunConstInt: OK
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
letNonPureMultiStrict: OK (0.01s)
multilet: OK
rhs-modified: OK
partiallyApp: OK
effectfulBuiltinArg: OK
nameCapture: OK (0.01s)
inlineConstantsOn: OK
inlineConstantsOff: OK
inline: OK (0.56s)
+++ OK, passed 99 tests.
KnownCon.Tests
KnownCon
applicative: OK (0.02s)
bool: OK
list: OK
maybe-just: OK
maybe-just-unsaturated: OK
maybe-nothing: OK
pair: OK (0.01s)
knownCon: OK (0.58s)
+++ 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 (0.01s)
cannot-float-into-app: OK
datatype1: OK
datatype2: OK
float-into-fun-and-arg-1: OK (0.01s)
float-into-fun-and-arg-2: OK
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
floatIn: OK (0.53s)
+++ OK, passed 99 tests.
LetFloatOut.Tests
LetFloatOut
letInLet: OK
listMatch: OK (0.02s)
maybe: OK
ifError: OK
mutuallyRecursiveTypes: OK (0.01s)
mutuallyRecursiveValues: OK
nonrec1: OK
nonrec2: OK
nonrec3: OK (0.02s)
nonrec4: OK (0.01s)
nonrec6: OK
nonrec7: OK (0.01s)
nonrec8: OK (0.01s)
nonrec9: OK
rec1: OK
rec2: OK (0.01s)
rec3: OK
rec4: OK
nonrecToRec: OK
nonrecToNonrec: OK
oldLength: OK
strictValue: OK
strictNonValue: OK
strictNonValue2: OK
strictNonValue3: OK
strictValueNonValue: OK
strictValueValue: OK
even3Eval: OK (0.01s)
strictNonValueDeep: OK (0.01s)
oldFloatBug: OK
outRhs: OK
outLam: OK
inLam: OK
rhsSqueezeVsNest: OK
floatOut: OK (0.54s)
+++ OK, passed 99 tests.
NonStrict.Tests
NonStrict
nonStrict1: OK
nonStrict: OK (0.51s)
+++ OK, passed 99 tests.
RecSplit.Tests
RecSplit
truenonrec: OK
mutuallyRecursiveTypes: OK
mutuallyRecursiveValues: OK
selfrecursive: OK
small: OK
big: OK
recSplit: OK (0.32s)
+++ OK, passed 99 tests.
Rename.Tests
Rename
allShadowedDataNonRec: OK
allShadowedDataRec: OK
paramShadowedDataNonRec: OK
paramShadowedDataRec: OK
rename: OK (0.34s)
+++ OK, passed 99 tests.
RewriteRules.Tests
RewriteRules
equalsInt.pir: OK
divideInt.pir: OK
multiplyInt.pir: OK
let.pir: OK
unConstrConstrDataFst.pir: OK
unConstrConstrDataSnd.pir: OK
unConstrConstrDataFst.pir.eval: FAIL (0.02s)
Prelude.undefined
CallStack (from HasCallStack):
undefined, called at untyped-plutus-core/src/UntypedPlutusCore/Evaluation/Machine/CommonAPI.hs:102:10 in plutus-core-1.36.0.0-9EtjgbSVmWx7H1vhT25leD:UntypedPlutusCore.Evaluation.Machine.CommonAPI
Use -p '/unConstrConstrDataFst.pir.eval/' to rerun this test only.
rewriteRules: OK (0.48s)
+++ OK, passed 99 tests.
StrictLetRec.Tests
Transform
StrictLetRec
strictLetRec: OK (0.02s)
traces: FAIL
Exception: Prelude.undefined
CallStack (from HasCallStack):
undefined, called at untyped-plutus-core/src/UntypedPlutusCore/Evaluation/Machine/CommonAPI.hs:102:10 in plutus-core-1.36.0.0-9EtjgbSVmWx7H1vhT25leD:UntypedPlutusCore.Evaluation.Machine.CommonAPI
Use -p '/traces/' to rerun this test only.
StrictifyBindings.Tests
StrictifyBindings
pure1: OK
impure1: OK
unused: OK
conapp: OK
strictifyBindings: OK (0.43s)
+++ OK, passed 99 tests.
ThunkRecursions.Tests
ThunkRecursions
listFold: OK
listFoldTrace: OK (0.01s)
monoMap: OK
errorBinding: OK
mutuallyRecursiveValues: OK
preserveEffectOrder: OK
preserveStrictness: OK
thunkRecursions: OK (0.39s)
+++ OK, passed 99 tests.
Unwrap.Tests
Unwrap
unwrapWrap: OK
unwrap: OK (0.24s)
+++ OK, passed 99 tests.
TypeCheck.Tests
TypeCheck
letInLet: OK (0.01s)
listMatch: OK
maybe: OK
ifError: OK
mutuallyRecursiveTypes: OK
mutuallyRecursiveValues: OK
nonrec1: OK
nonrec2: OK
nonrec3: OK
nonrec4: OK
nonrec6: OK
nonrec7: OK
nonrec8: OK
rec1: OK
rec2: OK
rec3: OK
rec4: OK
nonrecToRec: OK
nonrecToNonrec: OK
oldLength: OK
strictValue: OK
strictNonValue: OK
strictNonValue2: OK
strictNonValue3: OK
strictValueNonValue: OK
strictValueValue: OK
strictNonValueDeep: OK
even3Eval: OK
sameNameDifferentEnv: OK
typeLet: OK
typeLetRec: OK
wrongDataConstrReturnType: OK
nonSelfRecursive: OK
typeLetWrong: OK
6 out of 323 tests failed (1.16s)
Loading