Summay
If a user is running python3.14.0t they would see a warning log that would fail the integration test suite.
This change adds PYTHON_GIL=1 to the env when running our functional test suite to ensure that the tests pass for users running python3.14.0t and are not manually setting PYTHON_GIL=1.
This resolves #33582
Tests before and after
Before
0./build/test/functional/test_runner.py interface_ipc.py
1Temporary test directory at /tmp/test_runner_₿_🏃_20260319_142327
2Remaining jobs: [interface_ipc.py]
31/1 - interface_ipc.py failed, Duration: 2 s
4
5stdout:
62026-03-19T18:23:27.330123Z TestFramework (INFO): PRNG seed is: 4933091336597497631
72026-03-19T18:23:27.380917Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20260319_142327/interface_ipc_0
82026-03-19T18:23:28.625944Z TestFramework (INFO): Running echo test
92026-03-19T18:23:28.635856Z TestFramework (INFO): Running mining test
102026-03-19T18:23:28.648965Z TestFramework (INFO): Running deprecated mining interface test
112026-03-19T18:23:28.653589Z TestFramework (INFO): Running disconnect during BlockTemplate.waitNext
122026-03-19T18:23:28.821124Z TestFramework (INFO): Running thread busy test
132026-03-19T18:23:29.195589Z TestFramework (INFO): Stopping nodes
142026-03-19T18:23:29.299135Z TestFramework (INFO): Cleaning up /tmp/test_runner_₿_🏃_20260319_142327/interface_ipc_0 on exit
152026-03-19T18:23:29.299329Z TestFramework (INFO): Tests successful
16
17
18stderr:
19<frozen importlib._bootstrap>:491: RuntimeWarning: The global interpreter lock (GIL) has been enabled to load module 'capnp.lib.capnp', which has not declared that it can run safely without the GIL. To override this behavior and keep the GIL disabled (at your own risk), run with PYTHON_GIL=0 or -Xgil=0.
20
21
22
23TEST | STATUS | DURATION
24
25interface_ipc.py | ✖ Failed | 2 s
26
27ALL | ✖ Failed | 2 s (accumulated)
28Runtime: 2 s
After
0./build/test/functional/test_runner.py interface_ipc.py
1Temporary test directory at /tmp/test_runner_₿_🏃_20260319_142221
2Remaining jobs: [interface_ipc.py]
31/1 - interface_ipc.py passed, Duration: 2 s
4
5TEST | STATUS | DURATION
6
7interface_ipc.py | ✓ Passed | 2 s
8
9ALL | ✓ Passed | 2 s (accumulated)
10Runtime: 2 s