-
Notifications
You must be signed in to change notification settings - Fork 217
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
Bump cardano-node from 1.32.1 to 1.33.0 #3071
Conversation
61925d4
to
c971bce
Compare
bors try |
tryBuild failed: |
Interesting:
All similar properties fail for the AlonzoEra version specifically. Would think it's due to the node bump rather than my changes to assignScriptRedeemers, but not 100% sure. Make-shift debugging with |
Still scratching my head on this one. I've almost ruled out the Eq instance for TxBodyContent, I don't think that's the issue. |
Maybe it's just because Eq forces evaluation. |
I created a fork/branch where I tried to binary-search the fields of TxBodyContent for the issue. The issue still exists if the instance is simply https://github.com/sevanspowell/cardano-node/tree/sevanspowell/debugging The Eq instance does inspect the fields of the |
I fixed a small (unrelated) issue with the StakePoolMetadata generator though, because it was preventing me from debugging with larger size values. |
I've got to leave this for today. For added confusion:
This throws the same arithmetic underflow error... |
Wait, so the problem might be in signTransaction/the generator. Is this the offending code?
if the ix generated was negative, this would underflow. |
Hmm, maybe not... |
Actually I could be right, I'm seeing two sets of suspicious negative numbers in the Tx output from the test:
That "Data" value is supposed to pick a constructor, I don't think negative numbers make sense in that context. But likely the issue is #1. |
Current theory crafting:
Cardano.Api.TxIx is a Word, so no problem here:
Cardano.Ledger.TxIn index is an Int, so
Our wallet TxIx is
Fun times. |
Aha! Fixed previous failures, but further failures in the Byron era:
Upon further investigation, it seems Cardano.Api correctly handles TxIx overflows in the Byron era but not the Shelley era:
|
Fixed a separate issue in simplifyAddress:
|
I think the only remaining failures are the serialization failures:
My brain is kind of fried now, so not sure I'll figure them out. I've not dealt with these kinds of errors before, didn't they used to automatically override the old files? |
Speculative PR for adding TxIndex overflow errors to cardano-api: IntersectMBO/cardano-node#3478 |
I've given fixing the golden JSON files a go, hopefully that works. |
- There is a limit of 512 bytes to StakePoolMetadata, constrain generator to generate values within this limit (roughly).
- Restrict TxIndex generator to generate values within the range [0, maxBound :: Int]. This is because the underlying ledger type is: data TxIn crypto = TxInCompact !(TxId crypto) {-# UNPACK #-} !Int So if we generate values larger than the maxBound of an Int, we get overflow errors.
- In the Byron era, maximum value for a TxIx is 2 ^ 32 - 1.
- simplifyAddress simplifies generated addresses to a trivial address. - The underlying Ledger parsing function for addresses has changed to fail if it doesn't consume all input. - This revealed a bug in our current simplifyAddress implementation, where too many bytes were added to the end of pointer addresses. - Fix implementation of simplifyAddress so that test passes. - Improve error reporting in test.
- Tweak naming - Provide more details to users
fca237d
to
852adff
Compare
bors try |
tryBuild succeeded: |
@@ -652,3 +671,68 @@ selectRndStatePending wid = do | |||
where | |||
assocFromEntity (RndStatePendingAddress _ accIx addrIx addr) = | |||
((W.Index accIx, W.Index addrIx), addr) | |||
|
|||
{------------------------------------------------------------------------------- | |||
Provide ReaderT instance for MonadSTM |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like a MonadSTM
instance for ReaderT
, though, no?
bors r+ |
3071: Bump cardano-node from 1.32.1 to 1.33.0 r=piotr-iohk a=rvl Updates cardano-node version to [1.33.0](https://github.com/input-output-hk/cardano-node/releases/tag/1.33.0). - [x] Update cardano-node and libs in `stack.yaml` - [x] Update cardano-node and libs in `cabal.project` - [x] Bump Stackage LTS to latest version. - [x] Fix build failures due to cardano-api / cardano-ledger changes. - [x] Fix build failures due to `io-classes` change in IntersectMBO/ouroboros-network#3512. - [x] Update version matrix in README.md ### Comments Unblocks #2781. ### Issue Number ADP-1315 Co-authored-by: Rodney Lorrimar <[email protected]> Co-authored-by: Johannes Lund <[email protected]> Co-authored-by: Samuel Evans-Powell <[email protected]>
Build failed:
Unit test timeout on linux. |
bors r+ |
Build succeeded: |
Updates cardano-node version to 1.33.0.
stack.yaml
cabal.project
io-classes
change in Injective STM and Async type families IntersectMBO/ouroboros-network#3512.Comments
Unblocks #2781.
Issue Number
ADP-1315