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

cardano-testnet: call the CLI check-node-configuration to catch configuration errors #6096

Merged
merged 1 commit into from
Jan 30, 2025

cardano-testnet: call the CLI check-node-configuration to catch confi…

5697558
Select commit
Loading
Failed to load commit list.
Merged

cardano-testnet: call the CLI check-node-configuration to catch configuration errors #6096

cardano-testnet: call the CLI check-node-configuration to catch confi…
5697558
Select commit
Loading
Failed to load commit list.
IOG Hydra / ci/hydra-build:x86_64-darwin.native.checks/cardano-testnet/cardano-testnet-test failed Jan 30, 2025 in 3m 52s

Build failed

1 failed steps

Details

Failed Steps

Step 1

Derivation

/nix/store/i94c6a3flmarg6559qarfaqjnbigvf0g-cardano-testnet-test-cardano-testnet-test-10.0.0-check.drv

Log

unpacking sources
unpacking source archive /nix/store/wkr3b16lqfr7kax58i8l4zfjxky1akc0-source-root-cardano-testnet-test-cardano-testnet-test-root
source root is source-root-cardano-testnet-test-cardano-testnet-test-root
patching sources
building
/nix/store/n21jr14labdd0m69gvvqvwzirw3g8w5b-cardano-testnet-test-cardano-testnet-test-10.0.0/bin:
patching script interpreter paths in /tmp/tmp.BZM26xiy9R/tmp.iQAXTJZICK/bin
test/Spec.hs
  Spec
    Ledger Events
      Sanity Check:                                           OK (42.15s)
          ✓ Sanity Check passed 1 test.
      Governance
        Committee Add New:                                    IGNORED on MacOS and Windows
          IGNORED on MacOS and Windows
        DRep Deposits:                                        OK (35.12s)
            ✓ DRep Deposits passed 1 test.
        DRep Retirement:                                      OK (47.12s)
            ✓ DRep Retirement passed 1 test.
        Propose And Ratify New Constitution:                  IGNORED on MacOS and Windows
          IGNORED on MacOS and Windows
        Gov Action Timeout:                                   FAIL (163.54s)
            ✗ Gov Action Timeout failed at src/Testnet/Start/Cardano.hs:338:5
              after 1 test.
              shrink path: 1:
            
              forAll0 =
                Cardano node process did not start - address already in use: 
                cardano-node: DiffusionError Network.Socket.bind: resource busy (Address already in use)
              
              forAll1 =
                Waiting for port 57389 to be available before starting node
              
              forAll2 =
                Node name: node3
              
              forAll3 =
                Waiting for port 57388 to be available before starting node
              
              forAll4 =
                Exceeded timeout when retrying node start
              
              forAll5 =
                Retrying on 'address in use' error, timeout: -0.945742s
              
              forAll6 =
                Waiting for port 57388 to be available before starting node
              
              forAll7 =
                Node name: node2
              
              forAll8 =
                Waiting for port 57387 to be available before starting node
              
              forAll9 =
                Node name: node1
              
              forAll10 =
                Writing file: /private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281/node-data/node3/topology.json
              
              forAll11 =
                Writing file: /private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281/node-data/node2/topology.json
              
              forAll12 =
                Writing file: /private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281/node-data/node1/topology.json
              
              forAll13 =
                Writing file: /private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281/node-data/node3/port
              
              forAll14 =
                Writing file: /private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281/node-data/node2/port
              
              forAll15 =
                Writing file: /private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281/node-data/node1/port
              
              forAll16 =
                ━━━━ command ━━━━
                /nix/store/j5m4q3axa2zdpyv4m0ir797szhv1lw37-cardano-cli-exe-cardano-cli-10.3.0.0/bin/cardano-cli debug check-node-configuration --node-configuration-file /private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281/configuration.yaml
              
              forAll17 =
                Reading file: /private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281/utxo-keys/utxo3/utxo.addr
              
              forAll18 =
                ━━━━ command ━━━━
                /nix/store/j5m4q3axa2zdpyv4m0ir797szhv1lw37-cardano-cli-exe-cardano-cli-10.3.0.0/bin/cardano-cli latest address build --payment-verification-key-file /private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281/utxo-keys/utxo3/utxo.vkey --testnet-magic 42 --out-file /private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281/utxo-keys/utxo3/utxo.addr
              
              forAll19 =
                Reading file: /private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281/utxo-keys/utxo2/utxo.addr
              
              forAll20 =
                ━━━━ command ━━━━
                /nix/store/j5m4q3axa2zdpyv4m0ir797szhv1lw37-cardano-cli-exe-cardano-cli-10.3.0.0/bin/cardano-cli latest address build --payment-verification-key-file /private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281/utxo-keys/utxo2/utxo.vkey --testnet-magic 42 --out-file /private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281/utxo-keys/utxo2/utxo.addr
              
              forAll21 =
                Reading file: /private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281/utxo-keys/utxo1/utxo.addr
              
              forAll22 =
                ━━━━ command ━━━━
                /nix/store/j5m4q3axa2zdpyv4m0ir797szhv1lw37-cardano-cli-exe-cardano-cli-10.3.0.0/bin/cardano-cli latest address build --payment-verification-key-file /private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281/utxo-keys/utxo1/utxo.vkey --testnet-magic 42 --out-file /private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281/utxo-keys/utxo1/utxo.addr
              
              forAll23 =
                byron-gen-command
              
              forAll24 =
                pools-keys
              
              forAll25 =
                genesis.alonzo.spec.json
              
              forAll26 =
                byron-genesis.json
              
              forAll27 =
                utxo-keys
              
              forAll28 =
                stake-delegators
              
              forAll29 =
                work
              
              forAll30 =
                conway-genesis.json
              
              forAll31 =
                byron.genesis.spec.json
              
              forAll32 =
                shelley-genesis.json
              
              forAll33 =
                module
              
              forAll34 =
                drep-keys
              
              forAll35 =
                genesis-keys
              
              forAll36 =
                delegate-keys
              
              forAll37 =
                alonzo-genesis.json
              
              forAll38 =
                genesis.conway.spec.json
              
              forAll39 =
                Listing directory: /private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281/
              
              forAll40 =
                ━━━━ command ━━━━
                /nix/store/j5m4q3axa2zdpyv4m0ir797szhv1lw37-cardano-cli-exe-cardano-cli-10.3.0.0/bin/cardano-cli conway genesis create-testnet-data --spec-shelley /private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281/genesis-input.shelley.json --spec-alonzo /private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281/genesis-input.alonzo.json --spec-conway /private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281/genesis-input.conway.json --testnet-magic 42 --pools 1 --total-supply 100000020000000 --stake-delegators 3 --utxo-keys 3 --drep-keys 3 --start-time 2025-01-30T16:30:29Z --out-dir /private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281/
              
              forAll41 =
                Number of seeded UTxO keys: 3
              
              forAll42 =
                Number of stake delegators: 1
              
              forAll43 =
                Number of pools: 1
              
              forAll44 =
                Writing file: /private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281/genesis-input.shelley.json
              
              forAll45 =
                Reading file: /private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281/genesis-input.shelley.json
              
              forAll46 =
                Rewriting JSON file: /private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281/genesis-input.shelley.json
              
              forAll47 =
                Creating directory if missing: /private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281
              
              forAll48 =
                "/private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281/configuration.yaml"
              
              forAll49 =
                "/private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281/genesis.conway.spec.json"
              
              forAll50 =
                "/private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281/genesis.alonzo.spec.json"
              
              forAll51 =
                darwin
              
              forAll52 =
                2025-01-30 16:30:29.039338 UTC
              
              forAll53 =
                2025-01-30 16:30:14.039338 UTC
            
                  ┏━━ test/cardano-testnet-test/Cardano/Testnet/Test/Gov/GovActionTimeout.hs ━━━
               42 ┃ hprop_check_gov_action_timeout :: Property
               43 ┃ hprop_check_gov_action_timeout = integrationWorkspace "gov-action-timeout" $ \tempAbsBasePath' ->
                  ┃ │ Workspace: /private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281
               44 ┃                                  H.runWithDefaultWatchdog_ $ do
               45 ┃   -- Start a local test net
               46 ┃   conf@Conf { tempAbsPath } <- mkConf tempAbsBasePath'
                  ┃   │ /private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281
               47 ┃   let tempAbsPath' = unTmpAbsPath tempAbsPath
               48 ┃       tempBaseAbsPath = makeTmpBaseAbsPath tempAbsPath
               49 ┃ 
               50 ┃   work <- H.createDirectoryIfMissing $ tempAbsPath' </> "work"
                  ┃   │ Creating directory if missing: /private/tmp/tmp.BZM26xiy9R/gov-action-timeout-test-c7bef08bb3c81281/work
               51 ┃ 
               52 ┃   -- Create default testnet
               53 ┃   let ceo = ConwayEraOnwardsConway
               54 ┃       sbe = convert ceo
               55 ┃       eraName = eraToString sbe
               56 ┃       asbe = AnyShelleyBasedEra sbe
               57 ┃       fastTestnetOptions = def { cardanoNodeEra = asbe }
               58 ┃       shelleyOptions = def { genesisEpochLength = 200 }
               59 ┃ 
               60 ┃   TestnetRuntime
               61 ┃     { testnetMagic
               62 ┃     , testnetNodes
               63 ┃     , wallets=wallet0:wallet1:_
               64 ┃     , configurationFile
               65 ┃     }
               66 ┃     <- cardanoTestnetDefault fastTestnetOptions shelleyOptions conf
               67 ┃ 
               68 ┃   node <- H.headM testnetNodes
               69 ┃   poolSprocket1 <- H.noteShow $ nodeSprocket node
               70 ┃   execConfig <- mkExecConfig tempBaseAbsPath poolSprocket1 testnetMagic
               71 ┃   let socketPath = nodeSocketPath node
               72 ┃ 
               73 ┃   epochStateView <- getEpochStateView configurationFile socketPath
               74 ┃ 
               75 ┃   H.note_ $ "Sprocket: " <> show poolSprocket1
               76 ┃   H.note_ $ "Abs path: " <> tempAbsBasePath'
               77 ┃   H.note_ $ "Socketpath: " <> unFile socketPath
               78 ┃   H.note_ $ "Foldblocks config file: " <> unFile configurationFile
               79 ┃ 
               80 ┃   gov <- H.createDirectoryIfMissing $ work </> "governance"
               81 ┃ 
               82 ┃   baseDir <- H.createDirectoryIfMissing $ gov </> "output"
               83 ┃ 
               84 ┃   -- Figure out expiration time for proposals
               85 ┃ 
               86 ┃   govActionLifetime <- getGovActionLifetime epochStateView ceo
               87 ┃   H.note_ $ "govActionLifetime: " <> show govActionLifetime
               88 ┃ 
               89 ┃   -- Register stake address
               90 ┃   let stakeCertFp = gov </> "stake.regcert"
               91 ┃       stakeKeys =  KeyPair { verificationKey = File $ gov </> "stake.vkey"
               92 ┃                            , signingKey = File $ gov </> "stake.skey"
               93 ┃                            }
               94 ┃   cliStakeAddressKeyGen stakeKeys
               95 ┃   keyDeposit <- getKeyDeposit epochStateView ceo
               96 ┃   createStakeKeyRegistrationCertificate
               97 ┃     tempAbsPath (AnyShelleyBasedEra sbe) (verificationKey stakeKeys) keyDeposit stakeCertFp
               98 ┃ 
               99 ┃ 
              100 ┃   stakeCertTxBodyFp <- H.note $ work </> "stake.registration.txbody"
              101 ┃   stakeCertTxSignedFp <- H.note $ work </> "stake.registration.tx"
              102 ┃ 
              103 ┃   txin1 <- findLargestUtxoForPaymentKey epochStateView sbe wallet1
              104 ┃ 
              105 ┃   void $ execCli' execConfig
              106 ┃     [ eraName, "transaction", "build"
              107 ┃     , "--change-address", Text.unpack $ paymentKeyInfoAddr wallet1
              108 ┃     , "--tx-in", Text.unpack $ renderTxIn txin1
              109 ┃     , "--tx-out", Text.unpack (paymentKeyInfoAddr wallet1) <> "+" <> show @Int 10_000_000
              110 ┃     , "--certificate-file", stakeCertFp
              111 ┃     , "--witness-override", show @Int 2
              112 ┃     , "--out-file", stakeCertTxBodyFp
              113 ┃     ]
              114 ┃ 
              115 ┃   void $ execCli' execConfig
              116 ┃     [ eraName, "transaction", "sign"
              117 ┃     , "--tx-body-file", stakeCertTxBodyFp
              118 ┃     , "--signing-key-file", signingKeyFp $ paymentKeyInfoPair wallet1
              119 ┃     , "--signing-key-file", signingKeyFp stakeKeys
              120 ┃     , "--out-file", stakeCertTxSignedFp
              121 ┃     ]
              122 ┃ 
              123 ┃   void $ execCli' execConfig
              124 ┃     [ eraName, "transaction", "submit"
              125 ┃     , "--tx-file", stakeCertTxSignedFp
              126 ┃     ]
              127 ┃ 
              128 ┃   -- make sure that stake registration cert gets into a block
              129 ┃   _ <- waitForBlocks epochStateView 1
              130 ┃ 
              131 ┃   -- Create a proposal
              132 ┃   (governanceActionTxId, _governanceActionIndex) <-
              133 ┃     makeActivityChangeProposal execConfig epochStateView ceo (baseDir </> "proposal")
              134 ┃                                Nothing (EpochInterval 3) stakeKeys wallet0 (EpochInterval 2)
              135 ┃ 
              136 ┃   -- Wait for proposal to expire
              137 ┃   void $ waitForEpochs epochStateView (EpochInterval $ unEpochInterval govActionLifetime + 1)
              138 ┃ 
              139 ┃   -- Check proposal expired
              140 ┃   mGovernanceActionTxIx <- watchEpochStateUpdate epochStateView (EpochInterval 2) $ \(anyNewEpochState, _, _) ->
              141 ┃       return $ maybeExtractGovernanceActionIndex (fromString governanceActionTxId) anyNewEpochState
              142 ┃ 
              143 ┃   mGovernanceActionTxIx H.=== Nothing
            
              This failure can be reproduced by running:
              > recheckAt (Seed 12014406324688053141 12503661119574459569) "1:" Gov Action Timeout
            
          Use "--pattern '$NF ~ /Gov Action Timeout/' --hedgehog-replay '1: Seed 12014406324688053141 12503661119574459569'" to reproduce from the command-line.
          
          Use -p '/Gov Action Timeout/' to rerun this test only.
        Treasury Donation:                                    OK (119.41s)
            ✓ Treasury Donation passed 1 test.
        Treasury Withdrawal:                                  IGNORED on MacOS and Windows
          IGNORED on MacOS and Windows
        PParam change fails for SPO:                          OK (52.66s)
            ✓ PParam change fails for SPO passed 1 test.
        InfoAction:                                           OK (98.41s)
            ✓ InfoAction passed 1 test.
        Transaction Build Wrong Hash:                         OK (25.24s)
            ✓ Transaction Build Wrong Hash passed 1 test.
      Plutus
        PlutusV3:                                             OK (26.05s)
            ✓ PlutusV3 passed 1 test.
    CLI
      Shutdown:                                               OK (12.74s)
          ✓ Shutdown passed 1 test.
      Shutdown On Sigint:                                     IGNORED on MacOS and Windows
        IGNORED on MacOS and Windows
      Shutdown On SlotSynced:                                 OK (36.53s)
          ✓ Shutdown On SlotSynced passed 1 test.
      stake snapshot:                                         OK (166.84s)
          ✓ stake snapshot passed 1 test.
      simple transaction build:                               OK (22.33s)
          ✓ simple transaction build passed 1 test.
      register deregister stake address in transaction build: OK (27.26s)
          ✓ register deregister stake address in transaction build passed 1 test.
      kes-period-info:                                        OK (167.64s)
          ✓ kes-period-info passed 1 test.
      query-slot-number:                                      OK (21.17s)
          ✓ query-slot-number passed 1 test.
      foldEpochState receives ledger state:                   OK (34.47s)
          ✓ foldEpochState receives ledger state passed 1 test.
      CliQueries:                                             IGNORED on MacOS and Windows
        IGNORED on MacOS and Windows
  SubmitApi
    transaction:                                              IGNORED on MacOS and Windows
      IGNORED on MacOS and Windows

1 out of 23 tests failed (220.30s)