Seen on a aarch64 Alpine box. Master @ https://github.com/bitcoin/bitcoin/commit/40e1c4d4024b8ad35f2511b2e10bf80c5531dfde. Binaries compiled with Clang 15.0.7. Valgrind valgrind-3.21.0.GIT
.
We saw some issues with this test recently (#27229), but this looks like a different issue:
0261/262 - wallet_importdescriptors.py --descriptors failed, Duration: 411 s
1
2stdout:
32023-03-20T10:39:03.422000Z TestFramework (INFO): PRNG seed is: 4441145092714460381
42023-03-20T10:39:03.423000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20230320_101936/wallet_importdescriptors_88
52023-03-20T10:39:08.174000Z TestFramework (INFO): Setting up wallets
62023-03-20T10:39:09.056000Z TestFramework (INFO): Mining coins
72023-03-20T10:39:10.636000Z TestFramework (INFO): Import should fail if a descriptor is not provided
82023-03-20T10:39:10.649000Z TestFramework (INFO): Should import a p2pkh descriptor
92023-03-20T10:39:10.799000Z TestFramework (INFO): Test can import same descriptor with public key twice
102023-03-20T10:39:10.835000Z TestFramework (INFO): Test can update descriptor label
112023-03-20T10:39:10.870000Z TestFramework (INFO): Internal addresses cannot have labels
122023-03-20T10:39:10.874000Z TestFramework (INFO): Internal addresses should be detected as such
132023-03-20T10:39:10.915000Z TestFramework (INFO): Should not import a p2sh-p2wpkh descriptor without checksum
142023-03-20T10:39:10.919000Z TestFramework (INFO): Should not import a p2sh-p2wpkh descriptor that has range specified
152023-03-20T10:39:10.926000Z TestFramework (INFO): Should not import a p2sh-p2wpkh descriptor and have it set to active
162023-03-20T10:39:10.930000Z TestFramework (INFO): Should import a (non-active) p2sh-p2wpkh descriptor
172023-03-20T10:39:11.107000Z TestFramework (INFO): Should import a 1-of-2 bare multisig from descriptor
182023-03-20T10:39:11.147000Z TestFramework (INFO): Should not treat individual keys from the imported bare multisig as watchonly
192023-03-20T10:39:11.151000Z TestFramework (INFO): Ranged descriptors cannot have labels
202023-03-20T10:39:11.160000Z TestFramework (INFO): Private keys required for private keys enabled wallet
212023-03-20T10:39:11.177000Z TestFramework (INFO): Ranged descriptor import should warn without a specified range
222023-03-20T10:39:11.234000Z TestFramework (INFO): Should not import a ranged descriptor that includes xpriv into a watch-only wallet
232023-03-20T10:39:11.242000Z TestFramework (INFO): Should not import a descriptor with hardened derivations when private keys are disabled
242023-03-20T10:39:11.281000Z TestFramework (INFO): Verify we can only extend descriptor's range
252023-03-20T10:39:11.765000Z TestFramework (INFO): Check we can change descriptor internal flag
262023-03-20T10:39:12.046000Z TestFramework (INFO): Key ranges should be imported in order
272023-03-20T10:39:12.431000Z TestFramework (INFO): Check we can change next_index
282023-03-20T10:39:12.709000Z TestFramework (INFO): Check imported descriptors are not active by default
292023-03-20T10:39:12.754000Z TestFramework (INFO): Check can activate inactive descriptor
302023-03-20T10:39:12.811000Z TestFramework (INFO): Check can deactivate active descriptor
312023-03-20T10:39:12.862000Z TestFramework (INFO): Verify activation state is persistent
322023-03-20T10:39:12.942000Z TestFramework (INFO): Should import a descriptor with a WIF private key as spendable
332023-03-20T10:39:12.978000Z TestFramework (INFO): Test can import same descriptor with private key twice
342023-03-20T10:39:14.574000Z TestFramework (INFO): Test that multisigs can be imported, signed for, and getnewaddress'd
352023-03-20T10:39:35.707000Z TestFramework (INFO): Multisig with distributed keys
362023-03-20T10:39:46.670000Z TestFramework (INFO): We can create and use a huge multisig under P2WSH
372023-03-20T10:40:19.550000Z TestFramework (INFO): Under P2SH, multisig are standard with up to 15 compressed keys
382023-03-20T10:40:45.496000Z TestFramework (INFO): Amending multisig with new private keys
392023-03-20T10:40:51.063000Z TestFramework (INFO): Combo descriptors cannot be active
402023-03-20T10:40:51.068000Z TestFramework (INFO): Descriptors with no type cannot be active
412023-03-20T10:40:51.127000Z TestFramework (INFO): Test importing a descriptor to an encrypted wallet
422023-03-20T10:41:54.188000Z TestFramework (INFO): Stopping nodes
432023-03-20T10:45:54.240000Z 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:
70Exception in thread Thread-1:
71Traceback (most recent call last):
72 File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
73 self.run()
74 File "/usr/lib/python3.10/threading.py", line 953, in run
75 self._target(*self._args, **self._kwargs)
76 File "/bitcoin/test/functional/test_framework/coverage.py", line 49, in __call__
77 return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
78 File "/bitcoin/test/functional/test_framework/authproxy.py", line 149, in __call__
79 raise JSONRPCException(response['error'], status)
80test_framework.authproxy.JSONRPCException: Error: Please enter the wallet passphrase with walletpassphrase first. (-13)
81Traceback (most recent call last):
82 File "/bitcoin/test/functional/wallet_importdescriptors.py", line 717, in <module>
83 ImportDescriptorsTest().main()
84 File "/bitcoin/test/functional/test_framework/test_framework.py", line 155, in main
85 exit_code = self.shutdown()
86 File "/bitcoin/test/functional/test_framework/test_framework.py", line 314, in shutdown
87 self.stop_nodes()
88 File "/bitcoin/test/functional/test_framework/test_framework.py", line 582, in stop_nodes
89 node.wait_until_stopped()
90 File "/bitcoin/test/functional/test_framework/test_node.py", line 388, in wait_until_stopped
91 wait_until_helper(self.is_node_stopped, timeout=timeout, timeout_factor=self.timeout_factor)
92 File "/bitcoin/test/functional/test_framework/util.py", line 281, in wait_until_helper
93 raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
94AssertionError: Predicate ''''
95 def is_node_stopped(self):
96 """Checks whether the node has stopped.
97
98 Returns True if the node has stopped. False otherwise.
99 This method is responsible for freeing resources (self.process)."""
100 if not self.running:
101 return True
102 return_code = self.process.poll()
103 if return_code is None:
104 return False
105
106 # process has stopped. Assert that it didn't return an error code.
107 assert return_code == 0, self._node_msg(
108 "Node returned non-zero exit code (%d) when stopping" % return_code)
109 self.running = False
110 self.process = None
111 self.rpc_connected = False
112 self.rpc = None
113 self.log.debug("Node stopped")
114 return True
115''' not true after 240 seconds