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

fix: potential index out of bounds #5775

Merged

Merge branch 'development' into sw_fix_index_out_of_bounds

58f9a2e
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
Merged

fix: potential index out of bounds #5775

Merge branch 'development' into sw_fix_index_out_of_bounds
58f9a2e
Select commit
Loading
Failed to load commit list.
GitHub Actions / Test Results (Integration tests) failed Oct 5, 2023 in 0s

1 fail, 32 pass in 22m 21s

  2 files  ±0  11 suites  ±0   22m 21s ⏱️ + 9m 14s
33 tests +4  32 ✔️ +3  0 💤 ±0  1 +1 
34 runs  +5  33 ✔️ +4  0 💤 ±0  1 +1 

Results for commit 58f9a2e. ± Comparison against earlier commit 5fe1a48.

Annotations

Check warning on line 0 in /

See this annotation in the file changed.

@github-actions github-actions / Test Results (Integration tests)

1 out of 2 runs failed: Scenario: As a client I want to send a one-sided transaction: tests/features/WalletFFI.feature:175:5

artifacts/junit-ffi-cucumber/cucumber-output-junit.xml [took 9m 2s]
Raw output
Step panicked. Captured output: Wallet RECEIVER failed to have at least num 1 txs with status 9, current status is 0
  Scenario: As a client I want to send a one-sided transaction
   ✔  Given I have a seed node SEED
   ✔  When I have a base node BASE1 connected to all seed nodes
   ✔  When I have wallet SENDER connected to base node BASE1
   ✔  And I have a ffi wallet FFI_WALLET connected to base node SEED
   ✔  When I have wallet RECEIVER connected to base node BASE1
   ✔  When I add contact with alias ALIAS1 and address of SENDER to ffi wallet FFI_WALLET
   ✔  When I add contact with alias ALIAS2 and address of RECEIVER to ffi wallet FFI_WALLET
   ✔  When I have mining node MINER connected to base node BASE1 and wallet SENDER
   ✔  When mining node MINER mines 10 blocks
   ✔  Then all nodes are at height 10
   ✔  Then I wait for wallet SENDER to have at least 129239250000 uT
   ✔  And I send 2400000 uT from wallet SENDER to wallet FFI_WALLET at fee 5
   ✔  And I send 2400000 uT from wallet SENDER to wallet FFI_WALLET at fee 5
   ✔  Then wallet SENDER has at least 2 transactions that are all TRANSACTION_STATUS_BROADCAST and not cancelled
   ✔  Then ffi wallet FFI_WALLET detects AT_LEAST 2 ffi transactions to be TRANSACTION_STATUS_BROADCAST
   ✔  When mining node MINER mines 10 blocks
   ✔  Then all nodes are at height 20
   ✔  Then ffi wallet FFI_WALLET detects AT_LEAST 2 ffi transactions to be TRANSACTION_STATUS_MINED
   ✔  Then I wait for ffi wallet FFI_WALLET to have at least 4000000 uT
   ✔  And I send 1000000 uT from ffi wallet FFI_WALLET to wallet RECEIVER at fee 5 via one-sided transactions
   ✔  Then ffi wallet FFI_WALLET detects AT_LEAST 3 ffi transactions to be TRANSACTION_STATUS_BROADCAST
   ✔  When mining node MINER mines 2 blocks
   ✔  Then all nodes are at height 22
   ✘  Then wallet RECEIVER has at least 1 transactions that are all TRANSACTION_STATUS_FAUX_UNCONFIRMED and not cancelled
      Step failed:
      Defined: tests/features/WalletFFI.feature:205:9
      Matched: integration_tests/tests/steps/wallet_steps.rs:495:1
      Step panicked. Captured output: Wallet RECEIVER failed to have at least num 1 txs with status 9, current status is 0
      Client {
          base_nodes: {},
          blocks: {},
          miners: {
              "MINER": MinerProcess {
                  name: "MINER",
                  base_node_name: "BASE1",
                  wallet_name: "SENDER",
                  mine_until_height: 100000,
              },
          },
          ffi_wallets: {
              "FFI_WALLET": WalletFFI {
                  name: "FFI_WALLET",
                  port: 18371,
                  wallet: Mutex {
                      data: Wallet {
                          ptr: 0x00007f1e1800b280,
                          liveness_data: Mutex {
                              data: {
                                  "b82c15b288ec827567308745d59199a383d6461908496511d6ecb56de7f6f46b55": ContactsLivenessData {
                                      ptr: 0x00007f1f9c0156a0,
                                  },
                              },
                              poisoned: false,
                              ..
                          },
                          balance: CachedBalance {
                              available: 2400000,
                              time_locked: 0,
                              pending_incoming: 1399330,
                              pending_outgoing: 2400000,
                          },
                      },
                      poisoned: false,
                      ..
                  },
              },
          },
          wallets: {},
          merge_mining_proxies: {},
          chat_clients: [],
          transactions: {},
          wallet_addresses: {},
          utxos: {},
          output_hash: None,
          pre_image: None,
          wallet_connected_to_base_node: {
              "SENDER": "BASE1",
              "RECEIVER": "BASE1",
          },
          seed_nodes: [
              "SEED",
          ],
          wallet_tx_ids: {
              "b82c15b288ec827567308745d59199a383d6461908496511d6ecb56de7f6f46b55": [
                  6168462942837901203,
                  5245489374170111086,
              ],
              "4af1c31392e69848565290cac3aacdb8671c2d2c04732c9acefeaebbecedd55554": [
                  6168462942837901203,
                  5245489374170111086,
              ],
          },
          errors: [],
          last_imported_tx_ids: [],
          last_merge_miner_response: Null,
      }

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Test Results (Integration tests)

33 tests found

There are 33 tests, see "Raw output" for the full list of tests.
Raw output
Scenario: A message is propagated between clients via 3rd party: tests/features/ChatFFI.feature:7:3
Scenario: A message receives a delivery receipt via FFI: tests/features/ChatFFI.feature:78:3
Scenario: A message receives a read receipt via FFI: tests/features/ChatFFI.feature:86:3
Scenario: As a client I want to receive a one-sided transaction: tests/features/WalletFFI.feature:212:5
Scenario: As a client I want to receive contact liveness events: tests/features/WalletFFI.feature:73:5
Scenario: As a client I want to retrieve a list of transactions I have made and received: tests/features/WalletFFI.feature:96:5
Scenario: As a client I want to retrieve the mnemonic word list for a given language: tests/features/WalletFFI.feature:24:5
Scenario: As a client I want to send a one-sided transaction: tests/features/WalletFFI.feature:175:5
Scenario: As a wallet I want to submit a transaction: tests/features/WalletQuery.feature:18:3
Scenario: As a wallet send to a wallet connected to a different base node: tests/features/WalletTransfer.feature:9:3
Scenario: Callback for delivery confirmation received: tests/features/ChatFFI.feature:22:3
Scenario: Callback for new message received: tests/features/ChatFFI.feature:14:3
Scenario: Callback for read confirmation received: tests/features/ChatFFI.feature:31:3
Scenario: Chat shuts down without any errors: tests/features/ChatFFI.feature:63:3
Scenario: Clear out mempool: tests/features/Mempool.feature:46:3
Scenario: Create burn transaction: tests/features/WalletTransactions.feature:411:3
Scenario: Node rolls back reorg on invalid block: tests/features/Reorgs.feature:63:3
Scenario: Pruned mode simple sync: tests/features/Sync.feature:50:3
Scenario: Pruned node should handle burned output: tests/features/Sync.feature:61:3
Scenario: Pruned node should prune outputs: tests/features/Propagation.feature:92:3
Scenario: Reply to message: tests/features/ChatFFI.feature:68:3
Scenario: Simple block sync: tests/features/Sync.feature:26:3
Scenario: Simple propagation: tests/features/Propagation.feature:26:3
Scenario: Simple reorg to stronger chain: tests/features/Reorgs.feature:8:3
Scenario: Simple reorg with burned output: tests/features/Reorgs.feature:33:3
Scenario: Sync burned output: tests/features/Sync.feature:34:3
Scenario: Syncing node while also mining before tip sync: tests/features/Sync.feature:142:5
Scenario: Transactions are propagated through a network: tests/features/Mempool.feature:8:3
Scenario: Verify UTXO and kernel MMR size in header: tests/features/BlockTemplate.feature:8:1
Scenario: Wallet recovery with connected base node staying online: tests/features/WalletRecovery.feature:8:5
Scenario: Wallet sending and receiving one-sided transactions: tests/features/WalletTransactions.feature:8:3
Scenario: When a new node joins the network, it receives all peers: tests/features/Sync.feature:77:3
Scenario: Zero-conf transactions: tests/features/Mempool.feature:124:3