Don't panic in this case.
Details
Details
- Reviewers
PiRK - Group Reviewers
Restricted Project - Commits
- rABC3428207b82cf: [chronik] Electrum: gracefully error when the message is too big to be…
On terminal 1
ninja && ./src/bitcoind -debug=chronik -chronik -chronikscripthashindex -chronikelectrumbind="127.0.0.1:50001:t"
On terminal 2
echo '{"jsonrpc": "2.0", "method": "blockchain.scripthash.get_history", "params": ["44f2ccb974231cfc9d13e4badc782868e1248e8d6dbb202a3a3b854484628dd2"], "id": "test"}' | nc 127.0.0.1 50001 | jq
Check that terminal 1 does not print this message
thread 'tokio-runtime-worker' panicked at chronik/chronik-http/src/electrum_codec.rs:26:12: range end index 15220560 out of range for slice of length 1048576 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Reproduced on master, fixed with this diff.
Diff Detail
Diff Detail
- Repository
- rABC Bitcoin ABC
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
Tail of the build log:
[244/593] Building CXX object src/CMakeFiles/common.dir/key_io.cpp.o [245/593] Building CXX object src/CMakeFiles/common.dir/core_write.cpp.o [246/593] Building CXX object src/CMakeFiles/common.dir/netbase.cpp.o [247/593] Building CXX object src/CMakeFiles/common.dir/outputtype.cpp.o [248/593] Building CXX object src/CMakeFiles/common.dir/primitives/block.cpp.o [249/593] Building CXX object src/CMakeFiles/common.dir/policy/policy.cpp.o [250/593] Building CXX object src/CMakeFiles/common.dir/protocol.cpp.o [251/593] Building CXX object src/CMakeFiles/common.dir/scheduler.cpp.o [252/593] Building CXX object src/CMakeFiles/common.dir/networks/abc/chainparamsconstants.cpp.o [253/593] Building CXX object src/CMakeFiles/script.dir/script/bitfield.cpp.o [254/593] Building CXX object src/CMakeFiles/script.dir/script/intmath.cpp.o [255/593] Building CXX object src/CMakeFiles/common.dir/networks/abc/checkpoints.cpp.o [256/593] Building CXX object src/CMakeFiles/script.dir/script/script_error.cpp.o [257/593] Building CXX object src/CMakeFiles/common.dir/psbt.cpp.o [258/593] Building CXX object src/CMakeFiles/common.dir/warnings.cpp.o [259/593] Building CXX object src/CMakeFiles/script.dir/script/script.cpp.o [260/593] Building CXX object src/CMakeFiles/common.dir/rpc/rawtransaction_util.cpp.o [261/593] Building CXX object src/CMakeFiles/bitcoinconsensus.dir/arith_uint256.cpp.o [262/593] Building CXX object src/CMakeFiles/script.dir/script/interpreter.cpp.o [263/593] Building CXX object src/CMakeFiles/common.dir/rpc/util.cpp.o [264/593] Building CXX object src/CMakeFiles/script.dir/script/sigencoding.cpp.o [265/593] Building CXX object src/CMakeFiles/bitcoinconsensus.dir/hash.cpp.o [266/593] Building CXX object src/CMakeFiles/bitcoinconsensus.dir/uint256.cpp.o [267/593] Building CXX object src/CMakeFiles/bitcoinconsensus.dir/primitives/transaction.cpp.o [268/593] Building CXX object src/CMakeFiles/bitcoinconsensus.dir/util/strencodings.cpp.o [269/593] Building CXX object src/CMakeFiles/script.dir/script/sign.cpp.o [270/593] Building CXX object src/CMakeFiles/script.dir/script/standard.cpp.o [271/593] Building CXX object src/CMakeFiles/script.dir/script/descriptor.cpp.o [272/593] Building CXX object src/CMakeFiles/script.dir/script/signingprovider.cpp.o [273/593] Building C object src/secp256k1/CMakeFiles/secp256k1.dir/src/secp256k1.c.o [274/593] Building C object src/secp256k1/CMakeFiles/recover-bench.dir/src/bench_recover.c.o [275/593] Building C object src/secp256k1/CMakeFiles/verify-bench.dir/src/bench_verify.c.o [276/593] Building C object src/secp256k1/CMakeFiles/sign-bench.dir/src/bench_sign.c.o [277/593] Building CXX object src/CMakeFiles/bitcoinconsensus.dir/pubkey.cpp.o [278/593] Building CXX object src/CMakeFiles/bitcoinconsensus-shared.dir/script/bitcoinconsensus.cpp.o [279/593] Building CXX object src/CMakeFiles/bitcoinconsensus.dir/consensus/tx_check.cpp.o [280/593] Building C object src/secp256k1/CMakeFiles/internal-bench.dir/src/bench_internal.c.o [281/593] Building C object src/secp256k1/CMakeFiles/ecmult-bench.dir/src/bench_ecmult.c.o [282/593] Building CXX object src/CMakeFiles/bitcoinconsensus.dir/consensus/amount.cpp.o [283/593] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_formatter.cpp.o [284/593] Building CXX object src/CMakeFiles/bitcoin-cli.dir/bitcoin-cli.cpp.o [285/593] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_interpreter.cpp.o [286/593] Building CXX object src/CMakeFiles/bitcoin-tx.dir/bitcoin-tx.cpp.o [287/593] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana.cpp.o [288/593] Linking C static library src/secp256k1/libsecp256k1.a [289/593] Linking C executable src/secp256k1/internal-bench [290/593] Linking C executable src/secp256k1/sign-bench [291/593] Linking C executable src/secp256k1/ecmult-bench [292/593] Linking C executable src/secp256k1/verify-bench [293/593] Linking C executable src/secp256k1/recover-bench [294/593] Linking CXX static library src/libbitcoinconsensus.a [295/593] Linking CXX static library src/libscript.a [296/593] Linking CXX static library src/libcommon.a [297/593] Linking CXX shared library src/libbitcoinconsensus.so.0.31.5 [298/593] Creating library symlink src/libbitcoinconsensus.so.0 src/libbitcoinconsensus.so [299/593] Linking CXX executable src/iguana/iguana [300/593] Linking CXX executable src/bitcoin-cli [301/593] Linking CXX executable src/bitcoin-tx ninja: build stopped: cannot make progress due to previous errors. Build ecash-lib-integration-tests failed with exit code 1
Comment Actions
Tail of the build log:
[244/593] Building CXX object src/CMakeFiles/common.dir/common/args.cpp.o [245/593] Building CXX object src/CMakeFiles/common.dir/primitives/block.cpp.o [246/593] Building CXX object src/CMakeFiles/common.dir/networks/abc/chainparamsconstants.cpp.o [247/593] Building CXX object src/CMakeFiles/common.dir/netaddress.cpp.o [248/593] Building CXX object src/CMakeFiles/common.dir/scheduler.cpp.o [249/593] Building CXX object src/CMakeFiles/script.dir/script/intmath.cpp.o [250/593] Building CXX object src/CMakeFiles/common.dir/warnings.cpp.o [251/593] Building CXX object src/CMakeFiles/script.dir/script/bitfield.cpp.o [252/593] Building CXX object src/CMakeFiles/common.dir/protocol.cpp.o [253/593] Building CXX object src/CMakeFiles/common.dir/netbase.cpp.o [254/593] Building CXX object src/CMakeFiles/common.dir/core_write.cpp.o [255/593] Building CXX object src/CMakeFiles/script.dir/script/script_error.cpp.o [256/593] Building CXX object src/CMakeFiles/common.dir/networks/abc/checkpoints.cpp.o [257/593] Building CXX object src/CMakeFiles/common.dir/core_read.cpp.o [258/593] Building CXX object src/CMakeFiles/bitcoinconsensus.dir/hash.cpp.o [259/593] Building CXX object src/CMakeFiles/script.dir/script/script.cpp.o [260/593] Building CXX object src/CMakeFiles/bitcoinconsensus.dir/arith_uint256.cpp.o [261/593] Building CXX object src/CMakeFiles/bitcoinconsensus.dir/uint256.cpp.o [262/593] Building CXX object src/CMakeFiles/bitcoinconsensus.dir/util/strencodings.cpp.o [263/593] Building CXX object src/CMakeFiles/script.dir/script/sigencoding.cpp.o [264/593] Building CXX object src/CMakeFiles/script.dir/script/standard.cpp.o [265/593] Building CXX object src/CMakeFiles/common.dir/rpc/rawtransaction_util.cpp.o [266/593] Building CXX object src/CMakeFiles/bitcoinconsensus.dir/pubkey.cpp.o [267/593] Building CXX object src/CMakeFiles/bitcoinconsensus.dir/primitives/transaction.cpp.o [268/593] Building C object src/secp256k1/CMakeFiles/recover-bench.dir/src/bench_recover.c.o [269/593] Building CXX object src/CMakeFiles/script.dir/script/interpreter.cpp.o [270/593] Building C object src/secp256k1/CMakeFiles/verify-bench.dir/src/bench_verify.c.o [271/593] Building C object src/secp256k1/CMakeFiles/sign-bench.dir/src/bench_sign.c.o [272/593] Building CXX object src/CMakeFiles/bitcoinconsensus.dir/consensus/amount.cpp.o [273/593] Building CXX object src/CMakeFiles/script.dir/script/sign.cpp.o [274/593] Building CXX object src/CMakeFiles/bitcoinconsensus.dir/consensus/tx_check.cpp.o [275/593] Building CXX object src/CMakeFiles/bitcoinconsensus-shared.dir/script/bitcoinconsensus.cpp.o [276/593] Building CXX object src/CMakeFiles/common.dir/psbt.cpp.o [277/593] Building CXX object src/CMakeFiles/script.dir/script/signingprovider.cpp.o [278/593] Building C object src/secp256k1/CMakeFiles/secp256k1.dir/src/secp256k1.c.o [279/593] Linking C static library src/secp256k1/libsecp256k1.a [280/593] Linking C executable src/secp256k1/recover-bench [281/593] Linking C executable src/secp256k1/sign-bench [282/593] Linking C executable src/secp256k1/verify-bench [283/593] Linking CXX static library src/libbitcoinconsensus.a [284/593] Building C object src/secp256k1/CMakeFiles/internal-bench.dir/src/bench_internal.c.o [285/593] Linking C executable src/secp256k1/internal-bench [286/593] Building C object src/secp256k1/CMakeFiles/ecmult-bench.dir/src/bench_ecmult.c.o [287/593] Linking C executable src/secp256k1/ecmult-bench [288/593] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_formatter.cpp.o [289/593] Building CXX object src/CMakeFiles/common.dir/rpc/util.cpp.o [290/593] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_interpreter.cpp.o [291/593] Building CXX object src/CMakeFiles/script.dir/script/descriptor.cpp.o [292/593] Linking CXX static library src/libscript.a [293/593] Building CXX object src/CMakeFiles/bitcoin-cli.dir/bitcoin-cli.cpp.o [294/593] Linking CXX static library src/libcommon.a [295/593] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana.cpp.o [296/593] Linking CXX shared library src/libbitcoinconsensus.so.0.31.5 [297/593] Creating library symlink src/libbitcoinconsensus.so.0 src/libbitcoinconsensus.so [298/593] Linking CXX executable src/bitcoin-cli [299/593] Linking CXX executable src/iguana/iguana [300/593] Building CXX object src/CMakeFiles/bitcoin-tx.dir/bitcoin-tx.cpp.o [301/593] Linking CXX executable src/bitcoin-tx ninja: build stopped: cannot make progress due to previous errors. Build chronik-client-integration-tests failed with exit code 1
Comment Actions
Tail of the build log:
[244/593] Building CXX object src/CMakeFiles/common.dir/policy/policy.cpp.o [245/593] Building CXX object src/CMakeFiles/common.dir/scheduler.cpp.o [246/593] Building CXX object src/CMakeFiles/common.dir/psbt.cpp.o [247/593] Building CXX object src/CMakeFiles/common.dir/networks/abc/chainparamsconstants.cpp.o [248/593] Building CXX object src/CMakeFiles/common.dir/rpc/rawtransaction_util.cpp.o [249/593] Building CXX object src/CMakeFiles/common.dir/networks/abc/checkpoints.cpp.o [250/593] Building CXX object src/CMakeFiles/common.dir/warnings.cpp.o [251/593] Building CXX object src/CMakeFiles/common.dir/rpc/util.cpp.o [252/593] Building CXX object src/CMakeFiles/script.dir/script/bitfield.cpp.o [253/593] Building CXX object src/CMakeFiles/script.dir/script/interpreter.cpp.o [254/593] Building CXX object src/CMakeFiles/script.dir/script/intmath.cpp.o [255/593] Building CXX object src/CMakeFiles/script.dir/script/script_error.cpp.o [256/593] Building CXX object src/CMakeFiles/bitcoinconsensus.dir/arith_uint256.cpp.o [257/593] Building CXX object src/CMakeFiles/script.dir/script/sign.cpp.o [258/593] Building CXX object src/CMakeFiles/script.dir/script/signingprovider.cpp.o [259/593] Building CXX object src/CMakeFiles/bitcoinconsensus.dir/uint256.cpp.o [260/593] Building CXX object src/CMakeFiles/bitcoinconsensus.dir/primitives/transaction.cpp.o [261/593] Building CXX object src/CMakeFiles/script.dir/script/standard.cpp.o [262/593] Building CXX object src/CMakeFiles/bitcoinconsensus.dir/pubkey.cpp.o [263/593] Building CXX object src/CMakeFiles/bitcoinconsensus-shared.dir/script/bitcoinconsensus.cpp.o [264/593] Building CXX object src/CMakeFiles/bitcoinconsensus.dir/consensus/tx_check.cpp.o [265/593] Building CXX object src/CMakeFiles/bitcoinconsensus.dir/consensus/amount.cpp.o [266/593] Building CXX object src/CMakeFiles/bitcoin-cli.dir/bitcoin-cli.cpp.o [267/593] Building C object src/secp256k1/CMakeFiles/recover-bench.dir/src/bench_recover.c.o [268/593] Building CXX object src/CMakeFiles/common.dir/eventloop.cpp.o [269/593] Building C object src/secp256k1/CMakeFiles/sign-bench.dir/src/bench_sign.c.o [270/593] Building C object src/secp256k1/CMakeFiles/verify-bench.dir/src/bench_verify.c.o [271/593] Building CXX object src/CMakeFiles/common.dir/feerate.cpp.o [272/593] Building CXX object src/CMakeFiles/bitcoin-tx.dir/bitcoin-tx.cpp.o [273/593] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana.cpp.o [274/593] Building CXX object src/CMakeFiles/bitcoinconsensus.dir/util/strencodings.cpp.o [275/593] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_interpreter.cpp.o [276/593] Building C object src/secp256k1/CMakeFiles/secp256k1.dir/src/secp256k1.c.o [277/593] Building C object src/secp256k1/CMakeFiles/ecmult-bench.dir/src/bench_ecmult.c.o [278/593] Linking C static library src/secp256k1/libsecp256k1.a [279/593] Linking C executable src/secp256k1/recover-bench [280/593] Linking C executable src/secp256k1/sign-bench [281/593] Linking C executable src/secp256k1/verify-bench [282/593] Linking C executable src/secp256k1/ecmult-bench [283/593] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_formatter.cpp.o [284/593] Building CXX object src/CMakeFiles/common.dir/core_read.cpp.o [285/593] Building CXX object src/CMakeFiles/bitcoinconsensus.dir/hash.cpp.o [286/593] Linking CXX static library src/libbitcoinconsensus.a [287/593] Building CXX object src/CMakeFiles/script.dir/script/script.cpp.o [288/593] Building CXX object src/CMakeFiles/script.dir/script/sigencoding.cpp.o [289/593] Building CXX object src/CMakeFiles/common.dir/outputtype.cpp.o [290/593] Building C object src/secp256k1/CMakeFiles/internal-bench.dir/src/bench_internal.c.o [291/593] Linking C executable src/secp256k1/internal-bench [292/593] Building CXX object src/CMakeFiles/common.dir/key_io.cpp.o [293/593] Building CXX object src/CMakeFiles/common.dir/netbase.cpp.o [294/593] Building CXX object src/CMakeFiles/script.dir/script/descriptor.cpp.o [295/593] Linking CXX static library src/libscript.a [296/593] Linking CXX static library src/libcommon.a [297/593] Linking CXX shared library src/libbitcoinconsensus.so.0.31.5 [298/593] Creating library symlink src/libbitcoinconsensus.so.0 src/libbitcoinconsensus.so [299/593] Linking CXX executable src/iguana/iguana [300/593] Linking CXX executable src/bitcoin-cli [301/593] Linking CXX executable src/bitcoin-tx ninja: build stopped: cannot make progress due to previous errors. Build ecash-agora-integration-tests failed with exit code 1
Comment Actions
Build Bitcoin ABC Diffs / Diff Testing (build-chronik) failed.
Tail of the build log:
Compiling http-body-util v0.1.2 Compiling serde_spanned v0.6.8 Compiling toml_datetime v0.6.8 Compiling pyo3 v0.23.3 Compiling sha1 v0.10.6 Compiling data-encoding v2.6.0 Compiling httpdate v1.0.3 Compiling utf-8 v0.7.6 Compiling winnow v0.6.20 Compiling hyper v1.5.1 Compiling tungstenite v0.24.0 Compiling url v2.5.4 Compiling memoffset v0.9.1 Compiling karyon_core v0.3.0 Compiling mime v0.3.17 Compiling sync_wrapper v1.0.2 Compiling unicode-segmentation v1.12.0 Compiling sync_wrapper v0.1.2 Compiling unindent v0.2.3 Compiling tower v0.5.1 Compiling axum-core v0.4.5 Compiling hyper-util v0.1.10 Compiling tokio-tungstenite v0.24.0 Compiling convert_case v0.6.0 Compiling toml_edit v0.22.22 Compiling serde_urlencoded v0.7.1 Compiling karyon_jsonrpc_macro v0.3.0 Compiling futures-executor v0.3.31 Compiling serde_path_to_error v0.1.16 Compiling matchit v0.7.3 Compiling librocksdb-sys v0.11.0+8.1.1 Compiling base64 v0.22.1 Compiling futures v0.3.31 Compiling tower-http v0.5.2 Compiling pyo3-macros v0.23.3 Compiling toml v0.8.19 Compiling axum v0.7.9 Compiling chronik-plugin-impl v0.1.0 (/work/chronik/chronik-plugin-impl) Compiling aws-lc-rs v1.11.1 Compiling rustls v0.23.19 Compiling rustls-webpki v0.102.8 Compiling tokio-rustls v0.26.1 Compiling karyon_async_rustls v0.3.0 Compiling karyon_net v0.3.0 Compiling karyon_jsonrpc v0.3.0 Compiling rocksdb v0.21.0 Compiling chronik-db v0.1.0 (/work/chronik/chronik-db) Compiling chronik-indexer v0.1.0 (/work/chronik/chronik-indexer) Compiling chronik-http v0.1.0 (/work/chronik/chronik-http) error[E0599]: no variant or associated item named `EncodeError` found for enum `karyon_jsonrpc::error::Error` in the current scope --> chronik/chronik-http/src/electrum_codec.rs:29:31 | 29 | return Err(Error::EncodeError( | ^^^^^^^^^^^ variant or associated item not found in `Error` For more information about this error, try `rustc --explain E0599`. error: could not compile `chronik-http` (lib) due to 1 previous error warning: build failed, waiting for other jobs to finish... ninja: build stopped: cannot make progress due to previous errors. Build build-chronik failed with exit code 1
Comment Actions
Build Bitcoin ABC Diffs / Diff Testing (build-chronik-plugins) failed.
Tail of the build log:
Checking karyon_core v0.3.0 Checking tungstenite v0.24.0 Checking hyper v1.5.1 Compiling chronik-proto v0.1.0 (/work/chronik/chronik-proto) Checking chronik-plugin-common v0.1.0 (/work/chronik/chronik-plugin-common) Checking url v2.5.4 Checking serde_spanned v0.6.8 Checking chronik-plugin v0.1.0 (/work/chronik/chronik-plugin) Checking toml_datetime v0.6.8 Compiling pyo3 v0.23.3 Checking winnow v0.6.20 Checking topo_sort v0.4.0 Checking sync_wrapper v1.0.2 Checking sync_wrapper v0.1.2 Checking mime v0.3.17 Checking seahash v4.1.0 Checking tower v0.5.1 Checking hyper-util v0.1.10 Checking tokio-tungstenite v0.24.0 Checking axum-core v0.4.5 Checking memoffset v0.9.1 Checking serde_urlencoded v0.7.1 Checking futures-executor v0.3.31 Compiling karyon_jsonrpc_macro v0.3.0 Checking serde_path_to_error v0.1.16 Checking matchit v0.7.3 Checking unindent v0.2.3 Checking unicode-segmentation v1.12.0 Checking base64 v0.22.1 Checking tower-http v0.5.2 Checking futures v0.3.31 Checking convert_case v0.6.0 Compiling chronik-bridge v0.1.0 (/work/chronik/chronik-bridge) Checking toml_edit v0.22.22 Compiling librocksdb-sys v0.11.0+8.1.1 Checking axum v0.7.9 Checking toml v0.8.19 Compiling pyo3-macros v0.23.3 Checking chronik-plugin-impl v0.1.0 (/work/chronik/chronik-plugin-impl) Compiling aws-lc-rs v1.11.1 Compiling rustls v0.23.19 Checking rustls-webpki v0.102.8 Checking tokio-rustls v0.26.1 Checking karyon_async_rustls v0.3.0 Checking karyon_net v0.3.0 Checking karyon_jsonrpc v0.3.0 Checking rocksdb v0.21.0 Checking chronik-db v0.1.0 (/work/chronik/chronik-db) Checking chronik-indexer v0.1.0 (/work/chronik/chronik-indexer) Checking chronik-http v0.1.0 (/work/chronik/chronik-http) error[E0599]: no variant or associated item named `EncodeError` found for enum `karyon_jsonrpc::error::Error` in the current scope --> chronik/chronik-http/src/electrum_codec.rs:29:31 | 29 | return Err(Error::EncodeError( | ^^^^^^^^^^^ variant or associated item not found in `Error` For more information about this error, try `rustc --explain E0599`. error: could not compile `chronik-http` (lib) due to 1 previous error ninja: build stopped: cannot make progress due to previous errors. Build build-chronik-plugins failed with exit code 1
Comment Actions
Suggested test plan:
terminal 1
ninja && ./src/bitcoind -debug=chronik -chronik -chronikscripthashindex -chronikelectrumbind="127.0.0.1:50001:t"
terminal 2
echo '{"jsonrpc": "2.0", "method": "blockchain.scripthash.get_history", "params": ["44f2ccb974231cfc9d13e4badc782868e1248e8d6dbb202a3a3b854484628dd2"], "id": "test"}' | nc 127.0.0.1 50001 | jq
Check that terminal 1 does not print this message
thread 'tokio-runtime-worker' panicked at chronik/chronik-http/src/electrum_codec.rs:26:12: range end index 15220560 out of range for slice of length 1048576 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Reproduced on master, seems fixed on D18114
Now with this diff the issue is that Chronik fails silently to reply to this request. It would be ideal to see a RPC reply with an error message, or at the very least a log line on the server side.
Comment Actions
Build Bitcoin ABC Diffs / Diff Testing (build-chronik) failed.
Tail of the build log:
Doc-tests chronik-bridge running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s 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.38s 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-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 failed with exit code 1
Comment Actions
Build Bitcoin ABC Diffs / Diff Testing (build-chronik-plugins) failed.
Tail of the build log:
Checking toml_datetime v0.6.8 Compiling pyo3 v0.23.3 Checking sync_wrapper v1.0.2 Checking topo_sort v0.4.0 Checking seahash v4.1.0 Checking chronik-plugin v0.1.0 (/work/chronik/chronik-plugin) Checking mime v0.3.17 Checking sync_wrapper v0.1.2 Checking winnow v0.6.20 Checking memoffset v0.9.1 Checking tower v0.5.1 Checking tokio-tungstenite v0.24.0 Checking hyper-util v0.1.10 Checking axum-core v0.4.5 Checking serde_urlencoded v0.7.1 Compiling karyon_jsonrpc_macro v0.3.0 Checking futures-executor v0.3.31 Checking serde_path_to_error v0.1.16 Checking unicode-segmentation v1.12.0 Checking base64 v0.22.1 Checking unindent v0.2.3 Checking matchit v0.7.3 Checking futures v0.3.31 Checking convert_case v0.6.0 Checking tower-http v0.5.2 Compiling chronik-bridge v0.1.0 (/work/chronik/chronik-bridge) Compiling librocksdb-sys v0.11.0+8.1.1 Checking toml_edit v0.22.22 Checking axum v0.7.9 Checking toml v0.8.19 Compiling pyo3-macros v0.23.3 Checking chronik-plugin-impl v0.1.0 (/work/chronik/chronik-plugin-impl) Compiling aws-lc-rs v1.11.1 Compiling rustls v0.23.19 Checking rustls-webpki v0.102.8 Checking tokio-rustls v0.26.1 Checking karyon_async_rustls v0.3.0 Checking karyon_net v0.3.0 Checking karyon_jsonrpc v0.3.0 Checking rocksdb v0.21.0 Checking chronik-db v0.1.0 (/work/chronik/chronik-db) Checking chronik-indexer v0.1.0 (/work/chronik/chronik-indexer) Checking chronik-http v0.1.0 (/work/chronik/chronik-http) error: this boolean expression contains a logic bug --> chronik/chronik-http/src/electrum_codec.rs:29:12 | 29 | if true || buf.len() + 1 > dst.len() { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: it would look like the following: `true` | help: this expression can be optimized out by applying boolean operations to the outer expression --> chronik/chronik-http/src/electrum_codec.rs:29:20 | 29 | if true || buf.len() + 1 > dst.len() { | ^^^^^^^^^^^^^^^^^^^^^^^^^ = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#overly_complex_bool_expr = note: `#[deny(clippy::overly_complex_bool_expr)]` on by default error: could not compile `chronik-http` (lib) due to 1 previous error ninja: build stopped: cannot make progress due to previous errors. Build build-chronik-plugins failed with exit code 1