Page MenuHomePhabricator

[Chronik] Add a simple Python REPL to Chronik
DraftPublic

Authored by tobias_ruck on Mon, Oct 21, 16:30.
This is a draft revision that has not yet been submitted for review.

Details

Reviewers
None
Group Reviewers
Restricted Project
Summary

Rationale: It seems redundant with having a JSON RPC and Chronik protobuf API, but adding a REPL directly into the executable enables a few things that are otherwise not possible:

  • Most importantly, this allows accessing RocksDB directly, and to inspect the DB using its cheap iterators, and other operations that don't really make sense in an RPC-style interface. This allows debugging and inspecting the database in a way that previously required writing Rust code.
  • It allows new devs who want to contribute to Chronik to see what's going on in the DB. There's no interface to look into the DB, so with this REPL they have a portal to understand what's going on
  • We can return all kinds of objects, giving a sort-of programmable explorer interface (Note: We could also do this for the Chronik Client interface, but this way a dev can talk to the node directly without connecting to the RPC)
  • It's very beginner-friendly, and if extended with tools to make txs (e.g. an ecash-lib equivalent, or just the test_framework), it can be an easy way to learn the blockchain
Test Plan
  1. ninja, start the node with -regtest
  2. Should print the Python REPL:
Python 3.x.y ...
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>>
  1. Display the contents of the 'blk' column family
>>> from chronik_repl import Chronik
>>> [x for x in Chronik().db().full_iter('blk')]
[(b'\x00\x00\x00\x00', b'\x06"nF\x11\x1a\x0bY\xca\xaf\x12`C\xeb[\xbf(\xc3O:^3*\x1f\xc7\xb2\xb7<\xf1\x88\x91\x0f\xff\xff\xff\x83\x02\xb4\x97\xcf\xd4\t\x00\x08')]

Event Timeline

Tail of the build log:

  File "/work/test/functional/setup_scripts/../test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
  File "/work/test/functional/setup_scripts/../test_framework/authproxy.py", line 176, in __call__
    response, status = self._request(
  File "/work/test/functional/setup_scripts/../test_framework/authproxy.py", line 124, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.9/http/client.py", line 1255, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1301, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1250, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1010, in _send_output
    self.send(msg)
  File "/usr/lib/python3.9/http/client.py", line 950, in send
    self.connect()
  File "/usr/lib/python3.9/http/client.py", line 921, in connect
    self.sock = self._create_connection(
  File "/usr/lib/python3.9/socket.py", line 843, in create_connection
    raise err
  File "/usr/lib/python3.9/socket.py", line 831, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused


TEST                              | STATUS    | DURATION

setup_scripts/ecash-agora_base.py | ✖ Failed  | 2 s

ALL                               | ✖ Failed  | 2 s (accumulated) 
Runtime: 2 s

Test runner completed with code 1
-------------------|---------|----------|---------|---------|-------------------
File               | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
-------------------|---------|----------|---------|---------|-------------------
All files          |       0 |        0 |       0 |       0 |                   
 ecash-agora       |       0 |        0 |       0 |       0 |                   
  eslint.config.js |       0 |        0 |       0 |       0 |                   
 ecash-agora/src   |       0 |        0 |       0 |       0 |                   
  ad.ts            |       0 |        0 |       0 |       0 | 33-146            
  agora.ts         |       0 |        0 |       0 |       0 | 54-897            
  consts.ts        |       0 |      100 |     100 |       0 | 8-11              
  index.ts         |       0 |        0 |       0 |       0 |                   
  oneshot.ts       |       0 |        0 |       0 |       0 | 65-286            
  partial.ts       |       0 |        0 |       0 |       0 | 204-1342          
-------------------|---------|----------|---------|---------|-------------------

##teamcity[blockOpened name='Code Coverage Summary']
##teamcity[buildStatisticValue key='CodeCoverageAbsBCovered' value='0']
##teamcity[buildStatisticValue key='CodeCoverageAbsBTotal' value='491']
##teamcity[buildStatisticValue key='CodeCoverageAbsRCovered' value='0']
##teamcity[buildStatisticValue key='CodeCoverageAbsRTotal' value='191']
##teamcity[buildStatisticValue key='CodeCoverageAbsMCovered' value='0']
##teamcity[buildStatisticValue key='CodeCoverageAbsMTotal' value='76']
##teamcity[buildStatisticValue key='CodeCoverageAbsLCovered' value='0']
##teamcity[buildStatisticValue key='CodeCoverageAbsLTotal' value='491']
##teamcity[blockClosed name='Code Coverage Summary']
mv: cannot stat 'test_results/ecash-agora-integration-tests-junit.xml': No such file or directory
Build ecash-agora-integration-tests failed with exit code 1

Tail of the build log:

chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.12.rcgu.o):pyo3.24cb6873cd4dc836-cgu.12:function pyo3::err::impls::<impl core::convert::From<pyo3::err::PyErr> for std::io::error::Error>::from: error: undefined reference to 'PyExc_ConnectionResetError'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.12.rcgu.o):pyo3.24cb6873cd4dc836-cgu.12:function pyo3::err::impls::<impl core::convert::From<pyo3::err::PyErr> for std::io::error::Error>::from: error: undefined reference to 'PyExc_InterruptedError'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.12.rcgu.o):pyo3.24cb6873cd4dc836-cgu.12:function pyo3::err::impls::<impl core::convert::From<pyo3::err::PyErr> for std::io::error::Error>::from: error: undefined reference to 'PyExc_FileNotFoundError'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.12.rcgu.o):pyo3.24cb6873cd4dc836-cgu.12:function pyo3::err::PyErr::is_instance_of: error: undefined reference to 'PyExc_BlockingIOError'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.12.rcgu.o):pyo3.24cb6873cd4dc836-cgu.12:function pyo3::err::PyErr::is_instance_of: error: undefined reference to 'PyExc_FileExistsError'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.12.rcgu.o):pyo3.24cb6873cd4dc836-cgu.12:function pyo3::err::PyErr::is_instance_of: error: undefined reference to 'PyExc_PermissionError'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.12.rcgu.o):pyo3.24cb6873cd4dc836-cgu.12:function pyo3::err::PyErr::is_instance_of: error: undefined reference to 'PyExc_TimeoutError'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.12.rcgu.o):pyo3.24cb6873cd4dc836-cgu.12:function pyo3::types::float::<impl pyo3::conversion::ToPyObject for f64>::to_object: error: undefined reference to 'PyFloat_FromDouble'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.12.rcgu.o):pyo3.24cb6873cd4dc836-cgu.12:function pyo3::types::float::<impl pyo3::conversion::IntoPy<pyo3::instance::Py<pyo3::types::any::PyAny>> for f64>::into_py: error: undefined reference to 'PyFloat_FromDouble'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.12.rcgu.o):pyo3.24cb6873cd4dc836-cgu.12:function pyo3::types::float::<impl pyo3::conversion::FromPyObject for f64>::extract_bound: error: undefined reference to 'PyFloat_Type'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.12.rcgu.o):pyo3.24cb6873cd4dc836-cgu.12:function pyo3::types::float::<impl pyo3::conversion::FromPyObject for f64>::extract_bound: error: undefined reference to 'PyFloat_AsDouble'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.12.rcgu.o):pyo3.24cb6873cd4dc836-cgu.12:function pyo3::types::float::<impl pyo3::conversion::ToPyObject for f32>::to_object: error: undefined reference to 'PyFloat_FromDouble'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.12.rcgu.o):pyo3.24cb6873cd4dc836-cgu.12:function pyo3::types::float::<impl pyo3::conversion::FromPyObject for f32>::extract_bound: error: undefined reference to 'PyFloat_Type'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.12.rcgu.o):pyo3.24cb6873cd4dc836-cgu.12:function pyo3::types::float::<impl pyo3::conversion::FromPyObject for f32>::extract_bound: error: undefined reference to 'PyFloat_AsDouble'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.13.rcgu.o):pyo3.24cb6873cd4dc836-cgu.13:function _ZN3std10sys_common4once5futex4Once4call17h03b02e23be06e657E.llvm.17125816758196916313: error: undefined reference to 'Py_IsInitialized'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.13.rcgu.o):pyo3.24cb6873cd4dc836-cgu.13:function std::sys_common::once::futex::Once::call: error: undefined reference to 'Py_IsInitialized'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.13.rcgu.o):pyo3.24cb6873cd4dc836-cgu.13:function std::sys_common::once::futex::Once::call: error: undefined reference to 'Py_InitializeEx'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.13.rcgu.o):pyo3.24cb6873cd4dc836-cgu.13:function std::sys_common::once::futex::Once::call: error: undefined reference to 'PyEval_SaveThread'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.13.rcgu.o):pyo3.24cb6873cd4dc836-cgu.13:function pyo3::gil::GILGuard::acquire: error: undefined reference to 'PyGILState_Ensure'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.13.rcgu.o):pyo3.24cb6873cd4dc836-cgu.13:function pyo3::gil::GILGuard::acquire_unchecked: error: undefined reference to 'PyGILState_Ensure'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.13.rcgu.o):pyo3.24cb6873cd4dc836-cgu.13:function pyo3::gil::SuspendGIL::new: error: undefined reference to 'PyEval_SaveThread'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.13.rcgu.o):pyo3.24cb6873cd4dc836-cgu.13:function <pyo3::gil::SuspendGIL as core::ops::drop::Drop>::drop: error: undefined reference to 'PyEval_RestoreThread'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.14.rcgu.o):pyo3.24cb6873cd4dc836-cgu.14:function core::ops::function::FnOnce::call_once{{vtable-shim}}: error: undefined reference to 'PyExc_OverflowError'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.14.rcgu.o):pyo3.24cb6873cd4dc836-cgu.14:function pyo3::impl_::frompyobject::failed_to_extract_enum: error: undefined reference to 'PyException_GetTraceback'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.14.rcgu.o):pyo3.24cb6873cd4dc836-cgu.14:function pyo3::impl_::frompyobject::failed_to_extract_enum: error: undefined reference to 'PyException_GetCause'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.14.rcgu.o):pyo3.24cb6873cd4dc836-cgu.14:function pyo3::impl_::frompyobject::failed_to_extract_struct_field: error: undefined reference to 'PyException_SetCause'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function core::ops::function::FnOnce::call_once{{vtable-shim}}: error: undefined reference to 'PyExc_ImportError'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::conversions::std::path::<impl pyo3::conversion::ToPyObject for std::path::Path>::to_object: error: undefined reference to 'PyUnicode_DecodeFSDefaultAndSize'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::conversions::std::path::<impl pyo3::conversion::FromPyObject for std::path::PathBuf>::extract_bound: error: undefined reference to 'PyOS_FSPath'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::impl_::pymodule::ModuleDef::make_module: error: undefined reference to 'PyInterpreterState_Get'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::impl_::pymodule::ModuleDef::make_module: error: undefined reference to 'PyInterpreterState_GetID'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::marker::Python::run_code: error: undefined reference to 'PyImport_AddModule'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::marker::Python::run_code: error: undefined reference to 'PyDict_Contains'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::marker::Python::run_code: error: undefined reference to 'PyModule_GetDict'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::marker::Python::run_code: error: undefined reference to 'PyEval_GetBuiltins'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::marker::Python::run_code: error: undefined reference to 'PyDict_SetItem'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::marker::Python::run_code: error: undefined reference to 'Py_CompileStringExFlags'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::marker::Python::run_code: error: undefined reference to 'PyEval_EvalCode'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::marker::Python::version: error: undefined reference to 'Py_GetVersion'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::marker::Python::version_info: error: undefined reference to 'Py_GetVersion'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::marker::Python::check_signals: error: undefined reference to 'PyErr_CheckSignals'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::types::bytearray::PyByteArray::new_bound: error: undefined reference to 'PyByteArray_FromStringAndSize'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::types::bytearray::PyByteArray::from_bound: error: undefined reference to 'PyByteArray_FromObject'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::types::dict::PyDict::new_bound: error: undefined reference to 'PyDict_New'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::types::dict::PyDict::from_sequence_bound: error: undefined reference to 'PyDict_New'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::types::dict::PyDict::from_sequence_bound: error: undefined reference to 'PyDict_MergeFromSeq2'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function <pyo3::instance::Bound<pyo3::types::dict::PyDict> as pyo3::types::dict::PyDictMethods>::contains::inner: error: undefined reference to 'PyDict_Contains'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function <pyo3::instance::Bound<pyo3::types::dict::PyDict> as pyo3::types::dict::PyDictMethods>::get_item::inner: error: undefined reference to 'PyDict_GetItemWithError'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function <pyo3::instance::Bound<pyo3::types::dict::PyDict> as pyo3::types::dict::PyDictMethods>::set_item::inner: error: undefined reference to 'PyDict_SetItem'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function <pyo3::instance::Bound<pyo3::types::dict::PyDict> as pyo3::types::dict::PyDictMethods>::del_item::inner: error: undefined reference to 'PyDict_DelItem'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::types::iterator::PyIterator::from_bound_object: error: undefined reference to 'PyObject_GetIter'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function <pyo3::types::iterator::PyIterator as pyo3::type_object::PyTypeCheck>::type_check: error: undefined reference to 'PyIter_Check'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::types::string::PyString::intern_bound: error: undefined reference to 'PyUnicode_InternInPlace'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::types::string::PyString::from_object_bound: error: undefined reference to 'PyUnicode_FromEncodedObject'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::conversions::std::num::fast_128bit_int_conversion::<impl pyo3::conversion::FromPyObject for i128>::extract_bound: error: undefined reference to '_PyLong_AsByteArray'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::conversions::std::num::fast_128bit_int_conversion::<impl pyo3::conversion::FromPyObject for u128>::extract_bound: error: undefined reference to '_PyLong_AsByteArray'
chronik/libchronik_lib.a(pyo3_ffi-e7ee6f0f0b85b5b2.pyo3_ffi.b86ba4ff5878f6eb-cgu.0.rcgu.o):pyo3_ffi.b86ba4ff5878f6eb-cgu.0:function pyo3_ffi::datetime::PyDateTime_IMPORT: error: undefined reference to 'PyCapsule_Import'
collect2: error: ld returned 1 exit status
ninja: build stopped: cannot make progress due to previous errors.
Build ecash-lib-integration-tests failed with exit code 1

Tail of the build log:

chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.12.rcgu.o):pyo3.24cb6873cd4dc836-cgu.12:function pyo3::err::impls::<impl core::convert::From<pyo3::err::PyErr> for std::io::error::Error>::from: error: undefined reference to 'PyExc_ConnectionResetError'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.12.rcgu.o):pyo3.24cb6873cd4dc836-cgu.12:function pyo3::err::impls::<impl core::convert::From<pyo3::err::PyErr> for std::io::error::Error>::from: error: undefined reference to 'PyExc_InterruptedError'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.12.rcgu.o):pyo3.24cb6873cd4dc836-cgu.12:function pyo3::err::impls::<impl core::convert::From<pyo3::err::PyErr> for std::io::error::Error>::from: error: undefined reference to 'PyExc_FileNotFoundError'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.12.rcgu.o):pyo3.24cb6873cd4dc836-cgu.12:function pyo3::err::PyErr::is_instance_of: error: undefined reference to 'PyExc_BlockingIOError'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.12.rcgu.o):pyo3.24cb6873cd4dc836-cgu.12:function pyo3::err::PyErr::is_instance_of: error: undefined reference to 'PyExc_FileExistsError'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.12.rcgu.o):pyo3.24cb6873cd4dc836-cgu.12:function pyo3::err::PyErr::is_instance_of: error: undefined reference to 'PyExc_PermissionError'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.12.rcgu.o):pyo3.24cb6873cd4dc836-cgu.12:function pyo3::err::PyErr::is_instance_of: error: undefined reference to 'PyExc_TimeoutError'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.12.rcgu.o):pyo3.24cb6873cd4dc836-cgu.12:function pyo3::types::float::<impl pyo3::conversion::ToPyObject for f64>::to_object: error: undefined reference to 'PyFloat_FromDouble'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.12.rcgu.o):pyo3.24cb6873cd4dc836-cgu.12:function pyo3::types::float::<impl pyo3::conversion::IntoPy<pyo3::instance::Py<pyo3::types::any::PyAny>> for f64>::into_py: error: undefined reference to 'PyFloat_FromDouble'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.12.rcgu.o):pyo3.24cb6873cd4dc836-cgu.12:function pyo3::types::float::<impl pyo3::conversion::FromPyObject for f64>::extract_bound: error: undefined reference to 'PyFloat_Type'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.12.rcgu.o):pyo3.24cb6873cd4dc836-cgu.12:function pyo3::types::float::<impl pyo3::conversion::FromPyObject for f64>::extract_bound: error: undefined reference to 'PyFloat_AsDouble'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.12.rcgu.o):pyo3.24cb6873cd4dc836-cgu.12:function pyo3::types::float::<impl pyo3::conversion::ToPyObject for f32>::to_object: error: undefined reference to 'PyFloat_FromDouble'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.12.rcgu.o):pyo3.24cb6873cd4dc836-cgu.12:function pyo3::types::float::<impl pyo3::conversion::FromPyObject for f32>::extract_bound: error: undefined reference to 'PyFloat_Type'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.12.rcgu.o):pyo3.24cb6873cd4dc836-cgu.12:function pyo3::types::float::<impl pyo3::conversion::FromPyObject for f32>::extract_bound: error: undefined reference to 'PyFloat_AsDouble'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.13.rcgu.o):pyo3.24cb6873cd4dc836-cgu.13:function _ZN3std10sys_common4once5futex4Once4call17h03b02e23be06e657E.llvm.17125816758196916313: error: undefined reference to 'Py_IsInitialized'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.13.rcgu.o):pyo3.24cb6873cd4dc836-cgu.13:function std::sys_common::once::futex::Once::call: error: undefined reference to 'Py_IsInitialized'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.13.rcgu.o):pyo3.24cb6873cd4dc836-cgu.13:function std::sys_common::once::futex::Once::call: error: undefined reference to 'Py_InitializeEx'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.13.rcgu.o):pyo3.24cb6873cd4dc836-cgu.13:function std::sys_common::once::futex::Once::call: error: undefined reference to 'PyEval_SaveThread'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.13.rcgu.o):pyo3.24cb6873cd4dc836-cgu.13:function pyo3::gil::GILGuard::acquire: error: undefined reference to 'PyGILState_Ensure'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.13.rcgu.o):pyo3.24cb6873cd4dc836-cgu.13:function pyo3::gil::GILGuard::acquire_unchecked: error: undefined reference to 'PyGILState_Ensure'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.13.rcgu.o):pyo3.24cb6873cd4dc836-cgu.13:function pyo3::gil::SuspendGIL::new: error: undefined reference to 'PyEval_SaveThread'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.13.rcgu.o):pyo3.24cb6873cd4dc836-cgu.13:function <pyo3::gil::SuspendGIL as core::ops::drop::Drop>::drop: error: undefined reference to 'PyEval_RestoreThread'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.14.rcgu.o):pyo3.24cb6873cd4dc836-cgu.14:function core::ops::function::FnOnce::call_once{{vtable-shim}}: error: undefined reference to 'PyExc_OverflowError'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.14.rcgu.o):pyo3.24cb6873cd4dc836-cgu.14:function pyo3::impl_::frompyobject::failed_to_extract_enum: error: undefined reference to 'PyException_GetTraceback'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.14.rcgu.o):pyo3.24cb6873cd4dc836-cgu.14:function pyo3::impl_::frompyobject::failed_to_extract_enum: error: undefined reference to 'PyException_GetCause'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.14.rcgu.o):pyo3.24cb6873cd4dc836-cgu.14:function pyo3::impl_::frompyobject::failed_to_extract_struct_field: error: undefined reference to 'PyException_SetCause'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function core::ops::function::FnOnce::call_once{{vtable-shim}}: error: undefined reference to 'PyExc_ImportError'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::conversions::std::path::<impl pyo3::conversion::ToPyObject for std::path::Path>::to_object: error: undefined reference to 'PyUnicode_DecodeFSDefaultAndSize'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::conversions::std::path::<impl pyo3::conversion::FromPyObject for std::path::PathBuf>::extract_bound: error: undefined reference to 'PyOS_FSPath'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::impl_::pymodule::ModuleDef::make_module: error: undefined reference to 'PyInterpreterState_Get'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::impl_::pymodule::ModuleDef::make_module: error: undefined reference to 'PyInterpreterState_GetID'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::marker::Python::run_code: error: undefined reference to 'PyImport_AddModule'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::marker::Python::run_code: error: undefined reference to 'PyDict_Contains'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::marker::Python::run_code: error: undefined reference to 'PyModule_GetDict'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::marker::Python::run_code: error: undefined reference to 'PyEval_GetBuiltins'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::marker::Python::run_code: error: undefined reference to 'PyDict_SetItem'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::marker::Python::run_code: error: undefined reference to 'Py_CompileStringExFlags'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::marker::Python::run_code: error: undefined reference to 'PyEval_EvalCode'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::marker::Python::version: error: undefined reference to 'Py_GetVersion'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::marker::Python::version_info: error: undefined reference to 'Py_GetVersion'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::marker::Python::check_signals: error: undefined reference to 'PyErr_CheckSignals'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::types::bytearray::PyByteArray::new_bound: error: undefined reference to 'PyByteArray_FromStringAndSize'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::types::bytearray::PyByteArray::from_bound: error: undefined reference to 'PyByteArray_FromObject'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::types::dict::PyDict::new_bound: error: undefined reference to 'PyDict_New'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::types::dict::PyDict::from_sequence_bound: error: undefined reference to 'PyDict_New'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::types::dict::PyDict::from_sequence_bound: error: undefined reference to 'PyDict_MergeFromSeq2'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function <pyo3::instance::Bound<pyo3::types::dict::PyDict> as pyo3::types::dict::PyDictMethods>::contains::inner: error: undefined reference to 'PyDict_Contains'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function <pyo3::instance::Bound<pyo3::types::dict::PyDict> as pyo3::types::dict::PyDictMethods>::get_item::inner: error: undefined reference to 'PyDict_GetItemWithError'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function <pyo3::instance::Bound<pyo3::types::dict::PyDict> as pyo3::types::dict::PyDictMethods>::set_item::inner: error: undefined reference to 'PyDict_SetItem'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function <pyo3::instance::Bound<pyo3::types::dict::PyDict> as pyo3::types::dict::PyDictMethods>::del_item::inner: error: undefined reference to 'PyDict_DelItem'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::types::iterator::PyIterator::from_bound_object: error: undefined reference to 'PyObject_GetIter'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function <pyo3::types::iterator::PyIterator as pyo3::type_object::PyTypeCheck>::type_check: error: undefined reference to 'PyIter_Check'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::types::string::PyString::intern_bound: error: undefined reference to 'PyUnicode_InternInPlace'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::types::string::PyString::from_object_bound: error: undefined reference to 'PyUnicode_FromEncodedObject'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::conversions::std::num::fast_128bit_int_conversion::<impl pyo3::conversion::FromPyObject for i128>::extract_bound: error: undefined reference to '_PyLong_AsByteArray'
chronik/libchronik_lib.a(pyo3-a8f591ed6acefe4d.pyo3.24cb6873cd4dc836-cgu.15.rcgu.o):pyo3.24cb6873cd4dc836-cgu.15:function pyo3::conversions::std::num::fast_128bit_int_conversion::<impl pyo3::conversion::FromPyObject for u128>::extract_bound: error: undefined reference to '_PyLong_AsByteArray'
chronik/libchronik_lib.a(pyo3_ffi-e7ee6f0f0b85b5b2.pyo3_ffi.b86ba4ff5878f6eb-cgu.0.rcgu.o):pyo3_ffi.b86ba4ff5878f6eb-cgu.0:function pyo3_ffi::datetime::PyDateTime_IMPORT: error: undefined reference to 'PyCapsule_Import'
collect2: error: ld returned 1 exit status
ninja: build stopped: cannot make progress due to previous errors.
Build build-chronik failed with exit code 1

Tail of the build log:

WARNING! There is already a bitcoind process running on this system. Tests may fail unexpectedly due to resource contention!
Running Unit Tests for Test Framework Modules
setup_scripts/chronik-client_broadcast_txs.py started
setup_scripts/chronik-client_broadcast_txs.py failed, Duration: 62 s

stdout:

stderr:
Traceback (most recent call last):
  File "/work/test/functional/setup_scripts/chronik-client_broadcast_txs.py", line 135, in <module>
    ChronikClient_Broadcast_Setup().main()
  File "/work/test/functional/setup_scripts/../test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/setup_scripts/../test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/setup_scripts/../test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/setup_scripts/../test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole) != 


TEST                                          | STATUS    | DURATION

setup_scripts/chronik-client_broadcast_txs.py | ✖ Failed  | 62 s

ALL                                           | ✖ Failed  | 62 s (accumulated) 
Runtime: 62 s

Test runner for chronik-client_broadcast_txs completed with code 1
----------------------|---------|----------|---------|---------|------------------------------------
File                  | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s                  
----------------------|---------|----------|---------|---------|------------------------------------
All files             |    4.71 |     0.45 |    1.06 |     4.6 |                                    
 chronik-client       |     100 |      100 |     100 |     100 |                                    
  index.ts            |     100 |      100 |     100 |     100 |                                    
 chronik-client/proto |    3.89 |     0.49 |    1.38 |    3.92 |                                    
  chronik.ts          |    3.89 |     0.49 |    1.38 |    3.92 | ...7,6312-6351,6359-6463,6467-6476 
 chronik-client/src   |    8.42 |        0 |       0 |    7.67 |                                    
  ChronikClient.ts    |       5 |        0 |       0 |       5 | ...99-371,384-441,455-559,627-1429 
  failoverProxy.ts    |    4.67 |        0 |       0 |     4.8 | 33-327                             
  hex.ts              |   31.57 |        0 |       0 |   33.33 | 33-37,41-45,49-62,66-68            
  validation.ts       |   26.82 |        0 |       0 |   18.91 | 14-49,54-55,62-63,73-88            
----------------------|---------|----------|---------|---------|------------------------------------

##teamcity[blockOpened name='Code Coverage Summary']
##teamcity[buildStatisticValue key='CodeCoverageAbsBCovered' value='147']
##teamcity[buildStatisticValue key='CodeCoverageAbsBTotal' value='3117']
##teamcity[buildStatisticValue key='CodeCoverageAbsRCovered' value='12']
##teamcity[buildStatisticValue key='CodeCoverageAbsRTotal' value='2630']
##teamcity[buildStatisticValue key='CodeCoverageAbsMCovered' value='6']
##teamcity[buildStatisticValue key='CodeCoverageAbsMTotal' value='566']
##teamcity[buildStatisticValue key='CodeCoverageAbsLCovered' value='142']
##teamcity[buildStatisticValue key='CodeCoverageAbsLTotal' value='3082']
##teamcity[blockClosed name='Code Coverage Summary']
mv: cannot stat 'test_results/chronik-client-integration-tests-junit.xml': No such file or directory
Build chronik-client-integration-tests failed with exit code 1

Failed tests logs:

====== Bitcoin ABC functional tests: chronik_avalanche.py ======

------- Stdout: -------
2024-10-21T17:09:52.159000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_avalanche_20
2024-10-21T17:10:00.228000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 147, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 137, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_avalanche.py", line 117, in run_test
    self.restart_node(0, self.extra_args[0] + ["-chronikreindex"])
  File "/work/test/functional/test_framework/test_framework.py", line 653, in restart_node
    self.stop_node(i)
  File "/work/test/functional/test_framework/test_framework.py", line 639, in stop_node
    self.nodes[i].stop_node(expected_stderr, wait=wait)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... != 
2024-10-21T17:10:00.279000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_avalanche.py", line 153, in <module>
    ChronikAvalancheTest().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 512, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
  File "/work/test/functional/test_framework/authproxy.py", line 176, in __call__
    response, status = self._request(
  File "/work/test/functional/test_framework/authproxy.py", line 124, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.9/http/client.py", line 1255, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1301, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1250, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1010, in _send_output
    self.send(msg)
  File "/usr/lib/python3.9/http/client.py", line 950, in send
    self.connect()
  File "/usr/lib/python3.9/http/client.py", line 921, in connect
    self.sock = self._create_connection(
  File "/usr/lib/python3.9/socket.py", line 843, in create_connection
    raise err
  File "/usr/lib/python3.9/socket.py", line 831, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
====== Bitcoin ABC functional tests: chronik_block.py ======

------- Stdout: -------
2024-10-21T17:13:19.123000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_block_128
2024-10-21T17:13:20.793000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 147, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 137, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_block.py", line 108, in run_test
    self.restart_node(0, ["-chronik", "-chronikreindex"])
  File "/work/test/functional/test_framework/test_framework.py", line 653, in restart_node
    self.stop_node(i)
  File "/work/test/functional/test_framework/test_framework.py", line 639, in stop_node
    self.nodes[i].stop_node(expected_stderr, wait=wait)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... != 
2024-10-21T17:13:20.843000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_block.py", line 154, in <module>
    ChronikBlockTest().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 512, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
  File "/work/test/functional/test_framework/authproxy.py", line 176, in __call__
    response, status = self._request(
  File "/work/test/functional/test_framework/authproxy.py", line 124, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.9/http/client.py", line 1255, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1301, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1250, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1010, in _send_output
    self.send(msg)
  File "/usr/lib/python3.9/http/client.py", line 950, in send
    self.connect()
  File "/usr/lib/python3.9/http/client.py", line 921, in connect
    self.sock = self._create_connection(
  File "/usr/lib/python3.9/socket.py", line 843, in create_connection
    raise err
  File "/usr/lib/python3.9/socket.py", line 831, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
====== Bitcoin ABC functional tests: chronik_block_header.py ======

------- Stdout: -------
2024-10-21T17:13:44.016000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_block_header_168
2024-10-21T17:13:45.772000Z TestFramework (INFO): Test the /header endpoint before mining any block
2024-10-21T17:13:45.818000Z TestFramework (INFO): Test the /headers endpoint before mining any block
2024-10-21T17:13:45.828000Z TestFramework (INFO): Mine blocks and test the endpoints
2024-10-21T17:13:45.871000Z TestFramework (INFO): Test the checkpoint_height query param
2024-10-21T17:13:45.894000Z TestFramework (INFO): Invalidate a block in the middle of the chain.
2024-10-21T17:13:45.901000Z TestFramework (INFO): Mine a fork block and check it connects
2024-10-21T17:13:45.905000Z TestFramework (INFO): Check merkle tree data after the block invalidation
2024-10-21T17:13:46.065000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_block_header.py", line 276, in <module>
    ChronikHeaderTest().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... !=
====== Bitcoin ABC functional tests: chronik_block_info.py ======

------- Stdout: -------
2024-10-21T17:13:44.675000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_block_info_169
2024-10-21T17:13:46.659000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_block_info.py", line 136, in <module>
    ChronikBlockInfoTest().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... !=
====== Bitcoin ABC functional tests: chronik_block_txs.py ======

------- Stdout: -------
2024-10-21T17:13:29.675000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_block_txs_142
2024-10-21T17:13:31.571000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_block_txs.py", line 270, in <module>
    ChronikBlockTxsTest().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... !=
====== Bitcoin ABC functional tests: chronik_blockchain_info.py ======

------- Stdout: -------
2024-10-21T17:13:46.176000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_blockchain_info_170
2024-10-21T17:13:47.816000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_blockchain_info.py", line 59, in <module>
    ChronikBlockchainInfoTest().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... !=
====== Bitcoin ABC functional tests: chronik_blocks.py ======

------- Stdout: -------
2024-10-21T17:13:46.314000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_blocks_171
2024-10-21T17:13:48.187000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_blocks.py", line 101, in <module>
    ChronikBlockRangeTest().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... !=
====== Bitcoin ABC functional tests: chronik_chronik_info.py ======

------- Stdout: -------
2024-10-21T17:13:46.792000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_chronik_info_172
2024-10-21T17:13:48.591000Z TestFramework (INFO): Chronik version should be the same as the bitcoind version
2024-10-21T17:13:48.646000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_chronik_info.py", line 38, in <module>
    ChronikChronikInfoTest().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... !=
====== Bitcoin ABC functional tests: chronik_cors.py ======

------- Stdout: -------
2024-10-21T17:13:30.054000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_cors_143
2024-10-21T17:13:31.867000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 147, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 137, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_cors.py", line 30, in run_test
    self.restart_node(0, ["-chronik", "-chronikcors"])
  File "/work/test/functional/test_framework/test_framework.py", line 653, in restart_node
    self.stop_node(i)
  File "/work/test/functional/test_framework/test_framework.py", line 639, in stop_node
    self.nodes[i].stop_node(expected_stderr, wait=wait)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... != 
2024-10-21T17:13:31.918000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_cors.py", line 41, in <module>
    ChronikCorsTest().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 512, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
  File "/work/test/functional/test_framework/authproxy.py", line 176, in __call__
    response, status = self._request(
  File "/work/test/functional/test_framework/authproxy.py", line 124, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.9/http/client.py", line 1255, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1301, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1250, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1010, in _send_output
    self.send(msg)
  File "/usr/lib/python3.9/http/client.py", line 950, in send
    self.connect()
  File "/usr/lib/python3.9/http/client.py", line 921, in connect
    self.sock = self._create_connection(
  File "/usr/lib/python3.9/socket.py", line 843, in create_connection
    raise err
  File "/usr/lib/python3.9/socket.py", line 831, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
====== Bitcoin ABC functional tests: chronik_disable_token_index.py ======

------- Stdout: -------
2024-10-21T17:12:37.779000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_disable_token_index_90
2024-10-21T17:12:39.376000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 147, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 137, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_disable_token_index.py", line 193, in run_test
    self.restart_node(0, ["-chronik", "-chroniktokenindex=0"])
  File "/work/test/functional/test_framework/test_framework.py", line 653, in restart_node
    self.stop_node(i)
  File "/work/test/functional/test_framework/test_framework.py", line 639, in stop_node
    self.nodes[i].stop_node(expected_stderr, wait=wait)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... != 
2024-10-21T17:12:39.426000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_disable_token_index.py", line 248, in <module>
    ChronikDisableTokenIndex().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 512, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
  File "/work/test/functional/test_framework/authproxy.py", line 176, in __call__
    response, status = self._request(
  File "/work/test/functional/test_framework/authproxy.py", line 124, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.9/http/client.py", line 1255, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1301, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1250, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1010, in _send_output
    self.send(msg)
  File "/usr/lib/python3.9/http/client.py", line 950, in send
    self.connect()
  File "/usr/lib/python3.9/http/client.py", line 921, in connect
    self.sock = self._create_connection(
  File "/usr/lib/python3.9/socket.py", line 843, in create_connection
    raise err
  File "/usr/lib/python3.9/socket.py", line 831, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
====== Bitcoin ABC functional tests: chronik_lokad_id_group.py ======

------- Stdout: -------
2024-10-21T17:12:14.019000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_lokad_id_group_76
2024-10-21T17:12:15.889000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 147, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 137, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_lokad_id_group.py", line 236, in run_test
    self.restart_node(0, ["-chronik"])
  File "/work/test/functional/test_framework/test_framework.py", line 653, in restart_node
    self.stop_node(i)
  File "/work/test/functional/test_framework/test_framework.py", line 639, in stop_node
    self.nodes[i].stop_node(expected_stderr, wait=wait)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... != 
2024-10-21T17:12:15.940000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_lokad_id_group.py", line 276, in <module>
    ChronikLokadIdGroup().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 512, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
  File "/work/test/functional/test_framework/authproxy.py", line 176, in __call__
    response, status = self._request(
  File "/work/test/functional/test_framework/authproxy.py", line 124, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.9/http/client.py", line 1255, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1301, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1250, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1010, in _send_output
    self.send(msg)
  File "/usr/lib/python3.9/http/client.py", line 950, in send
    self.connect()
  File "/usr/lib/python3.9/http/client.py", line 921, in connect
    self.sock = self._create_connection(
  File "/usr/lib/python3.9/socket.py", line 843, in create_connection
    raise err
  File "/usr/lib/python3.9/socket.py", line 831, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
====== Bitcoin ABC functional tests: chronik_mempool_conflicts.py ======

------- Stdout: -------
2024-10-21T17:13:30.067000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_mempool_conflicts_144
2024-10-21T17:13:32.198000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_mempool_conflicts.py", line 103, in <module>
    ChronikMempoolConflicts().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... !=
====== Bitcoin ABC functional tests: chronik_mempool_disconnectpool.py ======

------- Stdout: -------
2024-10-21T17:13:46.950000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_mempool_disconnectpool_173
2024-10-21T17:13:49.086000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_mempool_disconnectpool.py", line 103, in <module>
    ChronikMempoolDisconnectPool().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... !=
====== Bitcoin ABC functional tests: chronik_pause.py ======

------- Stdout: -------
2024-10-21T17:13:20.250000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_pause_129
2024-10-21T17:13:22.083000Z TestFramework (INFO): Restart to allow pause
2024-10-21T17:13:22.084000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 147, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 137, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_pause.py", line 44, in run_test
    self.restart_node(0, ["-chronik", "-chronikallowpause"])
  File "/work/test/functional/test_framework/test_framework.py", line 653, in restart_node
    self.stop_node(i)
  File "/work/test/functional/test_framework/test_framework.py", line 639, in stop_node
    self.nodes[i].stop_node(expected_stderr, wait=wait)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... != 
2024-10-21T17:13:22.135000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_pause.py", line 164, in <module>
    ChronikPauseTest().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 512, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
  File "/work/test/functional/test_framework/authproxy.py", line 176, in __call__
    response, status = self._request(
  File "/work/test/functional/test_framework/authproxy.py", line 124, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.9/http/client.py", line 1255, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1301, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1250, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1010, in _send_output
    self.send(msg)
  File "/usr/lib/python3.9/http/client.py", line 950, in send
    self.connect()
  File "/usr/lib/python3.9/http/client.py", line 921, in connect
    self.sock = self._create_connection(
  File "/usr/lib/python3.9/socket.py", line 843, in create_connection
    raise err
  File "/usr/lib/python3.9/socket.py", line 831, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
====== Bitcoin ABC functional tests: chronik_plugin_groups.py ======

------- Stdout: -------
2024-10-21T17:13:07.215000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_plugin_groups_115
2024-10-21T17:13:08.606000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 147, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 137, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_plugin_groups.py", line 89, in run_test
    self.restart_node(0, ["-chronik", "-chronikreindex"])
  File "/work/test/functional/test_framework/test_framework.py", line 653, in restart_node
    self.stop_node(i)
  File "/work/test/functional/test_framework/test_framework.py", line 639, in stop_node
    self.nodes[i].stop_node(expected_stderr, wait=wait)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... != 
2024-10-21T17:13:08.658000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_plugin_groups.py", line 360, in <module>
    ChronikPluginGroups().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 512, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
  File "/work/test/functional/test_framework/authproxy.py", line 176, in __call__
    response, status = self._request(
  File "/work/test/functional/test_framework/authproxy.py", line 124, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.9/http/client.py", line 1255, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1301, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1250, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1010, in _send_output
    self.send(msg)
  File "/usr/lib/python3.9/http/client.py", line 950, in send
    self.connect()
  File "/usr/lib/python3.9/http/client.py", line 921, in connect
    self.sock = self._create_connection(
  File "/usr/lib/python3.9/socket.py", line 843, in create_connection
    raise err
  File "/usr/lib/python3.9/socket.py", line 831, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
====== Bitcoin ABC functional tests: chronik_plugins.py ======

------- Stdout: -------
2024-10-21T17:13:20.940000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_plugins_130
2024-10-21T17:13:22.747000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 147, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 137, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_plugins.py", line 100, in run_test
    self.restart_node(0, ["-chronik", "-chronikreindex"])
  File "/work/test/functional/test_framework/test_framework.py", line 653, in restart_node
    self.stop_node(i)
  File "/work/test/functional/test_framework/test_framework.py", line 639, in stop_node
    self.nodes[i].stop_node(expected_stderr, wait=wait)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... != 
2024-10-21T17:13:22.799000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_plugins.py", line 406, in <module>
    ChronikPlugins().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 512, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
  File "/work/test/functional/test_framework/authproxy.py", line 176, in __call__
    response, status = self._request(
  File "/work/test/functional/test_framework/authproxy.py", line 124, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.9/http/client.py", line 1255, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1301, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1250, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1010, in _send_output
    self.send(msg)
  File "/usr/lib/python3.9/http/client.py", line 950, in send
    self.connect()
  File "/usr/lib/python3.9/http/client.py", line 921, in connect
    self.sock = self._create_connection(
  File "/usr/lib/python3.9/socket.py", line 843, in create_connection
    raise err
  File "/usr/lib/python3.9/socket.py", line 831, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
====== Bitcoin ABC functional tests: chronik_plugins_setup.py ======

------- Stdout: -------
2024-10-21T17:09:50.341000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_plugins_setup_17
2024-10-21T17:09:51.806000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 147, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 137, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_plugins_setup.py", line 43, in run_test
    self.restart_node(0, ["-chronik"])
  File "/work/test/functional/test_framework/test_framework.py", line 653, in restart_node
    self.stop_node(i)
  File "/work/test/functional/test_framework/test_framework.py", line 639, in stop_node
    self.nodes[i].stop_node(expected_stderr, wait=wait)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... != 
2024-10-21T17:09:51.857000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_plugins_setup.py", line 314, in <module>
    ChronikPluginsSetup().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 512, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
  File "/work/test/functional/test_framework/authproxy.py", line 176, in __call__
    response, status = self._request(
  File "/work/test/functional/test_framework/authproxy.py", line 124, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.9/http/client.py", line 1255, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1301, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1250, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1010, in _send_output
    self.send(msg)
  File "/usr/lib/python3.9/http/client.py", line 950, in send
    self.connect()
  File "/usr/lib/python3.9/http/client.py", line 921, in connect
    self.sock = self._create_connection(
  File "/usr/lib/python3.9/socket.py", line 843, in create_connection
    raise err
  File "/usr/lib/python3.9/socket.py", line 831, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
====== Bitcoin ABC functional tests: chronik_raw_tx.py ======

------- Stdout: -------
2024-10-21T17:13:47.327000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_raw_tx_174
2024-10-21T17:13:49.255000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_raw_tx.py", line 107, in <module>
    ChronikRawTxTest().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... !=
====== Bitcoin ABC functional tests: chronik_resync.py ======

------- Stdout: -------
2024-10-21T17:11:31.098000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_resync_55
2024-10-21T17:11:33.056000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 147, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 137, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_resync.py", line 47, in run_test
    self.restart_node(0, [])
  File "/work/test/functional/test_framework/test_framework.py", line 653, in restart_node
    self.stop_node(i)
  File "/work/test/functional/test_framework/test_framework.py", line 639, in stop_node
    self.nodes[i].stop_node(expected_stderr, wait=wait)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... != 
2024-10-21T17:11:33.107000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_resync.py", line 126, in <module>
    ChronikResyncTest().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 512, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
  File "/work/test/functional/test_framework/authproxy.py", line 176, in __call__
    response, status = self._request(
  File "/work/test/functional/test_framework/authproxy.py", line 124, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.9/http/client.py", line 1255, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1301, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1250, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1010, in _send_output
    self.send(msg)
  File "/usr/lib/python3.9/http/client.py", line 950, in send
    self.connect()
  File "/usr/lib/python3.9/http/client.py", line 921, in connect
    self.sock = self._create_connection(
  File "/usr/lib/python3.9/socket.py", line 843, in create_connection
    raise err
  File "/usr/lib/python3.9/socket.py", line 831, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
====== Bitcoin ABC functional tests: chronik_script_confirmed_txs.py ======

------- Stdout: -------
2024-10-21T17:13:08.473000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_script_confirmed_txs_116
2024-10-21T17:13:13.556000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_script_confirmed_txs.py", line 223, in <module>
    ChronikScriptConfirmedTxsTest().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... !=
====== Bitcoin ABC functional tests: chronik_script_history.py ======

------- Stdout: -------
2024-10-21T17:13:21.660000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_script_history_131
2024-10-21T17:13:25.768000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_script_history.py", line 312, in <module>
    ChronikScriptHistoryTest().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... !=
====== Bitcoin ABC functional tests: chronik_script_unconfirmed_txs.py ======

------- Stdout: -------
2024-10-21T17:13:47.930000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_script_unconfirmed_txs_175
2024-10-21T17:13:50.131000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_script_unconfirmed_txs.py", line 223, in <module>
    ChronikScriptUnconfirmedTxsTest().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... !=
====== Bitcoin ABC functional tests: chronik_script_utxos.py ======

------- Stdout: -------
2024-10-21T17:13:30.689000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_script_utxos_145
2024-10-21T17:13:32.847000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_script_utxos.py", line 261, in <module>
    ChronikScriptUtxosTest().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... !=
====== Bitcoin ABC functional tests: chronik_serve.py ======

------- Stdout: -------
2024-10-21T17:13:21.865000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_serve_132
2024-10-21T17:13:23.535000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 147, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 137, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_serve.py", line 50, in run_test
    self.restart_node(0, ["-chronik", "-chronikbind=0.0.0.0"])
  File "/work/test/functional/test_framework/test_framework.py", line 653, in restart_node
    self.stop_node(i)
  File "/work/test/functional/test_framework/test_framework.py", line 639, in stop_node
    self.nodes[i].stop_node(expected_stderr, wait=wait)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... != 
2024-10-21T17:13:23.586000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_serve.py", line 70, in <module>
    ChronikServeTest().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 512, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
  File "/work/test/functional/test_framework/authproxy.py", line 176, in __call__
    response, status = self._request(
  File "/work/test/functional/test_framework/authproxy.py", line 124, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.9/http/client.py", line 1255, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1301, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1250, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.9/http/client.py", line 1010, in _send_output
    self.send(msg)
  File "/usr/lib/python3.9/http/client.py", line 950, in send
    self.connect()
  File "/usr/lib/python3.9/http/client.py", line 921, in connect
    self.sock = self._create_connection(
  File "/usr/lib/python3.9/socket.py", line 843, in create_connection
    raise err
  File "/usr/lib/python3.9/socket.py", line 831, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
====== Bitcoin ABC functional tests: chronik_spent_by.py ======

------- Stdout: -------
2024-10-21T17:13:48.294000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_spent_by_176
2024-10-21T17:13:50.504000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_spent_by.py", line 183, in <module>
    ChronikSpentByTest().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... !=
====== Bitcoin ABC functional tests: chronik_token_alp.py ======

------- Stdout: -------
2024-10-21T17:13:31.051000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_token_alp_146
2024-10-21T17:13:33.620000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token_alp.py", line 669, in <module>
    ChronikTokenAlp().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... !=
====== Bitcoin ABC functional tests: chronik_token_broadcast_txs.py ======

------- Stdout: -------
2024-10-21T17:13:48.782000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_token_broadcast_txs_177
2024-10-21T17:13:50.650000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token_broadcast_txs.py", line 216, in <module>
    ChronikTokenBroadcastTxs().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... !=
====== Bitcoin ABC functional tests: chronik_token_burn.py ======

------- Stdout: -------
2024-10-21T17:13:49.231000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_token_burn_178
2024-10-21T17:13:51.233000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token_burn.py", line 282, in <module>
    ChronikTokenBurn().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... !=
====== Bitcoin ABC functional tests: chronik_token_id_group.py ======

------- Stdout: -------
2024-10-21T17:13:49.355000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_token_id_group_179
2024-10-21T17:13:51.617000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token_id_group.py", line 467, in <module>
    ChronikTokenBurn().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... !=
====== Bitcoin ABC functional tests: chronik_token_parse_failure.py ======

------- Stdout: -------
2024-10-21T17:13:50.231000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_token_parse_failure_180
2024-10-21T17:13:52.183000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token_parse_failure.py", line 130, in <module>
    ChronikTokenParseFailure().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... !=
====== Bitcoin ABC functional tests: chronik_token_script_group.py ======

------- Stdout: -------
2024-10-21T17:13:50.625000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_token_script_group_181
2024-10-21T17:13:52.547000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token_script_group.py", line 331, in <module>
    ChronikTokenScriptGroup().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... !=
====== Bitcoin ABC functional tests: chronik_token_slp_fungible.py ======

------- Stdout: -------
2024-10-21T17:13:50.746000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_token_slp_fungible_182
2024-10-21T17:13:52.689000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token_slp_fungible.py", line 248, in <module>
    ChronikTokenSlpFungible().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... !=
====== Bitcoin ABC functional tests: chronik_token_slp_mint_vault.py ======

------- Stdout: -------
2024-10-21T17:13:51.362000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_token_slp_mint_vault_183
2024-10-21T17:13:53.732000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token_slp_mint_vault.py", line 397, in <module>
    ChronikTokenSlpMintVault().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... !=
====== Bitcoin ABC functional tests: chronik_token_slp_nft1.py ======

------- Stdout: -------
2024-10-21T17:13:51.924000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_token_slp_nft1_184
2024-10-21T17:13:53.833000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token_slp_nft1.py", line 261, in <module>
    ChronikTokenSlpNft1().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... !=
====== Bitcoin ABC functional tests: chronik_tx.py ======

------- Stdout: -------
2024-10-21T17:13:52.320000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_tx_185
2024-10-21T17:13:54.357000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_tx.py", line 222, in <module>
    ChronikTxTest().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... !=
====== Bitcoin ABC functional tests: chronik_tx_removal_order.py ======

------- Stdout: -------
2024-10-21T17:13:52.651000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_tx_removal_order_186
2024-10-21T17:13:54.493000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_tx_removal_order.py", line 98, in <module>
    ChronikTxRemovalOrder().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... !=
====== Bitcoin ABC functional tests: chronik_ws.py ======

------- Stdout: -------
2024-10-21T17:09:53.327000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_ws_21
2024-10-21T17:10:11.639000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_ws.py", line 278, in <module>
    ChronikWsTest().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... !=
====== Bitcoin ABC functional tests: chronik_ws_ordering.py ======

------- Stdout: -------
2024-10-21T17:10:54.637000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_ws_ordering_40
2024-10-21T17:11:10.335000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_ws_ordering.py", line 257, in <module>
    ChronikWsOrdering().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... !=
====== Bitcoin ABC functional tests: chronik_ws_ping.py ======

------- Stdout: -------
2024-10-21T17:10:16.273000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_ws_ping_27
2024-10-21T17:10:32.816000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_ws_ping.py", line 55, in <module>
    ChronikWsPingTest().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... !=
====== Bitcoin ABC functional tests: chronik_ws_script.py ======

------- Stdout: -------
2024-10-21T17:09:51.167000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20241021_170819/chronik_ws_script_18
2024-10-21T17:10:06.480000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_ws_script.py", line 238, in <module>
    ChronikWsScriptTest().main()
  File "/work/test/functional/test_framework/test_framework.py", line 170, in main
    exit_code = self.shutdown()
  File "/work/test/functional/test_framework/test_framework.py", line 396, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 645, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 524, in stop_node
    raise AssertionError(f"Unexpected stderr {stderr} != {expected_stderr}")
AssertionError: Unexpected stderr Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

now exiting InteractiveConsole... !=

Each failure log is accessible here:
Bitcoin ABC functional tests: chronik_avalanche.py
Bitcoin ABC functional tests: chronik_block.py
Bitcoin ABC functional tests: chronik_block_header.py
Bitcoin ABC functional tests: chronik_block_info.py
Bitcoin ABC functional tests: chronik_block_txs.py
Bitcoin ABC functional tests: chronik_blockchain_info.py
Bitcoin ABC functional tests: chronik_blocks.py
Bitcoin ABC functional tests: chronik_chronik_info.py
Bitcoin ABC functional tests: chronik_cors.py
Bitcoin ABC functional tests: chronik_disable_token_index.py
Bitcoin ABC functional tests: chronik_lokad_id_group.py
Bitcoin ABC functional tests: chronik_mempool_conflicts.py
Bitcoin ABC functional tests: chronik_mempool_disconnectpool.py
Bitcoin ABC functional tests: chronik_pause.py
Bitcoin ABC functional tests: chronik_plugin_groups.py
Bitcoin ABC functional tests: chronik_plugins.py
Bitcoin ABC functional tests: chronik_plugins_setup.py
Bitcoin ABC functional tests: chronik_raw_tx.py
Bitcoin ABC functional tests: chronik_resync.py
Bitcoin ABC functional tests: chronik_script_confirmed_txs.py
Bitcoin ABC functional tests: chronik_script_history.py
Bitcoin ABC functional tests: chronik_script_unconfirmed_txs.py
Bitcoin ABC functional tests: chronik_script_utxos.py
Bitcoin ABC functional tests: chronik_serve.py
Bitcoin ABC functional tests: chronik_spent_by.py
Bitcoin ABC functional tests: chronik_token_alp.py
Bitcoin ABC functional tests: chronik_token_broadcast_txs.py
Bitcoin ABC functional tests: chronik_token_burn.py
Bitcoin ABC functional tests: chronik_token_id_group.py
Bitcoin ABC functional tests: chronik_token_parse_failure.py
Bitcoin ABC functional tests: chronik_token_script_group.py
Bitcoin ABC functional tests: chronik_token_slp_fungible.py
Bitcoin ABC functional tests: chronik_token_slp_mint_vault.py
Bitcoin ABC functional tests: chronik_token_slp_nft1.py
Bitcoin ABC functional tests: chronik_tx.py
Bitcoin ABC functional tests: chronik_tx_removal_order.py
Bitcoin ABC functional tests: chronik_ws.py
Bitcoin ABC functional tests: chronik_ws_ordering.py
Bitcoin ABC functional tests: chronik_ws_ping.py
Bitcoin ABC functional tests: chronik_ws_script.py

use ratatui to build a nice terminal UI with the REPL

Tail of the build log:

   Doc-tests chronik-db

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests chronik-http

running 1 test
test chronik/chronik-http/src/protobuf.rs - protobuf::Protobuf (line 29) ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.33s

   Doc-tests chronik-indexer

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests chronik-plugin

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests chronik-plugin-common

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests chronik-plugin-impl

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests chronik-proto

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests chronik-tui

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests chronik-util

running 2 tests
test chronik/chronik-util/src/log.rs - log::log (line 65) ... ignored
test chronik/chronik-util/src/log.rs - log::log_chronik (line 87) ... ignored

test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s

ninja: build stopped: cannot make progress due to previous errors.
Build build-chronik-plugins failed with exit code 1

Tail of the build log:

   Doc-tests chronik-db

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests chronik-http

running 1 test
test chronik/chronik-http/src/protobuf.rs - protobuf::Protobuf (line 29) ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.33s

   Doc-tests chronik-indexer

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests chronik-plugin

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests chronik-plugin-common

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests chronik-plugin-impl

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests chronik-proto

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests chronik-tui

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

   Doc-tests chronik-util

running 2 tests
test chronik/chronik-util/src/log.rs - log::log (line 65) ... ignored
test chronik/chronik-util/src/log.rs - log::log_chronik (line 87) ... ignored

test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s

ninja: build stopped: cannot make progress due to previous errors.
Build build-chronik-plugins failed with exit code 1