IntersectMBO / IntersectMBO/cardano-ledger

GOVCERT constrained generator failure on CI

Open
#5,199 1 comment 0 reactions 0 assignees View on GitHub
:detective: testing conformance constrained-generators
Dominant language
Haskell
Stars
295
Forks
179
Avg merge
4d 7h
Merged PRs (30d)
29

Description

It can be reproduced at commit cfe8b3641e8ba80b64f3030cd16846f82965dcfe
```
Failures:

test/Test/Cardano/Ledger/Conformance/Spec/Conway.hs:31:7:
1) Conway.Conformance, Blocks transition graph, GOVCERT

╺╸Deep evaluating context

Uncaught Exception:
Stepping the plan:

SolverPlan

Linearization:
withdrawals_10 :: Map RewardAccount Coin <-
TypeSpec
MapSpec
hint = Nothing
mustKeys = fromList []
mustValues = []
size = TypeSpec [..5] []
elem = constrained $ \ v_6 ->
{let network_1 = ProdFstW to (ProdFstW to v_6) in
let rewcred_0 = ProdSndW to (ProdFstW to v_6) in
{assert $ network_1 ==. Testnet
assert $ rewcred_0 ==. ScriptHashObj (ScriptHash "65740a34c6a7d4b9f60ddb59414476f8f79bd82355c73846fdd96e0b")}
let network_1 = ProdFstW to (ProdFstW to v_6) in
let rewcred_0 = ProdSndW to (ProdFstW to v_6) in
{assert $ network_1 ==. Testnet
assert $ rewcred_0 ==. ScriptHashObj (ScriptHash "65740a34c6a7d4b9f60ddb59414476f8f79bd82355c73846fdd96e0b")}}
fold = NoFold
[]
ccec_12 :: ConwayCertExecContext ConwayEra <-
TypeSpec
(Cartesian
, TrueSpec @(Map RewardAccount Coin)
, TrueSpec @(VotingProcedures ConwayEra)
, MemberSpec [ fromList [(ScriptHashObj (ScriptHash "69a92bbadd391f83d00f619fe403c4a10ea309b24768dee4585ceefa"),fromList []),(ScriptHashObj (ScriptHash "743bfdcac8d37cb7cb31079bc2dcdd225ce08c90a76f3853b4dcdc9f"),fromList []),(ScriptHashObj (ScriptHash "7dcebc53f7d3df82ab6d898271b16b7f265bd04b50a4379e2114e2ac"),fromList []),(ScriptHashObj (ScriptHash "9360e7e7912c80f5c3f344fe53268900f355e893d2f131b25fd61d0d"),fromList []),(ScriptHashObj (ScriptHash "dc873c31a94d66bd4239b782de305bcd9ffe174131987b6b52a5d383"),fromList []),(ScriptHashObj (ScriptHash "e099a565af6fbcbe38ede3213d8cb7165e519956fc1531ddfaa10b8a"),fromList []),(KeyHashObj (KeyHash {unKeyHash = "1ac31857b5d0a9a33ddd4465ee152b19f8cdcd74067cb11b9727a982"}),fromList []),(KeyHashObj (KeyHash {unKeyHash = "7493976f7d8aa8d774a2afc5f48678c8500ec619e30b64fc2d5c3615"}),fromList [ScriptHashObj (ScriptHash "65740a34c6a7d4b9f60ddb59414476f8f79bd82355c73846fdd96e0b")]),(KeyHashObj (KeyHash {unKeyHash = "d54eee0d7185c531933837ef56a832c32066248092051c36b116ebe0"}),fromList []),(KeyHashObj (KeyHash {unKeyHash = "ff319ea02bf167cc53d7f39bd3355243f91fd6826fbc455ddbac6d3e"}),fromList [])] ])
[]
---
assert $ ProdFstW to ccec_12 ==. withdrawals_10
Env
reify_variable_7 -> fromList [ScriptHashObj (ScriptHash "65740a34c6a7d4b9f60ddb59414476f8f79bd82355c
delegatees_8 -> fromList [(ScriptHashObj (ScriptHash "69a92bbadd391f83d00f619fe403c4a10ea309b247

genFromSpecT on (TypeSpec tspec cant) at type Map RewardAccount Coin
tspec =
MapSpec
hint = Nothing
mustKeys = fromList []
mustValues = []
size = TypeSpec [..5] []
elem = constrained $ \ v_6 ->
{let network_1 = ProdFstW to (ProdFstW to v_6) in
let rewcred_0 = ProdSndW to (ProdFstW to v_6) in
{assert $ network_1 ==. Testnet
assert $ rewcred_0 ==. ScriptHashObj (ScriptHash "65740a34c6a7d4b9f60ddb59414476f8f79bd82355c73846fdd96e0b")}
let network_1 = ProdFstW to (ProdFstW to v_6) in
let rewcred_0 = ProdSndW to (ProdFstW to v_6) in
{assert $ network_1 ==. Testnet
assert $ rewcred_0 ==. ScriptHashObj (ScriptHash "65740a34c6a7d4b9f60ddb59414476f8f79bd82355c73846fdd96e0b")}}
fold = NoFold
cant = []
with mode Strict

The number we are trying for: n = 2

Fatal error while trying to generate enough elements for a map:
The ones we have generated so far = fromList [(RewardAccount {raNetwork = Testnet, raCredential = ScriptHashObj (ScriptHash "65740a34c6a7d4b9f60ddb59414476f8f79bd82355c73846fdd96e0b")},Coin 2)]
The number we need to still generate: n' = 1
The original size spec TypeSpec [..5] []
The refined size spec TypeSpec [0..2] []
The computed target size 2
Fatal error messages
<<<---
genFromSpecT on (TypeSpec tspec cant) at type (RewardAccount,Coin)
tspec =
(Cartesian
, TypeSpec
(Cartesian
, MemberSpec [ Testnet ]
, MemberSpec [ ScriptHashObj (ScriptHash "65740a34c6a7d4b9f60ddb59414476f8f79bd82355c73846fdd96e0b") ])
[RewardAccount {raNetwork = Testnet, raCredential = ScriptHashObj (ScriptHash "65740a34c6a7d4b9f60ddb59414476f8f79bd82355c73846fdd96e0b")}]
, TrueSpec @(Coin))
cant = []
with mode Strict

genFromSpecT on (TypeSpec tspec cant) at type RewardAccount
tspec =
(Cartesian
, MemberSpec [ Testnet ]
, MemberSpec [ ScriptHashObj (ScriptHash "65740a34c6a7d4b9f60ddb59414476f8f79bd82355c73846fdd96e0b") ])
cant = [ RewardAccount {raNetwork = Testnet, raCredential = ScriptHashObj (ScriptHash "65740a34c6a7d4b9f60ddb59414476f8f79bd82355c73846fdd96e0b")} ]
with mode Strict

Ran out of tries (100) on suchThatWithTryT at type RewardAccount

--->>>

To rerun use: --match "/Conway/Conformance/Blocks transition graph/GOVCERT/" --seed 615892776

Randomized with seed 615892776
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.