Issue with wallet_importdescriptors.py --descriptors under valgrind #27229

issue fanquake openend this issue on March 8, 2023
  1. fanquake commented at 9:03 pm on March 8, 2023: member

    This was running #27226 rebased on master (at the time 8d12127a9c19cb218d661a88ab9b6871c9d853b9).

      0256/256 - wallet_importdescriptors.py --descriptors failed, Duration: 3065 s 
      1
      2stdout:
      32023-03-08T19:51:27.647000Z TestFramework (INFO): PRNG seed is: 266766692547859291
      42023-03-08T19:51:27.648000Z TestFramework (INFO): Initializing test directory /home/ubuntu/ci_scratch/ci/scratch/test_runner/test_runner_₿_🏃_20230308_165259/wallet_importdescriptors_86
      52023-03-08T19:51:44.422000Z TestFramework (INFO): Setting up wallets
      62023-03-08T19:51:48.643000Z TestFramework (INFO): Mining coins
      72023-03-08T19:52:01.196000Z TestFramework (INFO): Import should fail if a descriptor is not provided
      82023-03-08T19:52:01.232000Z TestFramework (INFO): Should import a p2pkh descriptor
      92023-03-08T19:52:02.257000Z TestFramework (INFO): Test can import same descriptor with public key twice
     102023-03-08T19:52:02.481000Z TestFramework (INFO): Test can update descriptor label
     112023-03-08T19:52:02.732000Z TestFramework (INFO): Internal addresses cannot have labels
     122023-03-08T19:52:02.746000Z TestFramework (INFO): Internal addresses should be detected as such
     132023-03-08T19:52:02.987000Z TestFramework (INFO): Should not import a p2sh-p2wpkh descriptor without checksum
     142023-03-08T19:52:03.000000Z TestFramework (INFO): Should not import a p2sh-p2wpkh descriptor that has range specified
     152023-03-08T19:52:03.049000Z TestFramework (INFO): Should not import a p2sh-p2wpkh descriptor and have it set to active
     162023-03-08T19:52:03.065000Z TestFramework (INFO): Should import a (non-active) p2sh-p2wpkh descriptor
     172023-03-08T19:52:03.976000Z TestFramework (INFO): Should import a 1-of-2 bare multisig from descriptor
     182023-03-08T19:52:04.260000Z TestFramework (INFO): Should not treat individual keys from the imported bare multisig as watchonly
     192023-03-08T19:52:04.284000Z TestFramework (INFO): Ranged descriptors cannot have labels
     202023-03-08T19:52:04.346000Z TestFramework (INFO): Private keys required for private keys enabled wallet
     212023-03-08T19:52:04.407000Z TestFramework (INFO): Ranged descriptor import should warn without a specified range
     222023-03-08T19:52:04.902000Z TestFramework (INFO): Should not import a ranged descriptor that includes xpriv into a watch-only wallet
     232023-03-08T19:52:04.959000Z TestFramework (INFO): Should not import a descriptor with hardened derivations when private keys are disabled
     242023-03-08T19:52:05.233000Z TestFramework (INFO): Verify we can only extend descriptor's range
     252023-03-08T19:52:07.965000Z TestFramework (INFO): Check we can change descriptor internal flag
     262023-03-08T19:52:09.524000Z TestFramework (INFO): Key ranges should be imported in order
     272023-03-08T19:52:13.027000Z TestFramework (INFO): Check we can change next_index
     282023-03-08T19:52:16.359000Z TestFramework (INFO): Check imported descriptors are not active by default
     292023-03-08T19:52:16.960000Z TestFramework (INFO): Check can activate inactive descriptor
     302023-03-08T19:52:17.750000Z TestFramework (INFO): Check can deactivate active descriptor
     312023-03-08T19:52:18.480000Z TestFramework (INFO): Verify activation state is persistent
     322023-03-08T19:52:19.073000Z TestFramework (INFO): Should import a descriptor with a WIF private key as spendable
     332023-03-08T19:52:19.323000Z TestFramework (INFO): Test can import same descriptor with private key twice
     342023-03-08T19:52:25.121000Z TestFramework (INFO): Test that multisigs can be imported, signed for, and getnewaddress'd
     352023-03-08T19:53:23.322000Z TestFramework (INFO): Multisig with distributed keys
     362023-03-08T19:53:58.924000Z TestFramework (INFO): We can create and use a huge multisig under P2WSH
     372023-03-08T19:55:33.870000Z TestFramework (INFO): Under P2SH, multisig are standard with up to 15 compressed keys
     382023-03-08T19:56:49.926000Z TestFramework (INFO): Amending multisig with new private keys
     392023-03-08T19:57:09.705000Z TestFramework (INFO): Combo descriptors cannot be active
     402023-03-08T19:57:09.748000Z TestFramework (INFO): Descriptors with no type cannot be active
     412023-03-08T19:57:10.542000Z TestFramework (INFO): Test importing a descriptor to an encrypted wallet
     422023-03-08T20:02:32.611000Z TestFramework (INFO): Stopping nodes
     432023-03-08T20:42:32.654000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
     44    def is_node_stopped(self):
     45        """Checks whether the node has stopped.
     46
     47        Returns True if the node has stopped. False otherwise.
     48        This method is responsible for freeing resources (self.process)."""
     49        if not self.running:
     50            return True
     51        return_code = self.process.poll()
     52        if return_code is None:
     53            return False
     54
     55        # process has stopped. Assert that it didn't return an error code.
     56        assert return_code == 0, self._node_msg(
     57            "Node returned non-zero exit code (%d) when stopping" % return_code)
     58        self.running = False
     59        self.process = None
     60        self.rpc_connected = False
     61        self.rpc = None
     62        self.log.debug("Node stopped")
     63        return True
     64'''
     65[node 1] Cleaning up leftover process
     66[node 0] Cleaning up leftover process
     67
     68
     69stderr:
     70Traceback (most recent call last):
     71  File "/home/ubuntu/ci_scratch/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/test/functional/wallet_importdescriptors.py", line 699, in <module>
     72    ImportDescriptorsTest().main()
     73  File "/home/ubuntu/ci_scratch/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/test/functional/test_framework/test_framework.py", line 157, in main
     74    exit_code = self.shutdown()
     75  File "/home/ubuntu/ci_scratch/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/test/functional/test_framework/test_framework.py", line 313, in shutdown
     76    self.stop_nodes()
     77  File "/home/ubuntu/ci_scratch/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/test/functional/test_framework/test_framework.py", line 581, in stop_nodes
     78    node.wait_until_stopped()
     79  File "/home/ubuntu/ci_scratch/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/test/functional/test_framework/test_node.py", line 388, in wait_until_stopped
     80    wait_until_helper(self.is_node_stopped, timeout=timeout, timeout_factor=self.timeout_factor)
     81  File "/home/ubuntu/ci_scratch/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/test/functional/test_framework/util.py", line 281, in wait_until_helper
     82    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
     83AssertionError: Predicate ''''
     84    def is_node_stopped(self):
     85        """Checks whether the node has stopped.
     86
     87        Returns True if the node has stopped. False otherwise.
     88        This method is responsible for freeing resources (self.process)."""
     89        if not self.running:
     90            return True
     91        return_code = self.process.poll()
     92        if return_code is None:
     93            return False
     94
     95        # process has stopped. Assert that it didn't return an error code.
     96        assert return_code == 0, self._node_msg(
     97            "Node returned non-zero exit code (%d) when stopping" % return_code)
     98        self.running = False
     99        self.process = None
    100        self.rpc_connected = False
    101        self.rpc = None
    102        self.log.debug("Node stopped")
    103        return True
    104''' not true after 2400.0 seconds
    

    See here for combined log: https://gist.github.com/fanquake/b9e9669a2023118908d7a91e9cb117b7

  2. fanquake added the label Bug on Mar 8, 2023
  3. fanquake added the label Tests on Mar 8, 2023
  4. maflcko commented at 9:08 pm on March 8, 2023: member

    Looks like node0 exits the http thread, but forgets to actually shut down?

    0 node0 2023-03-08T20:02:32.703470Z [http] [httpserver.cpp:307] [ThreadHTTP] [http] Exited http event loop 
    1 node0 2023-03-08T20:06:42.411033Z [scheduler] [net.cpp:1532] [DumpAddresses] [net] Flushed 0 addresses to peers.dat  14ms 
    2 node0 2023-03-08T20:21:42.423331Z [scheduler] [net.cpp:1532] [DumpAddresses] [net] Flushed 0 addresses to peers.dat  10ms 
    3 node0 2023-03-08T20:36:42.434867Z [scheduler] [net.cpp:1532] [DumpAddresses] [net] Flushed 0 addresses to peers.dat  10ms 
    
  5. maflcko commented at 12:50 pm on March 10, 2023: member
    Maybe re-try after #27199 ?
  6. fanquake commented at 1:34 pm on March 10, 2023: member

    Maybe re-try after #27199 ?

    Running that on master at the moment.

  7. maflcko commented at 1:38 pm on March 10, 2023: member
    I don’t think it currently works in the current form.
  8. maflcko commented at 9:29 pm on March 16, 2023: member
  9. maflcko closed this on Mar 16, 2023

  10. bitcoin locked this on Mar 15, 2024

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: 2024-06-29 10:13 UTC

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