Networking tests fail on emulated big-endian systems #31812

issue l0rinc openend this issue on February 6, 2025
  1. l0rinc commented at 4:43 pm on February 6, 2025: contributor

    Running the test with an emulated big-endian system (via docker run --platform linux/s390x -it ubuntu:24.10 /bin/bash, as described in #31344 (comment)), I’m seeing mismatched byte orders in IP address representations. I’ve noticed this in #29852 (comment), but it reproduces on master as well.

    The problems seems to be that the kernel file /proc/net/tcp always stores addresses in little-endian order, regardless of the system’s architecture, so we should likely adjust the addr_to_hex or _convert_ip_port methods:

      0TEST                                                     | STATUS    | DURATION
      1
      2example_test.py                                          | ✓ Passed  | 6 s
      3feature_abortnode.py                                     | ✓ Passed  | 3 s
      4feature_addrman.py                                       | ✓ Passed  | 10 s
      5feature_anchors.py                                       | ✓ Passed  | 6 s
      6feature_asmap.py                                         | ✓ Passed  | 11 s
      7feature_assumeutxo.py                                    | ✓ Passed  | 77 s
      8feature_assumevalid.py                                   | ✓ Passed  | 63 s
      9feature_bip68_sequence.py                                | ✓ Passed  | 62 s
     10feature_block.py                                         | ✓ Passed  | 662 s
     11feature_blocksdir.py                                     | ✓ Passed  | 3 s
     12feature_blocksxor.py                                     | ✓ Passed  | 8 s
     13feature_cltv.py                                          | ✓ Passed  | 3 s
     14feature_coinstatsindex.py                                | ✓ Passed  | 13 s
     15feature_config_args.py                                   | ✓ Passed  | 38 s
     16feature_csv_activation.py                                | ✓ Passed  | 53 s
     17feature_dersig.py                                        | ✓ Passed  | 3 s
     18feature_dirsymlinks.py                                   | ✓ Passed  | 3 s
     19feature_discover.py                                      | ✓ Passed  | 6 s
     20feature_fastprune.py                                     | ✓ Passed  | 3 s
     21feature_fee_estimation.py                                | ✓ Passed  | 176 s
     22feature_filelock.py                                      | ✓ Passed  | 5 s
     23feature_framework_miniwallet.py                          | ✓ Passed  | 51 s
     24feature_framework_unit_tests.py                          | ✓ Passed  | 86 s
     25feature_help.py                                          | ✓ Passed  | 2 s
     26feature_includeconf.py                                   | ✓ Passed  | 6 s
     27feature_init.py                                          | ✓ Passed  | 29 s
     28feature_loadblock.py                                     | ✓ Passed  | 6 s
     29feature_logging.py                                       | ✓ Passed  | 9 s
     30feature_maxtipage.py                                     | ✓ Passed  | 25 s
     31feature_maxuploadtarget.py                               | ✓ Passed  | 214 s
     32feature_minchainwork.py                                  | ✓ Passed  | 13 s
     33feature_notifications.py                                 | ✓ Passed  | 11 s
     34feature_nulldummy.py                                     | ✓ Passed  | 5 s
     35feature_port.py                                          | ✓ Passed  | 7 s
     36feature_posix_fs_permissions.py                          | ✓ Passed  | 2 s
     37feature_presegwit_node_upgrade.py                        | ✓ Passed  | 4 s
     38feature_proxy.py                                         | ✓ Passed  | 12 s
     39feature_rbf.py                                           | ✓ Passed  | 38 s
     40feature_reindex.py                                       | ✓ Passed  | 27 s
     41feature_reindex_readonly.py                              | ✓ Passed  | 3 s
     42feature_remove_pruned_files_on_startup.py                | ✓ Passed  | 11 s
     43feature_segwit.py --descriptors --v1transport            | ✓ Passed  | 17 s
     44feature_segwit.py --descriptors --v2transport            | ✓ Passed  | 16 s
     45feature_segwit.py --legacy-wallet                        | ✓ Passed  | 39 s
     46feature_settings.py                                      | ✓ Passed  | 11 s
     47feature_shutdown.py                                      | ✓ Passed  | 3 s
     48feature_signet.py                                        | ✓ Passed  | 14 s
     49feature_startupnotify.py                                 | ✓ Passed  | 3 s
     50feature_taproot.py                                       | ✓ Passed  | 542 s
     51feature_uacomment.py                                     | ✓ Passed  | 7 s
     52feature_utxo_set_hash.py                                 | ✓ Passed  | 4 s
     53feature_versionbits_warning.py                           | ✓ Passed  | 8 s
     54interface_http.py                                        | ✓ Passed  | 3 s
     55interface_rest.py                                        | ✓ Passed  | 7 s
     56interface_rpc.py                                         | ✓ Passed  | 5 s
     57interface_zmq.py                                         | ✓ Passed  | 29 s
     58mempool_accept.py                                        | ✓ Passed  | 16 s
     59mempool_accept_wtxid.py                                  | ✓ Passed  | 16 s
     60mempool_datacarrier.py                                   | ✓ Passed  | 4 s
     61mempool_dust.py                                          | ✓ Passed  | 14 s
     62mempool_ephemeral_dust.py                                | ✓ Passed  | 67 s
     63mempool_expiry.py                                        | ✓ Passed  | 5 s
     64mempool_limit.py                                         | ✓ Passed  | 89 s
     65mempool_package_limits.py                                | ✓ Passed  | 11 s
     66mempool_package_onemore.py                               | ✓ Passed  | 4 s
     67mempool_package_rbf.py                                   | ✓ Passed  | 43 s
     68mempool_packages.py                                      | ✓ Passed  | 8 s
     69mempool_persist.py --descriptors                         | ✓ Passed  | 26 s
     70mempool_reorg.py                                         | ✓ Passed  | 7 s
     71mempool_resurrect.py                                     | ✓ Passed  | 3 s
     72mempool_sigoplimit.py                                    | ✓ Passed  | 11 s
     73mempool_spend_coinbase.py                                | ✓ Passed  | 3 s
     74mempool_truc.py                                          | ✓ Passed  | 22 s
     75mempool_unbroadcast.py                                   | ✓ Passed  | 20 s
     76mempool_updatefromblock.py                               | ✓ Passed  | 156 s
     77mining_basic.py                                          | ✓ Passed  | 38 s
     78mining_getblocktemplate_longpoll.py                      | ✓ Passed  | 70 s
     79mining_mainnet.py                                        | ✓ Passed  | 24 s
     80mining_prioritisetransaction.py                          | ✓ Passed  | 19 s
     81p2p_1p1c_network.py                                      | ✓ Passed  | 37 s
     82p2p_add_connections.py                                   | ✓ Passed  | 10 s
     83p2p_addr_relay.py                                        | ✓ Passed  | 24 s
     84p2p_addrfetch.py                                         | ✓ Passed  | 2 s
     85p2p_addrv2_relay.py                                      | ✓ Passed  | 3 s
     86p2p_block_sync.py --v1transport                          | ✓ Passed  | 5 s
     87p2p_block_sync.py --v2transport                          | ✓ Passed  | 4 s
     88p2p_blockfilters.py                                      | ✓ Passed  | 65 s
     89p2p_blocksonly.py                                        | ✓ Passed  | 16 s
     90p2p_compactblocks.py                                     | ✓ Passed  | 16 s
     91p2p_compactblocks_blocksonly.py                          | ✓ Passed  | 4 s
     92p2p_compactblocks_hb.py --v1transport                    | ✓ Passed  | 21 s
     93p2p_compactblocks_hb.py --v2transport                    | ✓ Passed  | 25 s
     94p2p_disconnect_ban.py --v1transport                      | ✓ Passed  | 5 s
     95p2p_disconnect_ban.py --v2transport                      | ✓ Passed  | 5 s
     96p2p_dns_seeds.py                                         | ✓ Passed  | 39 s
     97p2p_dos_header_tree.py                                   | ✓ Passed  | 5 s
     98p2p_eviction.py                                          | ✓ Passed  | 6 s
     99p2p_feefilter.py                                         | ✓ Passed  | 9 s
    100p2p_filter.py                                            | ✓ Passed  | 8 s
    101p2p_fingerprint.py                                       | ✓ Passed  | 3 s
    102p2p_getaddr_caching.py                                   | ✓ Passed  | 34 s
    103p2p_getdata.py                                           | ✓ Passed  | 2 s
    104p2p_handshake.py                                         | ✓ Passed  | 5 s
    105p2p_handshake.py --v2transport                           | ✓ Passed  | 9 s
    106p2p_headers_sync_with_minchainwork.py                    | ✓ Passed  | 127 s
    107p2p_i2p_ports.py                                         | ✓ Passed  | 2 s
    108p2p_i2p_sessions.py                                      | ✓ Passed  | 2 s
    109p2p_ibd_stalling.py --v1transport                        | ✓ Passed  | 26 s
    110p2p_ibd_stalling.py --v2transport                        | ✓ Passed  | 46 s
    111p2p_ibd_txrelay.py                                       | ✓ Passed  | 4 s
    112p2p_initial_headers_sync.py                              | ✓ Passed  | 3 s
    113p2p_invalid_block.py --v1transport                       | ✓ Passed  | 4 s
    114p2p_invalid_block.py --v2transport                       | ✓ Passed  | 5 s
    115p2p_invalid_locator.py                                   | ✓ Passed  | 4 s
    116p2p_invalid_messages.py                                  | ✓ Passed  | 47 s
    117p2p_invalid_tx.py --v1transport                          | ✓ Passed  | 10 s
    118p2p_invalid_tx.py --v2transport                          | ✓ Passed  | 19 s
    119p2p_leak.py                                              | ✓ Passed  | 8 s
    120p2p_leak_tx.py --v1transport                             | ✓ Passed  | 11 s
    121p2p_leak_tx.py --v2transport                             | ✓ Passed  | 12 s
    122p2p_message_capture.py                                   | ✓ Passed  | 2 s
    123p2p_mutated_blocks.py                                    | ✓ Passed  | 4 s
    124p2p_net_deadlock.py --v1transport                        | ✓ Passed  | 6 s
    125p2p_net_deadlock.py --v2transport                        | ✓ Passed  | 6 s
    126p2p_nobloomfilter_messages.py                            | ✓ Passed  | 3 s
    127p2p_node_network_limited.py --v1transport                | ✓ Passed  | 23 s
    128p2p_node_network_limited.py --v2transport                | ✓ Passed  | 24 s
    129p2p_opportunistic_1p1c.py                                | ✓ Passed  | 87 s
    130p2p_orphan_handling.py                                   | ✓ Passed  | 29 s
    131p2p_outbound_eviction.py                                 | ✓ Passed  | 8 s
    132p2p_permissions.py                                       | ✓ Passed  | 21 s
    133p2p_ping.py                                              | ✓ Passed  | 3 s
    134p2p_seednode.py                                          | ✓ Passed  | 5 s
    135p2p_segwit.py                                            | ✓ Passed  | 242 s
    136p2p_sendheaders.py                                       | ✓ Passed  | 39 s
    137p2p_sendtxrcncl.py                                       | ✓ Passed  | 10 s
    138p2p_timeouts.py --v1transport                            | ✓ Passed  | 3 s
    139p2p_timeouts.py --v2transport                            | ✓ Passed  | 4 s
    140p2p_tx_download.py                                       | ✓ Passed  | 139 s
    141p2p_tx_privacy.py                                        | ✓ Passed  | 3 s
    142p2p_unrequested_blocks.py                                | ✓ Passed  | 9 s
    143p2p_v2_encrypted.py                                      | ✓ Passed  | 23 s
    144p2p_v2_misbehaving.py                                    | ✓ Passed  | 5 s
    145p2p_v2_transport.py                                      | ✓ Passed  | 11 s
    146rpc_blockchain.py --v1transport                          | ✓ Passed  | 30 s
    147rpc_blockchain.py --v2transport                          | ✓ Passed  | 30 s
    148rpc_createmultisig.py                                    | ✓ Passed  | 35 s
    149rpc_decodescript.py                                      | ✓ Passed  | 2 s
    150rpc_deprecated.py                                        | ✓ Passed  | 3 s
    151rpc_deriveaddresses.py                                   | ✓ Passed  | 2 s
    152rpc_deriveaddresses.py --usecli                          | ✓ Passed  | 4 s
    153rpc_dumptxoutset.py                                      | ✓ Passed  | 2 s
    154rpc_estimatefee.py                                       | ✓ Passed  | 2 s
    155rpc_generate.py                                          | ✓ Passed  | 12 s
    156rpc_getblockfilter.py                                    | ✓ Passed  | 4 s
    157rpc_getblockfrompeer.py                                  | ✓ Passed  | 19 s
    158rpc_getblockstats.py                                     | ✓ Passed  | 3 s
    159rpc_getchaintips.py                                      | ✓ Passed  | 7 s
    160rpc_getdescriptoractivity.py                             | ✓ Passed  | 6 s
    161rpc_getdescriptorinfo.py                                 | ✓ Passed  | 3 s
    162rpc_help.py                                              | ✓ Passed  | 4 s
    163rpc_invalid_address_message.py                           | ✓ Passed  | 3 s
    164rpc_invalidateblock.py                                   | ✓ Passed  | 3 s
    165rpc_mempool_info.py                                      | ✓ Passed  | 3 s
    166rpc_misc.py                                              | ✓ Passed  | 4 s
    167rpc_named_arguments.py                                   | ✓ Passed  | 3 s
    168rpc_net.py --v1transport                                 | ✓ Passed  | 55 s
    169rpc_net.py --v2transport                                 | ✓ Passed  | 54 s
    170rpc_orphans.py                                           | ✓ Passed  | 4 s
    171rpc_packages.py                                          | ✓ Passed  | 31 s
    172rpc_preciousblock.py                                     | ✓ Passed  | 4 s
    173rpc_psbt.py --descriptors                                | ✓ Passed  | 34 s
    174rpc_psbt.py --legacy-wallet                              | ✓ Passed  | 33 s
    175rpc_rawtransaction.py --legacy-wallet                    | ✓ Passed  | 22 s
    176rpc_scanblocks.py                                        | ✓ Passed  | 4 s
    177rpc_scantxoutset.py                                      | ✓ Passed  | 103 s
    178rpc_setban.py --v1transport                              | ✓ Passed  | 7 s
    179rpc_setban.py --v2transport                              | ✓ Passed  | 7 s
    180rpc_signer.py                                            | ✓ Passed  | 6 s
    181rpc_signmessagewithprivkey.py                            | ✓ Passed  | 2 s
    182rpc_signrawtransactionwithkey.py                         | ✓ Passed  | 3 s
    183rpc_txoutproof.py                                        | ✓ Passed  | 8 s
    184rpc_uptime.py                                            | ✓ Passed  | 2 s
    185rpc_users.py                                             | ✓ Passed  | 24 s
    186rpc_validateaddress.py                                   | ✓ Passed  | 3 s
    187rpc_whitelist.py                                         | ✓ Passed  | 4 s
    188tool_signet_miner.py --descriptors                       | ✓ Passed  | 9 s
    189tool_signet_miner.py --legacy-wallet                     | ✓ Passed  | 6 s
    190tool_wallet.py --descriptors                             | ✓ Passed  | 100 s
    191tool_wallet.py --legacy-wallet                           | ✓ Passed  | 140 s
    192tool_wallet.py --legacy-wallet --bdbro                   | ✓ Passed  | 142 s
    193tool_wallet.py --legacy-wallet --bdbro --swap-bdb-endian | ✓ Passed  | 102 s
    194wallet_abandonconflict.py --descriptors                  | ✓ Passed  | 13 s
    195wallet_abandonconflict.py --legacy-wallet                | ✓ Passed  | 14 s
    196wallet_address_types.py --descriptors                    | ✓ Passed  | 33 s
    197wallet_address_types.py --legacy-wallet                  | ✓ Passed  | 56 s
    198wallet_assumeutxo.py --descriptors                       | ✓ Passed  | 21 s
    199wallet_avoid_mixing_output_types.py --descriptors        | ✓ Passed  | 8 s
    200wallet_avoidreuse.py --descriptors                       | ✓ Passed  | 84 s
    201wallet_avoidreuse.py --legacy-wallet                     | ✓ Passed  | 379 s
    202wallet_backup.py --descriptors                           | ✓ Passed  | 46 s
    203wallet_backup.py --legacy-wallet                         | ✓ Passed  | 71 s
    204wallet_balance.py --descriptors                          | ✓ Passed  | 15 s
    205wallet_balance.py --legacy-wallet                        | ✓ Passed  | 15 s
    206wallet_basic.py --descriptors                            | ✓ Passed  | 53 s
    207wallet_basic.py --legacy-wallet                          | ✓ Passed  | 59 s
    208wallet_blank.py --descriptors                            | ✓ Passed  | 3 s
    209wallet_blank.py --legacy-wallet                          | ✓ Passed  | 4 s
    210wallet_bumpfee.py --descriptors                          | ✓ Passed  | 66 s
    211wallet_bumpfee.py --legacy-wallet                        | ✓ Passed  | 66 s
    212wallet_change_address.py --descriptors                   | ✓ Passed  | 17 s
    213wallet_change_address.py --legacy-wallet                 | ✓ Passed  | 23 s
    214wallet_coinbase_category.py --descriptors                | ✓ Passed  | 4 s
    215wallet_coinbase_category.py --legacy-wallet              | ✓ Passed  | 4 s
    216wallet_conflicts.py --descriptors                        | ✓ Passed  | 54 s
    217wallet_conflicts.py --legacy-wallet                      | ✓ Passed  | 78 s
    218wallet_create_tx.py --descriptors                        | ✓ Passed  | 22 s
    219wallet_create_tx.py --legacy-wallet                      | ✓ Passed  | 31 s
    220wallet_createwallet.py --descriptors                     | ✓ Passed  | 7 s
    221wallet_createwallet.py --legacy-wallet                   | ✓ Passed  | 6 s
    222wallet_createwallet.py --usecli                          | ✓ Passed  | 15 s
    223wallet_createwalletdescriptor.py --descriptors           | ✓ Passed  | 4 s
    224wallet_crosschain.py                                     | ✓ Passed  | 4 s
    225wallet_descriptor.py --descriptors                       | ✓ Passed  | 46 s
    226wallet_disable.py                                        | ✓ Passed  | 2 s
    227wallet_dump.py --legacy-wallet                           | ✓ Passed  | 43 s
    228wallet_encryption.py --descriptors                       | ✓ Passed  | 10 s
    229wallet_encryption.py --legacy-wallet                     | ✓ Passed  | 9 s
    230wallet_fallbackfee.py --descriptors                      | ✓ Passed  | 6 s
    231wallet_fallbackfee.py --legacy-wallet                    | ✓ Passed  | 4 s
    232wallet_fundrawtransaction.py --descriptors               | ✓ Passed  | 137 s
    233wallet_gethdkeys.py --descriptors                        | ✓ Passed  | 5 s
    234wallet_groups.py --descriptors                           | ✓ Passed  | 37 s
    235wallet_groups.py --legacy-wallet                         | ✓ Passed  | 82 s
    236wallet_hd.py --descriptors                               | ✓ Passed  | 13 s
    237wallet_hd.py --legacy-wallet                             | ✓ Passed  | 20 s
    238wallet_implicitsegwit.py --legacy-wallet                 | ✓ Passed  | 16 s
    239wallet_import_rescan.py --legacy-wallet                  | ✓ Passed  | 147 s
    240wallet_import_with_label.py --legacy-wallet              | ✓ Passed  | 4 s
    241wallet_importmulti.py --legacy-wallet                    | ✓ Passed  | 29 s
    242wallet_importprunedfunds.py --descriptors                | ✓ Passed  | 5 s
    243wallet_importprunedfunds.py --legacy-wallet              | ✓ Passed  | 6 s
    244wallet_keypool.py --descriptors                          | ✓ Passed  | 12 s
    245wallet_keypool.py --legacy-wallet                        | ✓ Passed  | 15 s
    246wallet_keypool_topup.py --descriptors                    | ✓ Passed  | 48 s
    247wallet_keypool_topup.py --legacy-wallet                  | ✓ Passed  | 43 s
    248wallet_labels.py --descriptors                           | ✓ Passed  | 10 s
    249wallet_labels.py --legacy-wallet                         | ✓ Passed  | 16 s
    250wallet_listdescriptors.py --descriptors                  | ✓ Passed  | 4 s
    251wallet_listreceivedby.py --descriptors                   | ✓ Passed  | 12 s
    252wallet_listreceivedby.py --legacy-wallet                 | ✓ Passed  | 10 s
    253wallet_listsinceblock.py --descriptors                   | ✓ Passed  | 17 s
    254wallet_listsinceblock.py --legacy-wallet                 | ✓ Passed  | 17 s
    255wallet_listtransactions.py --descriptors                 | ✓ Passed  | 73 s
    256wallet_multisig_descriptor_psbt.py --descriptors         | ✓ Passed  | 19 s
    257wallet_multiwallet.py --descriptors                      | ✓ Passed  | 29 s
    258wallet_multiwallet.py --legacy-wallet                    | ✓ Passed  | 28 s
    259wallet_multiwallet.py --usecli                           | ✓ Passed  | 55 s
    260wallet_orphanedreward.py                                 | ✓ Passed  | 20 s
    261wallet_reindex.py --descriptors                          | ✓ Passed  | 9 s
    262wallet_reindex.py --legacy-wallet                        | ✓ Passed  | 9 s
    263wallet_reorgsrestore.py                                  | ✓ Passed  | 11 s
    264wallet_rescan_unconfirmed.py --descriptors               | ✓ Passed  | 3 s
    265wallet_resendwallettransactions.py --descriptors         | ✓ Passed  | 4 s
    266wallet_resendwallettransactions.py --legacy-wallet       | ✓ Passed  | 5 s
    267wallet_send.py --descriptors                             | ✓ Passed  | 49 s
    268wallet_send.py --legacy-wallet                           | ✓ Passed  | 87 s
    269wallet_sendmany.py --descriptors                         | ✓ Passed  | 4 s
    270wallet_sendmany.py --legacy-wallet                       | ✓ Passed  | 3 s
    271wallet_signer.py --descriptors                           | ✓ Passed  | 19 s
    272wallet_signmessagewithaddress.py                         | ✓ Passed  | 3 s
    273wallet_signrawtransactionwithwallet.py --descriptors     | ✓ Passed  | 10 s
    274wallet_signrawtransactionwithwallet.py --legacy-wallet   | ✓ Passed  | 6 s
    275wallet_simulaterawtx.py --descriptors                    | ✓ Passed  | 5 s
    276wallet_simulaterawtx.py --legacy-wallet                  | ✓ Passed  | 5 s
    277wallet_spend_unconfirmed.py                              | ✓ Passed  | 12 s
    278wallet_startup.py                                        | ✓ Passed  | 7 s
    279wallet_taproot.py --descriptors                          | ✓ Passed  | 410 s
    280wallet_timelock.py                                       | ✓ Passed  | 3 s
    281wallet_transactiontime_rescan.py --descriptors           | ✓ Passed  | 49 s
    282wallet_transactiontime_rescan.py --legacy-wallet         | ✓ Passed  | 136 s
    283wallet_txn_clone.py                                      | ✓ Passed  | 8 s
    284wallet_txn_clone.py --mineblock                          | ✓ Passed  | 8 s
    285wallet_txn_clone.py --segwit                             | ✓ Passed  | 6 s
    286wallet_txn_doublespend.py --descriptors                  | ✓ Passed  | 7 s
    287wallet_txn_doublespend.py --legacy-wallet                | ✓ Passed  | 8 s
    288wallet_txn_doublespend.py --mineblock                    | ✓ Passed  | 7 s
    289wallet_watchonly.py --legacy-wallet                      | ✓ Passed  | 4 s
    290wallet_watchonly.py --usecli --legacy-wallet             | ✓ Passed  | 9 s
    291feature_bind_port_discover.py                            | ○ Skipped | 1 s
    292feature_bind_port_externalip.py                          | ○ Skipped | 1 s
    293feature_unsupported_utxo_db.py                           | ○ Skipped | 1 s
    294interface_usdt_coinselection.py                          | ○ Skipped | 1 s
    295interface_usdt_mempool.py                                | ○ Skipped | 2 s
    296interface_usdt_net.py                                    | ○ Skipped | 2 s
    297interface_usdt_utxocache.py                              | ○ Skipped | 1 s
    298interface_usdt_validation.py                             | ○ Skipped | 2 s
    299mempool_compatibility.py                                 | ○ Skipped | 1 s
    300wallet_backwards_compatibility.py --descriptors          | ○ Skipped | 1 s
    301wallet_backwards_compatibility.py --legacy-wallet        | ○ Skipped | 1 s
    302wallet_inactive_hdchains.py --legacy-wallet              | ○ Skipped | 1 s
    303wallet_migration.py                                      | ○ Skipped | 1 s
    304wallet_upgradewallet.py --legacy-wallet                  | ○ Skipped | 1 s
    305feature_bind_extra.py                                    | ✖ Failed  | 2 s
    306interface_bitcoin_cli.py --descriptors                   | ✖ Failed  | 6 s
    307interface_bitcoin_cli.py --legacy-wallet                 | ✖ Failed  | 6 s
    308rpc_bind.py --ipv4                                       | ✖ Failed  | 2 s
    309rpc_bind.py --ipv6                                       | ✖ Failed  | 2 s
    310rpc_bind.py --nonloopback                                | ✖ Failed  | 2 s
    311wallet_fast_rescan.py --descriptors                      | ✖ Failed  | 69 s
    312wallet_fundrawtransaction.py --legacy-wallet             | ✖ Failed  | 155 s
    313wallet_importdescriptors.py --descriptors                | ✖ Failed  | 105 s
    314wallet_listtransactions.py --legacy-wallet               | ✖ Failed  | 45 s
    315wallet_miniscript.py --descriptors                       | ✖ Failed  | 116 s
    316wallet_sendall.py --descriptors                          | ✖ Failed  | 42 s
    317wallet_sendall.py --legacy-wallet                        | ✖ Failed  | 48 s
    318
    319ALL                                                      | ✖ Failed  | 9500 s (accumulated)
    320Runtime: 1028 s
    

    Operating system and version

    macOS 15.3

  2. maflcko commented at 8:44 pm on February 6, 2025: member
    I suspect this is a macOS issue, because on my local CI system using Linux the s390x task was last reported to have passed on Feb 2nd.
  3. maflcko added the label macOS on Feb 6, 2025
  4. maflcko added the label CI failed on Feb 6, 2025
  5. l0rinc commented at 7:01 pm on February 10, 2025: contributor

    I ran it on an Ubuntu 24.04 Hetzner server as well and basically got the same result (that 0100007f is not equal to 7f000001):

    0# lsb_release -a
    1No LSB modules are available.
    2Distributor ID: Ubuntu
    3Description:    Ubuntu 24.04.1 LTS
    4Release:        24.04
    5Codename:       noble
    
      01/3 - rpc_bind.py --ipv4 failed, Duration: 2 s                                                                                                     
      1                                                                                                                                                   
      2stdout:                                                                                                                                            
      32025-02-10T18:56:42.927000Z TestFramework (INFO): PRNG seed is: 1808665840999458851                                                                
      42025-02-10T18:56:42.938000Z TestFramework (INFO): Initializing test directory /tmp/test_runner__🏃_20250210_185638/rpc_bind_2                     
      52025-02-10T18:56:42.943000Z TestFramework (INFO): Check for ipv6                                                                                   
      62025-02-10T18:56:42.945000Z TestFramework (INFO): Check for non-loopback interface                                                                 
      72025-02-10T18:56:42.949000Z TestFramework (INFO): Bind test for ['127.0.0.1']                                                                      
      82025-02-10T18:56:43.814000Z TestFramework (ERROR): Assertion failed                                                                                
      9Traceback (most recent call last):                                                                                                                 
     10  File "/mnt/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main                                                          
     11    self.run_test()
     12  File "/mnt/bitcoin/build_dev_mode/test/functional/rpc_bind.py", line 99, in run_test
     13    self._run_loopback_tests()
     14  File "/mnt/bitcoin/build_dev_mode/test/functional/rpc_bind.py", line 110, in _run_loopback_tests
     15    self.run_bind_test(['127.0.0.1'], '127.0.0.1', ['127.0.0.1'],
     16  File "/mnt/bitcoin/build_dev_mode/test/functional/rpc_bind.py", line 45, in run_bind_test
     17    assert_equal(set(get_bind_addrs(pid)), set(expected))
     18  File "/mnt/bitcoin/test/functional/test_framework/util.py", line 77, in assert_equal
     19    raise AssertionError("not(%s)" % " == ".join(str(arg) for arg in (thing1, thing2) + args))
     20AssertionError: not({('0100007f', 16024)} == {('7f000001', 16024)})
     212025-02-10T18:56:43.879000Z TestFramework (INFO): Not stopping nodes as test failed. The dangling processes will be cleaned up later.
     222025-02-10T18:56:43.880000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner__🏃_20250210_185638/rpc_bind_2
     232025-02-10T18:56:43.880000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner__🏃_20250210_185638/rpc_bind_2/test_fra
     24mework.log
     252025-02-10T18:56:43.881000Z TestFramework (ERROR): 
     262025-02-10T18:56:43.882000Z TestFramework (ERROR): Hint: Call /mnt/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20250210_185638/r
     27pc_bind_2' to consolidate all logs
     282025-02-10T18:56:43.883000Z TestFramework (ERROR): 
     292025-02-10T18:56:43.883000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or
     30 upload of the combined log.
     312025-02-10T18:56:43.883000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
     322025-02-10T18:56:43.884000Z TestFramework (ERROR): 
     33
     34
     35stderr:
     36[node 0] Cleaning up leftover process
     37
     38
     392/3 - rpc_bind.py --nonloopback failed, Duration: 2 s                                                                                              
     40                                                                                                                                                   
     41stdout:
     422025-02-10T18:56:42.950000Z TestFramework (INFO): PRNG seed is: 9124635531833716420
     432025-02-10T18:56:42.962000Z TestFramework (INFO): Initializing test directory /tmp/test_runner__🏃_20250210_185638/rpc_bind_0
     442025-02-10T18:56:42.967000Z TestFramework (INFO): Check for ipv6
     452025-02-10T18:56:42.969000Z TestFramework (INFO): Check for non-loopback interface
     462025-02-10T18:56:42.973000Z TestFramework (INFO): Using interface 172.17.0.2 for testing
     472025-02-10T18:56:42.973000Z TestFramework (INFO): Bind test for ['172.17.0.2']
     482025-02-10T18:56:43.828000Z TestFramework (ERROR): Assertion failed
     49Traceback (most recent call last):
     50  File "/mnt/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
     51    self.run_test()
     52  File "/mnt/bitcoin/build_dev_mode/test/functional/rpc_bind.py", line 105, in run_test
     53    self._run_nonloopback_tests()
     54  File "/mnt/bitcoin/build_dev_mode/test/functional/rpc_bind.py", line 136, in _run_nonloopback_tests
     55    self.run_bind_test([self.non_loopback_ip], self.non_loopback_ip, [self.non_loopback_ip],
     56  File "/mnt/bitcoin/build_dev_mode/test/functional/rpc_bind.py", line 45, in run_bind_test
     57    assert_equal(set(get_bind_addrs(pid)), set(expected))
     58  File "/mnt/bitcoin/test/functional/test_framework/util.py", line 77, in assert_equal
     59    raise AssertionError("not(%s)" % " == ".join(str(arg) for arg in (thing1, thing2) + args))
     60AssertionError: not({('020011ac', 16000)} == {('ac110002', 16000)})
     612025-02-10T18:56:43.893000Z TestFramework (INFO): Not stopping nodes as test failed. The dangling processes will be cleaned up later.
     622025-02-10T18:56:43.894000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner__🏃_20250210_185638/rpc_bind_0
     632025-02-10T18:56:43.894000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner__🏃_20250210_185638/rpc_bind_0/test_fra
     64mework.log
     652025-02-10T18:56:43.895000Z TestFramework (ERROR): 
     662025-02-10T18:56:43.897000Z TestFramework (ERROR): Hint: Call /mnt/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20250210_185638/r
     67pc_bind_0' to consolidate all logs
     682025-02-10T18:56:43.897000Z TestFramework (ERROR): 
     692025-02-10T18:56:43.897000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or
     70 upload of the combined log.
     712025-02-10T18:56:43.898000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
     722025-02-10T18:56:43.898000Z TestFramework (ERROR): 
     73
     74
     75stderr:
     76[node 0] Cleaning up leftover process
     77
     78
     79Remaining jobs: [rpc_bind.py --ipv6]                                                                                                               
     803/3 - rpc_bind.py --ipv6 failed, Duration: 3 s                                                                                                     
     81                                                                                                                                                   
     82stdout:                                                                                                                                            
     832025-02-10T18:56:42.927000Z TestFramework (INFO): PRNG seed is: 1670193901987373299                                                                
     842025-02-10T18:56:42.938000Z TestFramework (INFO): Initializing test directory /tmp/test_runner__🏃_20250210_185638/rpc_bind_1                     
     852025-02-10T18:56:42.943000Z TestFramework (INFO): Check for ipv6                                                                                   
     862025-02-10T18:56:42.945000Z TestFramework (INFO): Check for non-loopback interface                                                                 
     872025-02-10T18:56:42.949000Z TestFramework (INFO): Bind test for []                                                                                 
     882025-02-10T18:56:43.820000Z TestFramework (ERROR): Assertion failed                                                                                
     89Traceback (most recent call last):                                                                                                                 
     90  File "/mnt/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main                                                          
     91    self.run_test()
     92  File "/mnt/bitcoin/build_dev_mode/test/functional/rpc_bind.py", line 99, in run_test
     93    self._run_loopback_tests()
     94  File "/mnt/bitcoin/build_dev_mode/test/functional/rpc_bind.py", line 120, in _run_loopback_tests
     95    self.run_bind_test(None, '127.0.0.1', [],
     96  File "/mnt/bitcoin/build_dev_mode/test/functional/rpc_bind.py", line 45, in run_bind_test
     97    assert_equal(set(get_bind_addrs(pid)), set(expected))
     98  File "/mnt/bitcoin/test/functional/test_framework/util.py", line 77, in assert_equal
     99    raise AssertionError("not(%s)" % " == ".join(str(arg) for arg in (thing1, thing2) + args))
    100AssertionError: not({('0100007f', 16012)} == {('00000000000000000000000000000001', 16012), ('7f000001', 16012)})
    1012025-02-10T18:56:43.885000Z TestFramework (INFO): Not stopping nodes as test failed. The dangling processes will be cleaned up later.
    1022025-02-10T18:56:43.885000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner__🏃_20250210_185638/rpc_bind_1
    1032025-02-10T18:56:43.886000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner__🏃_20250210_185638/rpc_bind_1/test_framework.log
    1042025-02-10T18:56:43.887000Z TestFramework (ERROR): 
    1052025-02-10T18:56:43.888000Z TestFramework (ERROR): Hint: Call /mnt/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20250210_185638/rpc_bind_1' to consolidate all logs
    1062025-02-10T18:56:43.888000Z TestFramework (ERROR): 
    1072025-02-10T18:56:43.889000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
    1082025-02-10T18:56:43.889000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
    1092025-02-10T18:56:43.890000Z TestFramework (ERROR): 
    110
    111
    112stderr:
    113[node 0] Cleaning up leftover process
    114
    115
    116
    117TEST                      | STATUS    | DURATION
    118
    119rpc_bind.py --ipv4        |  Failed  | 2 s
    120rpc_bind.py --ipv6        |  Failed  | 3 s
    121rpc_bind.py --nonloopback |  Failed  | 2 s
    122
    123ALL                       |  Failed  | 7 s (accumulated) 
    124Runtime: 3 s
    
  6. maflcko commented at 8:25 am on February 11, 2025: member

    Ah, I see you are manually running the tests. I thought you were running the s390x ci task.

    In the task, the rpc_bind test is excluded:

    https://github.com/bitcoin/bitcoin/blob/79f02d56ef78c22caff39713d660cabf54d452ac/ci/test/00_setup_env_s390x.sh#L14

    The comment links to #17765 (comment)

    So the exclusion back then may have been due to a permission error on aarch64 or s390x, looking at the discussion. Also, the qemu wrapping back then was done on bitcoind only (similar to the valgrind wrapping), but today the wrapping is taken care of by the container engine. Albeit, the valgrind exclusion seems to exist as well, still:

    https://github.com/bitcoin/bitcoin/blob/79f02d56ef78c22caff39713d660cabf54d452ac/ci/test/00_setup_env_native_valgrind.sh#L14

    Moreover, the unrelated --ipv6 issue remains as well (unchanged).

    Finally, on macOS, you report wallet_sendall.py --descriptors | ✖ Failed | 42 s. This seems to be unrelated to networking?

  7. l0rinc commented at 7:57 pm on March 4, 2025: contributor

    I reran the whole thing, the failures on Mac are:

    0feature_bind_extra.py                                                | ✖ Failed  | 1 s
    1interface_bitcoin_cli.py --descriptors                               | ✖ Failed  | 3 s
    2interface_bitcoin_cli.py --legacy-wallet                             | ✖ Failed  | 3 s
    3rpc_bind.py --ipv4                                                   | ✖ Failed  | 1 s
    4rpc_bind.py --ipv6                                                   | ✖ Failed  | 1 s
    5rpc_bind.py --nonloopback                                            | ✖ Failed  | 1 s
    6wallet_importdescriptors.py --descriptors                            | ✖ Failed  | 72 s
    7wallet_miniscript.py --descriptors                                   | ✖ Failed  | 104 s
    

    wallet_sendall.py was passing this time.

    rpc_bind and feature_bind_extra fail with the mentioned endian differences:

     087/318 - feature_bind_extra.py failed, Duration: 1 s
     1
     2stdout:
     32025-03-04T18:12:12.808000Z TestFramework (INFO): PRNG seed is: 3039912222751199635
     42025-03-04T18:12:12.814000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20250304_180603/feature_bind_extra_223
     52025-03-04T18:12:13.412000Z TestFramework (INFO): Checking listening ports of node 0 with ['-bind=127.0.0.1:13679=onion']
     62025-03-04T18:12:13.429000Z TestFramework (ERROR): Assertion failed
     7Traceback (most recent call last):
     8  File "/mnt/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
     9    self.run_test()
    10  File "/mnt/bitcoin/build_dev_mode/test/functional/feature_bind_extra.py", line 88, in run_test
    11    assert_equal(binds, set(expected_services))
    12  File "/mnt/bitcoin/test/functional/test_framework/util.py", line 77, in assert_equal
    13    raise AssertionError("not(%s)" % " == ".join(str(arg) for arg in (thing1, thing2) + args))
    14AssertionError: not({('0100007f', 13679)} == {('7f000001', 13679)})
    152025-03-04T18:12:13.489000Z TestFramework (INFO): Not stopping nodes as test failed. The dangling processes will be cleaned up later.
    162025-03-04T18:12:13.489000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20250304_180603/feature_bind_extra_223
    172025-03-04T18:12:13.489000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20250304_180603/feature_bind_extra_223/test_framework.log
    182025-03-04T18:12:13.490000Z TestFramework (ERROR):
    192025-03-04T18:12:13.490000Z TestFramework (ERROR): Hint: Call /mnt/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20250304_180603/feature_bind_extra_223' to consolidate all logs
    202025-03-04T18:12:13.490000Z TestFramework (ERROR):
    212025-03-04T18:12:13.491000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
    222025-03-04T18:12:13.491000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
    232025-03-04T18:12:13.491000Z TestFramework (ERROR):
    24
    25
    26stderr:
    27[node 2] Cleaning up leftover process
    28[node 1] Cleaning up leftover process
    29[node 0] Cleaning up leftover process
    

    the interface_bitcoin_cli tests are likely also related to the IPv6 big-endian failures:

      0root@40fcec3d6cdf:/mnt/bitcoin# build_dev_mode/test/functional/test_runner.py "interface_bitcoin_cli.py --descriptors" "interface_bitcoin_cli.py --legacy-wallet"
      1Temporary test directory at /tmp/test_runner_₿_🏃_20250304_185252
      2Remaining jobs: [interface_bitcoin_cli.py --descriptors, interface_bitcoin_cli.py --legacy-wallet]
      31/2 - interface_bitcoin_cli.py --descriptors failed, Duration: 3 s
      4
      5stdout:
      62025-03-04T18:52:54.902000Z TestFramework (INFO): PRNG seed is: 4498386837476113083
      72025-03-04T18:52:54.908000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20250304_185252/interface_bitcoin_cli_1
      82025-03-04T18:52:55.726000Z TestFramework (INFO): Compare responses from getblockchaininfo RPC and `bitcoin-cli getblockchaininfo`
      92025-03-04T18:52:55.779000Z TestFramework (INFO): Test named arguments
     102025-03-04T18:52:55.924000Z TestFramework (INFO): Test that later cli named arguments values silently overwrite earlier ones
     112025-03-04T18:52:56.019000Z TestFramework (INFO): Test -stdinrpcpass option
     122025-03-04T18:52:56.374000Z TestFramework (INFO): Test -stdin and -stdinrpcpass
     132025-03-04T18:52:56.730000Z TestFramework (INFO): Test connecting to a non-existing server
     142025-03-04T18:52:56.776000Z TestFramework (INFO): Test handling of invalid ports in rpcconnect
     152025-03-04T18:52:56.929000Z TestFramework (INFO): Checking for IPv6
     162025-03-04T18:52:57.082000Z TestFramework (INFO): Test handling of invalid ports in rpcport
     172025-03-04T18:52:57.232000Z TestFramework (INFO): Test port usage preferences
     182025-03-04T18:52:57.412000Z TestFramework (ERROR): Called Process failed with 'Warning: Port specified in both -rpcconnect and -rpcport. Using -rpcport 16012
     19error: timeout on transient error: Could not connect to the server ::1:16012
     20
     21Make sure the bitcoind server is running and that you are connecting to the correct RPC port.
     22Use "bitcoin-cli -help" for more info.
     23'
     24Traceback (most recent call last):
     25  File "/mnt/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
     26    self.run_test()
     27  File "/mnt/bitcoin/build_dev_mode/test/functional/interface_bitcoin_cli.py", line 152, in run_test
     28    assert_equal(BLOCKS, self.nodes[0].cli("-rpcconnect=[::1]:18999", f'-rpcport={node_rpc_port}').getblockcount())
     29                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     30  File "/mnt/bitcoin/test/functional/test_framework/test_node.py", line 849, in __call__
     31    return self.cli.send_cli(self.command, *args, **kwargs)
     32           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     33  File "/mnt/bitcoin/test/functional/test_framework/test_node.py", line 914, in send_cli
     34    raise subprocess.CalledProcessError(returncode, self.binary, output=cli_stderr)
     35subprocess.CalledProcessError: Command '/mnt/bitcoin/build_dev_mode/src/bitcoin-cli' returned non-zero exit status 1.
     362025-03-04T18:52:57.475000Z TestFramework (INFO): Not stopping nodes as test failed. The dangling processes will be cleaned up later.
     372025-03-04T18:52:57.475000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20250304_185252/interface_bitcoin_cli_1
     382025-03-04T18:52:57.475000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20250304_185252/interface_bitcoin_cli_1/test_framework.log
     392025-03-04T18:52:57.476000Z TestFramework (ERROR): 
     402025-03-04T18:52:57.476000Z TestFramework (ERROR): Hint: Call /mnt/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20250304_185252/interface_bitcoin_cli_1' to consolidate all logs
     412025-03-04T18:52:57.477000Z TestFramework (ERROR): 
     422025-03-04T18:52:57.477000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
     432025-03-04T18:52:57.477000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
     442025-03-04T18:52:57.477000Z TestFramework (ERROR): 
     45
     46
     47stderr:
     48[node 0] Cleaning up leftover process
     49
     50
     51Remaining jobs: [interface_bitcoin_cli.py --legacy-wallet]
     522/2 - interface_bitcoin_cli.py --legacy-wallet failed, Duration: 4 s
     53
     54stdout:
     552025-03-04T18:52:54.905000Z TestFramework (INFO): PRNG seed is: 8805266175087139086
     562025-03-04T18:52:54.912000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20250304_185252/interface_bitcoin_cli_0
     572025-03-04T18:52:55.780000Z TestFramework (INFO): Compare responses from getblockchaininfo RPC and `bitcoin-cli getblockchaininfo`
     582025-03-04T18:52:55.835000Z TestFramework (INFO): Test named arguments
     592025-03-04T18:52:55.978000Z TestFramework (INFO): Test that later cli named arguments values silently overwrite earlier ones
     602025-03-04T18:52:56.072000Z TestFramework (INFO): Test -stdinrpcpass option
     612025-03-04T18:52:56.417000Z TestFramework (INFO): Test -stdin and -stdinrpcpass
     622025-03-04T18:52:56.766000Z TestFramework (INFO): Test connecting to a non-existing server
     632025-03-04T18:52:56.811000Z TestFramework (INFO): Test handling of invalid ports in rpcconnect
     642025-03-04T18:52:56.964000Z TestFramework (INFO): Checking for IPv6
     652025-03-04T18:52:57.118000Z TestFramework (INFO): Test handling of invalid ports in rpcport
     662025-03-04T18:52:57.270000Z TestFramework (INFO): Test port usage preferences
     672025-03-04T18:52:57.452000Z TestFramework (ERROR): Called Process failed with 'Warning: Port specified in both -rpcconnect and -rpcport. Using -rpcport 16000
     68error: timeout on transient error: Could not connect to the server ::1:16000
     69
     70Make sure the bitcoind server is running and that you are connecting to the correct RPC port.
     71Use "bitcoin-cli -help" for more info.
     72'
     73Traceback (most recent call last):
     74  File "/mnt/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
     75    self.run_test()
     76  File "/mnt/bitcoin/build_dev_mode/test/functional/interface_bitcoin_cli.py", line 152, in run_test
     77    assert_equal(BLOCKS, self.nodes[0].cli("-rpcconnect=[::1]:18999", f'-rpcport={node_rpc_port}').getblockcount())
     78                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     79  File "/mnt/bitcoin/test/functional/test_framework/test_node.py", line 849, in __call__
     80    return self.cli.send_cli(self.command, *args, **kwargs)
     81           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     82  File "/mnt/bitcoin/test/functional/test_framework/test_node.py", line 914, in send_cli
     83    raise subprocess.CalledProcessError(returncode, self.binary, output=cli_stderr)
     84subprocess.CalledProcessError: Command '/mnt/bitcoin/build_dev_mode/src/bitcoin-cli' returned non-zero exit status 1.
     852025-03-04T18:52:57.514000Z TestFramework (INFO): Not stopping nodes as test failed. The dangling processes will be cleaned up later.
     862025-03-04T18:52:57.515000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20250304_185252/interface_bitcoin_cli_0
     872025-03-04T18:52:57.515000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20250304_185252/interface_bitcoin_cli_0/test_framework.log
     882025-03-04T18:52:57.516000Z TestFramework (ERROR): 
     892025-03-04T18:52:57.516000Z TestFramework (ERROR): Hint: Call /mnt/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20250304_185252/interface_bitcoin_cli_0' to consolidate all logs
     902025-03-04T18:52:57.516000Z TestFramework (ERROR): 
     912025-03-04T18:52:57.516000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
     922025-03-04T18:52:57.517000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
     932025-03-04T18:52:57.517000Z TestFramework (ERROR): 
     94
     95
     96stderr:
     97[node 0] Cleaning up leftover process
     98
     99
    100
    101TEST                                     | STATUS    | DURATION
    102
    103interface_bitcoin_cli.py --descriptors   | ✖ Failed  | 3 s
    104interface_bitcoin_cli.py --legacy-wallet | ✖ Failed  | 4 s
    105
    106ALL                                      | ✖ Failed  | 7 s (accumulated) 
    107Runtime: 4 s
    

    While wallet_importdescriptors seem to be timing out:

     0build_dev_mode/test/functional/test_runner.py "wallet_importdescriptors.py --descriptors"
     1
     22025-03-04T19:04:22.466000Z TestFramework (INFO): PRNG seed is: 1967788660642355360
     32025-03-04T19:04:22.467000Z TestFramework (DEBUG): Setting up network thread
     42025-03-04T19:04:22.472000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20250304_190421/wallet_importdescriptors_0
     52025-03-04T19:04:22.481000Z TestFramework.node0 (DEBUG): bitcoind started, waiting for RPC to come up
     62025-03-04T19:04:22.485000Z TestFramework.node1 (DEBUG): bitcoind started, waiting for RPC to come up
     72025-03-04T19:04:23.020000Z TestFramework.node0 (DEBUG): RPC successfully started
     82025-03-04T19:04:23.036000Z TestFramework.node1 (DEBUG): RPC successfully started
     92025-03-04T19:04:23.135000Z TestFramework (INFO): Setting up wallets
    102025-03-04T19:04:23.317000Z TestFramework (INFO): Mining coins
    112025-03-04T19:04:24.839000Z TestFramework (INFO): Import should fail if a descriptor is not provided
    122025-03-04T19:04:24.868000Z TestFramework (INFO): Should import a p2pkh descriptor
    132025-03-04T19:04:24.895000Z TestFramework (INFO): Test can import same descriptor with public key twice
    142025-03-04T19:04:24.907000Z TestFramework (INFO): Test can update descriptor label
    152025-03-04T19:04:24.920000Z TestFramework (INFO): Internal addresses cannot have labels
    162025-03-04T19:04:24.922000Z TestFramework (INFO): Internal addresses should be detected as such
    172025-03-04T19:04:24.986000Z TestFramework (INFO): Should not import a p2sh-p2wpkh descriptor without checksum
    182025-03-04T19:04:24.989000Z TestFramework (INFO): Should not import a p2sh-p2wpkh descriptor that has range specified
    192025-03-04T19:04:24.993000Z TestFramework (INFO): Should not import a p2sh-p2wpkh descriptor and have it set to active
    202025-03-04T19:04:24.995000Z TestFramework (INFO): Should import a (non-active) p2sh-p2wpkh descriptor
    212025-03-04T19:04:25.087000Z TestFramework (INFO): Should import a 1-of-2 bare multisig from descriptor
    222025-03-04T19:04:25.103000Z TestFramework (INFO): Should not treat individual keys from the imported bare multisig as watchonly
    232025-03-04T19:04:25.105000Z TestFramework (INFO): Ranged descriptors cannot have labels
    242025-03-04T19:04:25.109000Z TestFramework (INFO): Private keys required for private keys enabled wallet
    252025-03-04T19:04:25.116000Z TestFramework (INFO): Ranged descriptor import should warn without a specified range
    262025-03-04T19:04:25.140000Z TestFramework (INFO): Should not import a ranged descriptor that includes xpriv into a watch-only wallet
    272025-03-04T19:04:25.144000Z TestFramework (INFO): Should not import a descriptor with hardened derivations when private keys are disabled
    282025-03-04T19:04:25.169000Z TestFramework (INFO): Verify we can only extend descriptor's range
    292025-03-04T19:04:25.451000Z TestFramework (INFO): Check we can change descriptor internal flag
    302025-03-04T19:04:25.632000Z TestFramework (INFO): Key ranges should be imported in order
    312025-03-04T19:04:25.816000Z TestFramework (INFO): Check we can change next_index
    322025-03-04T19:04:25.952000Z TestFramework (INFO): Check imported descriptors are not active by default
    332025-03-04T19:04:25.973000Z TestFramework (INFO): Check can activate inactive descriptor
    342025-03-04T19:04:25.998000Z TestFramework (INFO): Check can deactivate active descriptor
    352025-03-04T19:04:26.020000Z TestFramework (INFO): Verify activation state is persistent
    362025-03-04T19:04:26.089000Z TestFramework (INFO): Should import a descriptor with a WIF private key as spendable
    372025-03-04T19:04:26.104000Z TestFramework (INFO): Test can import same descriptor with private key twice
    382025-03-04T19:04:27.258000Z TestFramework (INFO): Test that multisigs can be imported, signed for, and getnewaddress'd
    392025-03-04T19:04:33.073000Z TestFramework.node0 (DEBUG): TestNode.generate() dispatches `generate` call to `generatetoaddress`
    402025-03-04T19:04:40.275000Z TestFramework.node0 (DEBUG): TestNode.generate() dispatches `generate` call to `generatetoaddress`
    412025-03-04T19:04:47.396000Z TestFramework (INFO): Multisig with distributed keys
    422025-03-04T19:05:00.035000Z TestFramework (INFO): We can create and use a huge multisig under P2WSH
    432025-03-04T19:05:44.856000Z TestFramework.node0 (DEBUG): TestNode.generate() dispatches `generate` call to `generatetoaddress`
    442025-03-04T19:05:45.096000Z TestFramework (INFO): Under P2SH, multisig are standard with up to 15 compressed keys
    452025-03-04T19:06:18.502000Z TestFramework.node0 (DEBUG): TestNode.generate() dispatches `generate` call to `generatetoaddress`
    462025-03-04T19:06:19.764000Z TestFramework (INFO): Amending multisig with new private keys
    472025-03-04T19:06:26.270000Z TestFramework (INFO): Combo descriptors cannot be active
    482025-03-04T19:06:26.274000Z TestFramework (INFO): Descriptors with no type cannot be active
    492025-03-04T19:06:26.297000Z TestFramework (INFO): Test importing a descriptor to an encrypted wallet
    502025-03-04T19:06:56.664000Z TestFramework (ERROR): Assertion failed
    51Traceback (most recent call last):
    52  File "/mnt/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    53    self.run_test()
    54  File "/mnt/bitcoin/build_dev_mode/test/functional/wallet_importdescriptors.py", line 692, in run_test
    55    with self.nodes[0].assert_debug_log(expected_msgs=["Rescan started from block 0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206... (slow variant inspecting all blocks)"], timeout=10):
    56         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    57  File "/usr/lib/python3.12/contextlib.py", line 144, in __exit__
    58    next(self.gen)
    59  File "/mnt/bitcoin/test/functional/test_framework/test_node.py", line 519, in assert_debug_log
    60    self._raise_assertion_error('Expected messages "{}" does not partially match log:\n\n{}\n\n'.format(str(expected_msgs), print_log))
    61  File "/mnt/bitcoin/test/functional/test_framework/test_node.py", line 198, in _raise_assertion_error
    62    raise AssertionError(self._node_msg(msg))
    63AssertionError: [node 0] Expected messages "['Rescan started from block 0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206... (slow variant inspecting all blocks)']" does not partially match log:
    64
    65 - 2025-03-04T19:06:37.823007Z [http] [httpserver.cpp:305] [http_request_cb] [http] Received a POST request for /wallet/encrypted_wallet from 127.0.0.1:34374
    66 - 2025-03-04T19:06:37.823296Z [httpworker.13] [rpc/request.cpp:241] [parse] [rpc] ThreadRPCServer method=importdescriptors user=__cookie__
    67 - 2025-03-04T19:06:37.830911Z [httpworker.13] [wallet/sqlite.cpp:55] [TraceSqlCallback] [walletdb:trace] [/tmp/test_runner_₿_🏃_20250304_190421/wallet_importdescriptors_0/node0/regtest/wallets/encrypted_wallet/wallet.dat] SQLite Statement: INSERT INTO main VALUES(?, ?)
    68 - 2025-03-04T19:06:37.831192Z [httpworker.13] [wallet/sqlite.cpp:55] [TraceSqlCallback] [walletdb:trace] [/tmp/test_runner_₿_🏃_20250304_190421/wallet_importdescriptors_0/node0/regtest/wallets/encrypted_wallet/wallet.dat] SQLite Statement: DELETE FROM main WHERE key = ?
    69 - 2025-03-04T19:06:37.831465Z [httpworker.13] [wallet/sqlite.cpp:55] [TraceSqlCallback] [walletdb:trace] [/tmp/test_runner_₿_🏃_20250304_190421/wallet_importdescriptors_0/node0/regtest/wallets/encrypted_wallet/wallet.dat] SQLite Statement: BEGIN TRANSACTION
    70 - 2025-03-04T19:06:37.838855Z [httpworker.13] [wallet/sqlite.cpp:55] [TraceSqlCallback] [walletdb:trace] [/tmp/test_runner_₿_🏃_20250304_190421/wallet_importdescriptors_0/node0/regtest/wallets/encrypted_wallet/wallet.dat] SQLite Statement: INSERT or REPLACE into main values(?, ?)
    71 - 2025-03-04T19:06:37.847305Z [httpworker.13] [wallet/sqlite.cpp:55] [TraceSqlCallback] [walletdb:trace] [/tmp/test_runner_₿_🏃_20250304_190421/wallet_importdescriptors_0/node0/regtest/wallets/encrypted_wallet/wallet.dat] SQLite Statement: INSERT or REPLACE into main values(?, ?)
    72[...]
    73 - 2025-03-04T19:06:47.827776Z [httpworker.13] [wallet/sqlite.cpp:55] [TraceSqlCallback] [walletdb:trace] [/tmp/test_runner_₿_🏃_20250304_190421/wallet_importdescriptors_0/node0/regtest/wallets/encrypted_wallet/wallet.dat] SQLite Statement: INSERT or REPLACE into main values(?, ?)
    74 - 2025-03-04T19:06:47.830586Z [httpworker.13] [wallet/sqlite.cpp:55] [TraceSqlCallback] [walletdb:trace] [/tmp/test_runner_₿_🏃_20250304_190421/wallet_importdescriptors_0/node0/regtest/wallets/encrypted_wallet/wallet.dat] SQLite Statement: INSERT or REPLACE into main values(?, ?)
    75
    76
    772025-03-04T19:06:56.757000Z TestFramework (INFO): Not stopping nodes as test failed. The dangling processes will be cleaned up later.
    782025-03-04T19:06:56.758000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20250304_190421/wallet_importdescriptors_0
    792025-03-04T19:06:56.758000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20250304_190421/wallet_importdescriptors_0/test_framework.log
    802025-03-04T19:06:56.758000Z TestFramework (ERROR): 
    812025-03-04T19:06:56.759000Z TestFramework (ERROR): Hint: Call /mnt/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20250304_190421/wallet_importdescriptors_0' to consolidate all logs
    822025-03-04T19:06:56.759000Z TestFramework (ERROR): 
    832025-03-04T19:06:56.759000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
    842025-03-04T19:06:56.759000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
    852025-03-04T19:06:56.759000Z TestFramework (ERROR): 
    86
    87
    88stderr:
    89[node 1] Cleaning up leftover process
    90[node 0] Cleaning up leftover process
    91
    92
    93
    94TEST                                      | STATUS    | DURATION
    95
    96wallet_importdescriptors.py --descriptors | ✖ Failed  | 154 s
    97
    98ALL                                       | ✖ Failed  | 154 s (accumulated) 
    99Runtime: 154 s
    

    but increasing the timeout to ... (slow variant inspecting all blocks)"], timeout=100): made it pass again.

    And lastly build_dev_mode/test/functional/test_runner.py "wallet_miniscript.py --descriptors" seems to time out for an RPC call that I couldn’t find the timeout value for:

     02025-03-04T19:32:28.629000Z TestFramework (INFO): Generating an address for it and testing it detects funds
     12025-03-04T19:36:41.460000Z TestFramework (ERROR): JSONRPC error
     2Traceback (most recent call last):
     3  File "/mnt/bitcoin/test/functional/test_framework/authproxy.py", line 164, in *get*response
     4    http_response = self.__conn.getresponse()
     5                    ^^^^^^^^^^^^^^^^^^^^^^^^^
     6  File "/usr/lib/python3.12/http/client.py", line 1428, in getresponse
     7    response.begin()
     8  File "/usr/lib/python3.12/http/client.py", line 331, in begin
     9    version, status, reason = self._read_status()
    10                              ^^^^^^^^^^^^^^^^^^^
    11  File "/usr/lib/python3.12/http/client.py", line 292, in *read*status
    12    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
    13               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    14  File "/usr/lib/python3.12/socket.py", line 720, in readinto
    15    return self._sock.recv_into(b)
    16           ^^^^^^^^^^^^^^^^^^^^^^^
    17TimeoutError: timed out
    18During handling of the above exception, another exception occurred:
    19Traceback (most recent call last):
    20  File "/mnt/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    21    self.run_test()
    22  File "/mnt/bitcoin/build_dev_mode/test/functional/wallet_miniscript.py", line 386, in run_test
    23    self.signing_test(desc, None, None, 1, 3, None)
    24  File "/mnt/bitcoin/build_dev_mode/test/functional/wallet_miniscript.py", line 277, in signing_test
    25    utxo = self.ms_sig_wallet.listunspent(addresses=[addr])[0]
    26           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    27  File "/mnt/bitcoin/test/functional/test_framework/coverage.py", line 50, in **call**
    28    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
    29                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    30  File "/mnt/bitcoin/test/functional/test_framework/authproxy.py", line 127, in **call**
    31    response, status = self._request('POST', self.__url.path, postdata.encode('utf-8'))
    32                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    33  File "/mnt/bitcoin/test/functional/test_framework/authproxy.py", line 106, in _request
    34    return self._get_response()
    35           ^^^^^^^^^^^^^^^^^^^^
    36  File "/mnt/bitcoin/test/functional/test_framework/authproxy.py", line 166, in *get*response
    37    raise JSONRPCException({
    38test_framework.authproxy.JSONRPCException: 'listunspent' RPC took longer than 150.000000 seconds. Consider using larger timeout for calls that take longer to return. (-344)
    392025-03-04T19:36:41.531000Z TestFramework (INFO): Not stopping nodes as test failed. The dangling processes will be cleaned up later.
    402025-03-04T19:36:41.531000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20250304_193008/wallet_miniscript_0
    412025-03-04T19:36:41.531000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20250304_193008/wallet_miniscript_0/test_framework.log
    422025-03-04T19:36:41.532000Z TestFramework (ERROR): 
    432025-03-04T19:36:41.532000Z TestFramework (ERROR): Hint: Call /mnt/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20250304_193008/wallet_miniscript_0' to consolidate all logs
    442025-03-04T19:36:41.533000Z TestFramework (ERROR): 
    452025-03-04T19:36:41.533000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
    462025-03-04T19:36:41.533000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
    472025-03-04T19:36:41.533000Z TestFramework (ERROR): 
    48stderr:
    49[node 0] Cleaning up leftover process
    50TEST                               | STATUS    | DURATION
    51wallet_miniscript.py --descriptors | ✖ Failed  | 393 s
    52ALL                                | ✖ Failed  | 393 s (accumulated) 
    53Runtime: 393 s
    

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2025-03-31 09:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me