Closed jlatone closed 2 years ago
I did verify the endian-ness issue, e.g., Bitcoin's block magic number isn't matched in src/bulk.rs
(HERE below), not to mention other places in this function and perhaps elsewhere in electrs where endian-ness needs to be addressed. I don't know Rust but I'll look into its set of byte-ordering functions to fix this one, though I'm not sure how wide-spread the issue is.
(I may change the title on this issue to make it more pertinent. I suspect the exception in the issue description above gets thrown when the magic number happens to match 4-bytes somewhere in the .dat file and then it's over.)
fn parse_blocks(blob: Vec<u8>, magic: u32) -> Result<Vec<Block>> {
let mut cursor = Cursor::new(&blob);
let mut blocks = vec![];
let max_pos = blob.len() as u64;
while cursor.position() < max_pos {
let offset = cursor.position();
match u32::consensus_decode(&mut cursor) {
Ok(value) => {
if magic != value { <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< HERE
cursor.set_position(offset + 1);
continue;
}
}
Err(_) => break, // EOF
};
let block_size = u32::consensus_decode(&mut cursor).chain_err(|| "no block size")?;
let start = cursor.position();
let end = start + block_size as u64;
// If Core's WriteBlockToDisk ftell fails, only the magic bytes and size will be written
// and the block body won't be written to the blk*.dat file.
// Since the first 4 bytes should contain the block's version, we can skip such blocks
// by peeking the cursor (and skipping previous `magic` and `block_size`).
match u32::consensus_decode(&mut cursor) {
Ok(value) => {
if magic == value {
cursor.set_position(start);
continue;
}
}
Err(_) => break, // EOF
}
let block: Block = deserialize(&blob[start as usize..end as usize])
.chain_err(|| format!("failed to parse block at {}..{}", start, end))?;
blocks.push(block);
cursor.set_position(end as u64);
}
Ok(blocks)
}
Until I get around to testing and contributing it, this patch appears to address at least part of the endian issue (look for "endian"...there may be a less verbose way to express it in Rust). There are other areas, too, e.g., in mempool.rs (txid).
--- ../../electrs/src/bulk.rs 2021-06-22 18:29:27.407193120 -0400
+++ src/bulk.rs 2021-06-22 19:15:06.566836862 -0400
@@ -121,8 +121,7 @@
while cursor.position() < max_pos {
let offset = cursor.position();
match u32::consensus_decode(&mut cursor) {
- Ok(_value) => {
- let value = if cfg!(target_endian = "big") { _value.to_le() } else { _value };
+ Ok(value) => {
if magic != value {
cursor.set_position(offset + 1);
continue;
@@ -130,8 +129,7 @@
}
Err(_) => break, // EOF
};
- let _block_size = u32::consensus_decode(&mut cursor).chain_err(|| "no block size")?;
- let block_size = if cfg!(target_endian = "big") { _block_size.to_le() } else { _block_size };
+ let block_size = u32::consensus_decode(&mut cursor).chain_err(|| "no block size")?;
let start = cursor.position();
let end = start + block_size as u64;
@@ -140,8 +138,7 @@
// Since the first 4 bytes should contain the block's version, we can skip such blocks
// by peeking the cursor (and skipping previous `magic` and `block_size`).
match u32::consensus_decode(&mut cursor) {
- Ok(_value) => {
- let value = if cfg!(target_endian = "big") { _value.to_le() } else { _value };
+ Ok(value) => {
if magic == value {
cursor.set_position(start);
continue;
Perhaps send it in the form of PR? It's easier to review that way.
@jlatone could you please test p2p
branch? It doesn't read blk*.dat
files - so it should work also on big-endian platforms.
There are other areas, too, e.g., in mempool.rs (txid).
Could you please share the error you're getting there?
Perhaps send it in the form of PR? It's easier to review that way.
I will, I want to test it more for completeness and make sure it's ok rust code (I don't know the language). So far so good, though, other than the issue raised in mempool.rs (I'll reply to @romanz).
@jlatone could you please test
p2p
branch? It doesn't readblk*.dat
files - so it should work also on big-endian platforms.
Oh, I didn't know about it, I'll try it today.
Could you please share the error you're getting there?
Sure, and this may be obvious but I haven't spotted it, yet: the following assertion fails (full stack trace follows).
src/mempool.rs:218 assert_eq!(tx.txid(), *txid);
I thought it may be a byte ordering issue with the assertion only, but it doesn't appear to be judging from the left/right values (I looked up the hash values on blockchain.com and the left one doesn't exist and the right one is unconfirmed in the mempool at the time of this post). I suspect there's something more fundamental wrong with byte ordering here, even if electrs seems to be working (I do connect to it from an electrum wallet and it does simple things correctly, like txn lookups).
[Edit: Oh, I should have mentioned: I "fixed" the above problem by commenting it out, :), just to get electrs to continue...]
$ RUST_BACKTRACE=full target/release/electrs --conf electrs.toml
Config { log: StdErrLog { verbosity: Trace, quiet: false, show_level: true, timestamp: Millisecond, modules: [], writer: "stderr", color_choice: Auto }, network_type: Bitcoin, db_path: "/home1/umbrels390x/umbrel/electrs/db/mainnet", daemon_dir: "/home1/umbrels390x/umbrel/bitcoin", blocks_dir: "/home1/umbrels390x/umbrel/bitcoin//blocks", daemon_rpc_addr: 10.21.21.8:8332, electrum_rpc_addr: 0.0.0.0:50001, monitoring_addr: 127.0.0.1:4224, jsonrpc_import: false, index_batch_size: 10, bulk_index_threads: 4, tx_cache_size: 10485760, txid_limit: 100, server_banner: "Joe Test", blocktxids_cache_size: 10485760 }
2021-06-23T15:08:57.118-04:00 - DEBUG - Server listening on 127.0.0.1:4224
2021-06-23T15:08:57.119-04:00 - DEBUG - Running accept thread
2021-06-23T15:08:57.119-04:00 - INFO - NetworkInfo { version: 210100, subversion: "/Satoshi:0.21.1/", relayfee: 0.00001 }
2021-06-23T15:08:57.120-04:00 - INFO - BlockchainInfo { chain: "main", blocks: 688608, headers: 688608, verificationprogress: 0.9999976559118524, bestblockhash: "0000000000000000000a21b866fc1e2d10ac91c6a7ce2aa24d8320fafa827d45", pruned: false, initialblockdownload: false }
2021-06-23T15:08:57.120-04:00 - DEBUG - opening DB at "/home1/umbrels390x/umbrel/electrs/db/mainnet"
2021-06-23T15:08:57.131-04:00 - TRACE - latest indexed blockhash: 0000000000000000000a21b866fc1e2d10ac91c6a7ce2aa24d8320fafa827d45
2021-06-23T15:08:59.269-04:00 - DEBUG - applying 688609 new headers from height 0
2021-06-23T15:08:59.496-04:00 - INFO - enabling auto-compactions
2021-06-23T15:08:59.501-04:00 - DEBUG - relayfee: 0.00001 BTC
2021-06-23T15:08:59.501-04:00 - DEBUG - downloading new block headers (688609 already indexed) from 0000000000000000000a21b866fc1e2d10ac91c6a7ce2aa24d8320fafa827d45
2021-06-23T15:08:59.501-04:00 - TRACE - downloaded 0 block headers
2021-06-23T15:08:59.502-04:00 - DEBUG - applying 0 new headers from height 688609
2021-06-23T15:09:11.559-04:00 - INFO - Electrum RPC server running on 0.0.0.0:50001 (protocol 1.4)
^C2021-06-23T15:09:19.880-04:00 - TRACE - notified via SIG2
2021-06-23T15:09:19.880-04:00 - INFO - stopping server: Interrupted by signal 2
2021-06-23T15:09:19.880-04:00 - TRACE - stop accepting new RPCs
2021-06-23T15:09:19.880-04:00 - TRACE - closing 0 RPC connections
2021-06-23T15:09:19.880-04:00 - TRACE - RPC connections are closed
2021-06-23T15:09:19.880-04:00 - TRACE - RPC server is stopped
2021-06-23T15:09:20.043-04:00 - TRACE - closing DB at "/home1/umbrels390x/umbrel/electrs/db/mainnet"
here 1here 2here 3here 4here 5here 6here numbrel@silusa03:/home1/umbrels390x/my-repos/electrs$ vi src/mempool.rs
umbrel@silusa03:/home1/umbrels390x/my-repos/electrs$ ROCKSDB_INCLUDE_DIR=/usr/include ROCKSDB_LIB_DIR=/usr/lib cargo build --locked --no-default-features --release
Compiling electrs v0.8.10 (/home1/umbrels390x/my-repos/electrs)
Finished release [optimized] target(s) in 2m 03s
umbrel@silusa03:/home1/umbrels390x/my-repos/electrs$ vi src/mempool.rs
umbrel@silusa03:/home1/umbrels390x/my-repos/electrs$ RUST_BACKTRACE=full target/release/electrs --conf electrs.toml
Config { log: StdErrLog { verbosity: Trace, quiet: false, show_level: true, timestamp: Millisecond, modules: [], writer: "stderr", color_choice: Auto }, network_type: Bitcoin, db_path: "/home1/umbrels390x/umbrel/electrs/db/mainnet", daemon_dir: "/home1/umbrels390x/umbrel/bitcoin", blocks_dir: "/home1/umbrels390x/umbrel/bitcoin//blocks", daemon_rpc_addr: 10.21.21.8:8332, electrum_rpc_addr: 0.0.0.0:50001, monitoring_addr: 127.0.0.1:4224, jsonrpc_import: false, index_batch_size: 10, bulk_index_threads: 4, tx_cache_size: 10485760, txid_limit: 100, server_banner: "Joe Test", blocktxids_cache_size: 10485760 }
2021-06-23T15:14:09.743-04:00 - DEBUG - Server listening on 127.0.0.1:4224
2021-06-23T15:14:09.743-04:00 - DEBUG - Running accept thread
2021-06-23T15:14:09.744-04:00 - INFO - NetworkInfo { version: 210100, subversion: "/Satoshi:0.21.1/", relayfee: 0.00001 }
2021-06-23T15:14:09.744-04:00 - INFO - BlockchainInfo { chain: "main", blocks: 688609, headers: 688609, verificationprogress: 0.9999986258823316, bestblockhash: "0000000000000000000249a8dfd2848369f05efb1bf22627df117ace840d2118", pruned: false, initialblockdownload: false }
2021-06-23T15:14:09.745-04:00 - DEBUG - opening DB at "/home1/umbrels390x/umbrel/electrs/db/mainnet"
2021-06-23T15:14:09.756-04:00 - TRACE - latest indexed blockhash: 0000000000000000000a21b866fc1e2d10ac91c6a7ce2aa24d8320fafa827d45
2021-06-23T15:14:11.789-04:00 - DEBUG - applying 688609 new headers from height 0
2021-06-23T15:14:12.016-04:00 - INFO - enabling auto-compactions
2021-06-23T15:14:12.020-04:00 - DEBUG - relayfee: 0.00001 BTC
2021-06-23T15:14:12.020-04:00 - DEBUG - downloading new block headers (688609 already indexed) from 0000000000000000000249a8dfd2848369f05efb1bf22627df117ace840d2118
2021-06-23T15:14:12.021-04:00 - TRACE - downloaded 1 block headers
2021-06-23T15:14:12.021-04:00 - INFO - best=0000000000000000000249a8dfd2848369f05efb1bf22627df117ace840d2118 height=688609 @ 1971-05-07T09:18:24Z (1 left to index)
2021-06-23T15:14:12.104-04:00 - DEBUG - applying 1 new headers from height 688609
thread 'main' panicked at 'assertion failed: `(left == right)`
left: `f65a7258b9e0f743d5bc3c4c81c28b70a5dd590795796fb867361da5326f6401`,
right: `49c7e9860f6af47eec81b44b72d541444eb06e5c93ae7bc8b696647f9221903a`', src/mempool.rs:219:21
stack backtrace:
0: 0x2aa1d75e5ae - std::backtrace_rs::backtrace::libunwind::trace::h689880d970358ed7
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/../../backtrace/src/backtrace/libunwind.rs:96
1: 0x2aa1d75e5ae - std::backtrace_rs::backtrace::trace_unsynchronized::hb9ab8a9039808186
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/../../backtrace/src/backtrace/mod.rs:66
2: 0x2aa1d75e5ae - std::sys_common::backtrace::_print_fmt::hbb074995e5f46bb9
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/sys_common/backtrace.rs:79
3: 0x2aa1d75e5ae - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h166a3435f1ebe346
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/sys_common/backtrace.rs:58
4: 0x2aa1d3a75aa - core::fmt::write::h8b4108697d5241f2
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/core/src/fmt/mod.rs:1082
5: 0x2aa1d78adee - std::io::Write::write_fmt::h3403d93f9caf93cc
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/io/mod.rs:1514
6: 0x2aa1d78adee - std::sys_common::backtrace::_print::hcf657fa446f51fed
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/sys_common/backtrace.rs:61
7: 0x2aa1d78adee - std::sys_common::backtrace::print::hcd881c8f1eb6560d
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/sys_common/backtrace.rs:48
8: 0x2aa1d78adee - std::panicking::default_hook::{{closure}}::h4e1fb170e2733b87
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panicking.rs:200
9: 0x2aa1d78adee - std::panicking::default_hook::h7ada06cabfc90b05
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panicking.rs:219
10: 0x2aa1d78adee - std::panicking::rust_panic_with_hook::h6b0223f79e36ee07
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panicking.rs:569
11: 0x2aa1d75f804 - std::panicking::begin_panic_handler::{{closure}}::h8431d8d166b433f8
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panicking.rs:476
12: 0x2aa1d75f7c6 - std::sys_common::backtrace::__rust_end_short_backtrace::h6b95ca77725bc954
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/sys_common/backtrace.rs:153
13: 0x2aa1d789eec - rust_begin_unwind
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panicking.rs:475
14: 0x2aa1d789ea8 - std::panicking::begin_panic_fmt::hb7513fc411d5bfe8
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panicking.rs:429
15: 0x2aa1d3e6998 - electrs::mempool::Tracker::update::h37c9f59fa86ce7a5
16: 0x2aa1d4bbf3c - electrs::query::Query::update_mempool::hf1d66dda2325d841
17: 0x2aa1d352656 - electrs::main::h32ccbb69d52bfc03
18: 0x2aa1d52202c - std::sys_common::backtrace::__rust_begin_short_backtrace::he93c6f1bde289991
19: 0x2aa1d5313b6 - std::rt::lang_start::{{closure}}::h0d65ea4e8e4e7c2c
20: 0x2aa1d789d72 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h7aa3f9caabfca7a6
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/core/src/ops/function.rs:259
21: 0x2aa1d789d72 - std::panicking::try::do_call::h671152cfe35f0c58
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panicking.rs:373
22: 0x2aa1d789d24 - __rust_try.llvm.8933322167181837671
23: 0x2aa1d530fd8 - std::rt::lang_start::h87700668465d4d41
24: 0x3ffae8ab39a - __libc_start_main
25: 0x2aa1d34a964 - <unknown>
26: 0x0 - <unknown>
2021-06-23T15:14:12.280-04:00 - TRACE - closing DB at "/home1/umbrels390x/umbrel/electrs/db/mainnet"
@jlatone could you please test
p2p
branch? It doesn't readblk*.dat
files - so it should work also on big-endian platforms.
OK, I tried the p2p branch of electrs and ran into 2 problems that appear to be byte-order issues:
electrs immediately fails with this error:
Error: failed to get headers
Caused by:
0: p2p failed to recv
1: I/O error: unexpected end of file
The bitcoind log show this:
2021-06-25T02:54:48Z Added connection peer=23
2021-06-25T02:54:48Z connection from 127.0.0.1:54400 accepted
2021-06-25T02:54:48Z HEADER ERROR - MESSAGESTART (version, 1560281088 bytes), received d9b4bef9, peer=23
2021-06-25T02:54:48Z disconnecting peer=23
2021-06-25T02:54:48Z Cleared nodestate for peer=23
I ran the tests, and test_scripthash_row failed because of byte ordering (note the lower 4 bytes in "a384491d38929fcc40e20100" and the values of right & left in the assert error message just below).
#[test]
fn test_scripthash_row() {
let hex = "\"4b3d912c1523ece4615e91bf0d27381ca72169dbf6b1c2ffcc9f92381d4984a3\"";
let scripthash: ScriptHash = from_str(&hex).unwrap();
let row1 = ScriptHashRow::new(scripthash, 123456);
let db_row = row1.to_db_row();
assert_eq!(db_row[..].to_hex(), "a384491d38929fcc40e20100");
let row2 = ScriptHashRow::from_db_row(&db_row);
assert_eq!(row1, row2);
}
$ RUST_BACKTRACE=full cargo test --locked --release --all
Finished release [optimized] target(s) in 0.07s
Running target/release/deps/electrs-5310156c594f0bab
running 8 tests
test chain::tests::test_genesis ... ok
test mempool::tests::test_histogram ... ok
test types::tests::test_scripthash ... ok
test types::tests::test_scripthash_serde ... ok
test types::tests::test_spending_prefix ... ok
test chain::tests::test_updates ... ok
test types::tests::test_scripthash_row ... FAILED
test merkle::tests::test_merkle ... FAILED
failures:
---- types::tests::test_scripthash_row stdout ----
thread 'types::tests::test_scripthash_row' panicked at 'assertion failed: `(left == right)`
left: `"a384491d38929fcc0001e240"`,
right: `"a384491d38929fcc40e20100"`', src/types.rs:258:9
stack backtrace:
0: 0x2aa2501d098 - std::backtrace_rs::backtrace::libunwind::trace::h689880d970358ed7
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/../../backtrace/src/backtrace/libunwind.rs:96
1: 0x2aa2501d098 - std::backtrace_rs::backtrace::trace_unsynchronized::hb9ab8a9039808186
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/../../backtrace/src/backtrace/mod.rs:66
2: 0x2aa2501d098 - std::sys_common::backtrace::_print_fmt::hbb074995e5f46bb9
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/sys_common/backtrace.rs:79
3: 0x2aa2501d098 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h166a3435f1ebe346
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/sys_common/backtrace.rs:58
4: 0x2aa250658fa - core::fmt::write::h8b4108697d5241f2
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/core/src/fmt/mod.rs:1082
5: 0x2aa24fb6e22 - std::io::Write::write_fmt::h47d354c3d7b9e04d
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/io/mod.rs:1514
6: 0x2aa2503fc76 - std::io::impls::<impl std::io::Write for alloc::boxed::Box<W>>::write_fmt::h59012aafbd9238b7
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/io/impls.rs:176
7: 0x2aa2503fc76 - std::sys_common::backtrace::_print::hcf657fa446f51fed
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/sys_common/backtrace.rs:61
8: 0x2aa2503fc76 - std::sys_common::backtrace::print::hcd881c8f1eb6560d
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/sys_common/backtrace.rs:48
9: 0x2aa2503fc76 - std::panicking::default_hook::{{closure}}::h4e1fb170e2733b87
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panicking.rs:200
10: 0x2aa2503fc76 - std::panicking::default_hook::h7ada06cabfc90b05
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panicking.rs:216
11: 0x2aa250408f8 - std::panicking::rust_panic_with_hook::h6b0223f79e36ee07
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panicking.rs:569
12: 0x2aa2501d3b0 - std::panicking::begin_panic_handler::{{closure}}::h8431d8d166b433f8
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panicking.rs:476
13: 0x2aa2501d36a - std::sys_common::backtrace::__rust_end_short_backtrace::h6b95ca77725bc954
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/sys_common/backtrace.rs:153
14: 0x2aa250404ca - rust_begin_unwind
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panicking.rs:475
15: 0x2aa25040476 - std::panicking::begin_panic_fmt::hb7513fc411d5bfe8
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panicking.rs:429
16: 0x2aa24f99e84 - electrs::types::tests::test_scripthash_row::h2e6b34aeace3194b
17: 0x2aa24fb4c5c - core::ops::function::FnOnce::call_once::h328e64916fd1ee34
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/core/src/ops/function.rs:227
18: 0x2aa24fb4c5c - test::__rust_begin_short_backtrace::hf1881f60b3ac6e80
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/test/src/lib.rs:517
19: 0x2aa24fb70f2 - <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h459f09e7c3b7b1bb
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/alloc/src/boxed.rs:1042
20: 0x2aa24fb70f2 - <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h653079b4eb6a4b2d
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panic.rs:308
21: 0x2aa24fb70f2 - std::panicking::try::do_call::hae8757eb918fdce9
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panicking.rs:373
22: 0x2aa24fba44c - __rust_try.llvm.4074801633764803404
23: 0x2aa24fb4e82 - std::panicking::try::h35d359795664d2d8
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panicking.rs:337
24: 0x2aa24fb4e82 - std::panic::catch_unwind::h04ca1441b1752b08
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panic.rs:379
25: 0x2aa24fb4e82 - test::run_test_in_process::hb8721f753ce2b4cf
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/test/src/lib.rs:544
26: 0x2aa24fba592 - test::run_test::run_test_inner::{{closure}}::h5d87ed72b7fb5ad1
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/test/src/lib.rs:450
27: 0x2aa24fba592 - std::sys_common::backtrace::__rust_begin_short_backtrace::hf5295fdc5843b084
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/sys_common/backtrace.rs:137
28: 0x2aa24fb702a - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::hbd28861ce68488de
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/thread/mod.rs:458
29: 0x2aa24fb702a - <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h36e3663b4c20f3f0
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panic.rs:308
30: 0x2aa24fb702a - std::panicking::try::do_call::h187ec7a5b71c784d
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panicking.rs:373
31: 0x2aa24fba44c - __rust_try.llvm.4074801633764803404
32: 0x2aa24fba966 - std::panicking::try::h56521f35684b1cad
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panicking.rs:337
33: 0x2aa24fba966 - std::panic::catch_unwind::hcd7d62b8eaaba7f9
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panic.rs:379
34: 0x2aa24fba966 - std::thread::Builder::spawn_unchecked::{{closure}}::hcd2cbb468ece7341
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/thread/mod.rs:457
35: 0x2aa24fba966 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6a521a4eeb51836d
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/core/src/ops/function.rs:227
36: 0x2aa250415be - <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h2574e0f2a778d3e2
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/alloc/src/boxed.rs:1042
37: 0x2aa250415be - <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::he7fd444ac6a444f0
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/alloc/src/boxed.rs:1042
38: 0x2aa250415be - std::sys::unix::thread::Thread::new::thread_start::h1e5667e558bf5f40
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/sys/unix/thread.rs:87
39: 0x3ffa8609986 - start_thread
40: 0x3ffa8483cc6 - <unknown>
41: 0x0 - <unknown>
---- merkle::tests::test_merkle stdout ----
"src/tests/blocks/00000000000000001203c1ea455e38612bdf36e9967fdead11935c8e22283ecc"
thread 'merkle::tests::test_merkle' panicked at 'assertion failed: `(left == right)`
left: `["5d8cfb001d9ec17861ad9c158244239cb6e3298a619b2a5f7b176ddd54459c75", "06811172e13312f2e496259d2c8a7262f1192be5223fcf4d6a9ed7f58a2175ba", "cbcec841dea3294706809d1510c72b4424d141fac89106af65b70399b1d79f3f", "a24d6c3601a54d40f4350e6c8887bf82a873fe8619f95c772b573ec0373119d3", "2015c1bb133ee2c972e55fdcd205a9aee7b0122fd74c2f5d5d27b24a562c7790", "44070a9a72d04d9bbc62ceb06f1911e33334ff1bc0f14a019c23b22c6e743e60", "7a798d6529663fd472d26cc90c434b64f78955747ac2f93c8dcd35b8f684946e", "ad3811062b8db664f2342cbff1b491865310b74416dd7b901f14d980886821f8"]`,
right: `["5d8cfb001d9ec17861ad9c158244239cb6e3298a619b2a5f7b176ddd54459c75", "06811172e13312f2e496259d2c8a7262f1192be5223fcf4d6a9ed7f58a2175ba", "cbcec841dea3294706809d1510c72b4424d141fac89106af65b70399b1d79f3f", "a24d6c3601a54d40f4350e6c8887bf82a873fe8619f95c772b573ec0373119d3", "2015c1bb133ee2c972e55fdcd205a9aee7b0122fd74c2f5d5d27b24a562c7790", "f379496fef2e603c4e1c03e2179ebaf5153d6463b8d61aa16d41db3321a18165", "7a798d6529663fd472d26cc90c434b64f78955747ac2f93c8dcd35b8f684946e", "ad3811062b8db664f2342cbff1b491865310b74416dd7b901f14d980886821f8"]`', src/merkle.rs:68:9
stack backtrace:
0: 0x2aa2501d098 - std::backtrace_rs::backtrace::libunwind::trace::h689880d970358ed7
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/../../backtrace/src/backtrace/libunwind.rs:96
1: 0x2aa2501d098 - std::backtrace_rs::backtrace::trace_unsynchronized::hb9ab8a9039808186
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/../../backtrace/src/backtrace/mod.rs:66
2: 0x2aa2501d098 - std::sys_common::backtrace::_print_fmt::hbb074995e5f46bb9
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/sys_common/backtrace.rs:79
3: 0x2aa2501d098 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h166a3435f1ebe346
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/sys_common/backtrace.rs:58
4: 0x2aa250658fa - core::fmt::write::h8b4108697d5241f2
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/core/src/fmt/mod.rs:1082
5: 0x2aa24fb6e22 - std::io::Write::write_fmt::h47d354c3d7b9e04d
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/io/mod.rs:1514
6: 0x2aa2503fc76 - std::io::impls::<impl std::io::Write for alloc::boxed::Box<W>>::write_fmt::h59012aafbd9238b7
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/io/impls.rs:176
7: 0x2aa2503fc76 - std::sys_common::backtrace::_print::hcf657fa446f51fed
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/sys_common/backtrace.rs:61
8: 0x2aa2503fc76 - std::sys_common::backtrace::print::hcd881c8f1eb6560d
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/sys_common/backtrace.rs:48
9: 0x2aa2503fc76 - std::panicking::default_hook::{{closure}}::h4e1fb170e2733b87
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panicking.rs:200
10: 0x2aa2503fc76 - std::panicking::default_hook::h7ada06cabfc90b05
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panicking.rs:216
11: 0x2aa250408f8 - std::panicking::rust_panic_with_hook::h6b0223f79e36ee07
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panicking.rs:569
12: 0x2aa2501d3b0 - std::panicking::begin_panic_handler::{{closure}}::h8431d8d166b433f8
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panicking.rs:476
13: 0x2aa2501d36a - std::sys_common::backtrace::__rust_end_short_backtrace::h6b95ca77725bc954
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/sys_common/backtrace.rs:153
14: 0x2aa250404ca - rust_begin_unwind
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panicking.rs:475
15: 0x2aa25040476 - std::panicking::begin_panic_fmt::hb7513fc411d5bfe8
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panicking.rs:429
16: 0x2aa24faeb06 - electrs::merkle::tests::test_merkle::hd627dab83404f0c8
17: 0x2aa24fb4c5c - core::ops::function::FnOnce::call_once::h328e64916fd1ee34
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/core/src/ops/function.rs:227
18: 0x2aa24fb4c5c - test::__rust_begin_short_backtrace::hf1881f60b3ac6e80
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/test/src/lib.rs:517
19: 0x2aa24fb70f2 - <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h459f09e7c3b7b1bb
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/alloc/src/boxed.rs:1042
20: 0x2aa24fb70f2 - <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h653079b4eb6a4b2d
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panic.rs:308
21: 0x2aa24fb70f2 - std::panicking::try::do_call::hae8757eb918fdce9
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panicking.rs:373
22: 0x2aa24fba44c - __rust_try.llvm.4074801633764803404
23: 0x2aa24fb4e82 - std::panicking::try::h35d359795664d2d8
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panicking.rs:337
24: 0x2aa24fb4e82 - std::panic::catch_unwind::h04ca1441b1752b08
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panic.rs:379
25: 0x2aa24fb4e82 - test::run_test_in_process::hb8721f753ce2b4cf
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/test/src/lib.rs:544
26: 0x2aa24fba592 - test::run_test::run_test_inner::{{closure}}::h5d87ed72b7fb5ad1
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/test/src/lib.rs:450
27: 0x2aa24fba592 - std::sys_common::backtrace::__rust_begin_short_backtrace::hf5295fdc5843b084
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/sys_common/backtrace.rs:137
28: 0x2aa24fb702a - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::hbd28861ce68488de
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/thread/mod.rs:458
29: 0x2aa24fb702a - <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h36e3663b4c20f3f0
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panic.rs:308
30: 0x2aa24fb702a - std::panicking::try::do_call::h187ec7a5b71c784d
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panicking.rs:373
31: 0x2aa24fba44c - __rust_try.llvm.4074801633764803404
32: 0x2aa24fba966 - std::panicking::try::h56521f35684b1cad
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panicking.rs:337
33: 0x2aa24fba966 - std::panic::catch_unwind::hcd7d62b8eaaba7f9
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/panic.rs:379
34: 0x2aa24fba966 - std::thread::Builder::spawn_unchecked::{{closure}}::hcd2cbb468ece7341
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/thread/mod.rs:457
35: 0x2aa24fba966 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6a521a4eeb51836d
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/core/src/ops/function.rs:227
36: 0x2aa250415be - <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h2574e0f2a778d3e2
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/alloc/src/boxed.rs:1042
37: 0x2aa250415be - <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::he7fd444ac6a444f0
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/alloc/src/boxed.rs:1042
38: 0x2aa250415be - std::sys::unix::thread::Thread::new::thread_start::h1e5667e558bf5f40
at /build/rustc-veRuhV/rustc-1.47.0+dfsg1+llvm/library/std/src/sys/unix/thread.rs:87
39: 0x3ffa8609986 - start_thread
40: 0x3ffa8483cc6 - <unknown>
41: 0x0 - <unknown>
failures:
merkle::tests::test_merkle
types::tests::test_scripthash_row
test result: FAILED. 6 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out
error: test failed, to rerun pass '--lib'
Thanks! BTW, could you please also run rust-bitcoin tests on this machine please?
Thanks! BTW, could you please also run rust-bitcoin tests on this machine please?
Ah, thanks! This exposes a lot:
TL;DR: test result: FAILED. 118 passed; 50 failed; 0 ignored; 0 measured; 0 filtered out
$ cargo test
running 168 tests
test blockdata::block::tests::block_version_test ... FAILED
test blockdata::block::tests::compact_roundrtip_test ... FAILED
test blockdata::block::tests::block_test ... FAILED
test blockdata::block::tests::validate_pow_test ... FAILED
test blockdata::block::tests::test_coinbase_and_bip34 ... ok
test blockdata::constants::test::bitcoin_genesis_first_transaction ... FAILED
test blockdata::constants::test::bitcoin_genesis_full_block ... FAILED
test blockdata::constants::test::testnet_genesis_full_block ... FAILED
test blockdata::constants::test::signet_genesis_full_block ... FAILED
test blockdata::script::test::defult_dust_value_tests ... ok
test blockdata::script::test::op_return_test ... ok
test blockdata::script::test::p2sh_p2wsh_conversion ... ok
test blockdata::script::test::provably_unspendable_test ... ok
test blockdata::block::tests::segwit_block_test ... FAILED
test blockdata::script::test::script ... ok
test blockdata::script::test::script_builder ... ok
test blockdata::script::test::script_builder_verify ... ok
test blockdata::script::test::script_hashes ... ok
test blockdata::script::test::script_asm ... ok
test blockdata::script::test::script_ord ... ok
test blockdata::script::test::script_generators ... ok
test blockdata::script::test::script_p2pk ... ok
test blockdata::script::test::script_p2sh_p2p2k_template ... ok
test blockdata::script::test::script_serialize ... ok
test blockdata::script::test::scriptint_round_trip ... ok
test blockdata::script::test::test_iterator ... ok
test blockdata::transaction::tests::test_nonsegwit_transaction ... FAILED
test blockdata::transaction::tests::test_is_coinbase ... ok
test blockdata::transaction::tests::test_outpoint ... ok
test blockdata::transaction::tests::test_segwit_transaction ... FAILED
test blockdata::transaction::tests::test_ntxid ... ok
test blockdata::transaction::tests::test_sighashtype_standard ... ok
test blockdata::transaction::tests::test_transaction_version ... FAILED
test blockdata::opcodes::tests::str_roundtrip ... ok
test blockdata::transaction::tests::test_sighashtype_fromstr_display ... ok
test blockdata::transaction::tests::test_txin_default ... ok
test blockdata::transaction::tests::tx_no_input_deserialization ... ok
test consensus::encode::tests::deserialize_checkeddata_test ... FAILED
test blockdata::transaction::tests::test_txin ... ok
test consensus::encode::tests::deserialize_int_test ... FAILED
test consensus::encode::tests::deserialize_nonminimal_vec ... ok
test consensus::encode::tests::deserialize_strbuf_test ... ok
test consensus::encode::tests::deserialize_vec_test ... FAILED
test blockdata::transaction::tests::test_txid ... ok
test consensus::encode::tests::serialize_checkeddata_test ... FAILED
test consensus::encode::tests::serialize_int_test ... FAILED
test consensus::encode::tests::serialize_strbuf_test ... ok
test consensus::encode::tests::serialize_varint_test ... FAILED
test consensus::encode::tests::serialize_vector_test ... ok
test network::address::test::addrv2message_test ... FAILED
test network::address::test::debug_format_test ... ok
test network::address::test::deserialize_address_test ... FAILED
test network::address::test::deserialize_addrv2_test ... FAILED
test network::address::test::onion_test ... ok
test network::address::test::serialize_address_test ... FAILED
test network::address::test::serialize_addrv2_test ... ok
test network::address::test::test_socket_addr ... ok
test network::constants::tests::serialize_test ... FAILED
test network::constants::tests::service_flags_test ... ok
test network::constants::tests::string_test ... ok
test network::message::test::commandstring_test ... ok
test network::message::test::deserialize_getaddr_test ... FAILED
test network::message::test::deserialize_partial_message_test ... FAILED
test network::message::test::deserialize_version_test ... FAILED
test consensus::encode::tests::serialization_round_trips ... ok
test network::message::test::serialize_getaddr_test ... FAILED
test network::message::test::serialize_mempool_test ... FAILED
test network::message::test::serialize_ping_test ... FAILED
test network::message::test::serialize_verack_test ... FAILED
test network::message::test::full_round_ser_der_raw_network_message_test ... FAILED
test network::message_blockdata::tests::getblocks_message_test ... FAILED
test network::message_blockdata::tests::getheaders_message_test ... FAILED
test network::message_network::tests::version_message_test ... FAILED
test network::stream_reader::test::parse_multipartmsg_test ... FAILED
test network::stream_reader::test::read_doublemsgs_test ... FAILED
test consensus::encode::tests::limit_read_test ... ok
test network::stream_reader::test::read_block_from_file_test ... FAILED
test network::stream_reader::test::read_singlemsg_test ... FAILED
test util::address::tests::test_bip173_350_vectors ... ok
test util::address::tests::test_non_existent_segwit_version ... ok
test util::address::tests::test_p2pkh_address_58 ... ok
test util::address::tests::test_p2pkh_from_key ... ok
test util::address::tests::test_p2sh_address_58 ... ok
test util::address::tests::test_p2sh_parse ... ok
test util::address::tests::test_p2shwpkh ... ok
test util::address::tests::test_p2shwsh ... ok
test util::address::tests::test_p2wpkh ... ok
test util::address::tests::test_p2wsh ... ok
test util::address::tests::test_qr_string ... ok
test util::amount::tests::add_sub_mul_div ... ok
test util::amount::tests::checked_arithmetic ... ok
test util::amount::tests::floating_point ... ok
test util::amount::tests::from_str ... ok
test util::amount::tests::parsing ... ok
test util::amount::tests::test_unsigned_signed_conversion ... ok
test util::amount::tests::to_from_string_in ... ok
test util::amount::tests::to_string ... ok
test util::amount::tests::to_string_with_denomination_from_str_roundtrip ... ok
test util::base58::tests::test_base58_decode ... ok
test util::base58::tests::test_base58_encode ... ok
test util::base58::tests::test_base58_roundtrip ... ok
test util::bip143::tests::bip143_p2wpkh ... FAILED
test util::bip143::tests::bip143_p2wpkh_nested_in_p2sh ... FAILED
test util::bip143::tests::bip143_p2wsh_nested_in_p2sh ... FAILED
test util::bip143::tests::bip143_sighash_flags ... FAILED
test util::bip158::test::test_bit_stream ... ok
test util::bip158::test::test_blockfilters ... ok
test util::bip158::test::test_filter ... ok
test util::bip32::tests::fmt_child_number ... ok
test util::bip32::tests::test_derivation_path_conversion_index ... ok
test util::bip32::tests::test_increment ... ok
test util::bip32::tests::test_parse_derivation_path ... ok
test blockdata::transaction::tests::test_sighash ... ok
test util::bip32::tests::test_vector_1 ... ok
test util::bip32::tests::test_vector_2 ... ok
test util::contracthash::tests::bad_key_number ... ok
test util::bip32::tests::test_vector_3 ... ok
test util::contracthash::tests::script ... ok
test util::contracthash::tests::sanity ... ok
test util::contracthash::tests::tweak_fixed_vector ... ok
test util::ecdsa::tests::pubkey_read_write ... ok
test util::contracthash::tests::tweak_secret ... ok
test util::ecdsa::tests::test_pubkey_hash ... ok
test util::ecdsa::tests::test_wpubkey_hash ... ok
test util::endian::tests::endian_chunk_test ... ok
test util::endian::tests::endianness_test ... ok
test util::merkleblock::tests::merkleblock_construct_from_txids_found ... ok
test util::merkleblock::tests::merkleblock_construct_from_txids_not_found ... ok
test util::merkleblock::tests::merkleblock_serialization ... FAILED
test util::merkleblock::tests::pmt_malleability ... ok
test util::ecdsa::tests::test_key_derivation ... ok
test util::misc::tests::test_script_codesep_remove ... ok
test util::misc::tests::test_script_find_and_remove ... ok
test util::misc::tests::test_signed_msg_hash ... ok
test util::psbt::tests::bip_vectors::invalid_vector_1 ... ok
test util::psbt::tests::bip_vectors::invalid_vector_2 ... ok
test util::psbt::tests::bip_vectors::invalid_vector_3 ... ok
test util::psbt::tests::bip_vectors::invalid_vector_4 ... ok
test util::psbt::tests::bip_vectors::invalid_vector_5 ... ok
test util::psbt::tests::bip_vectors::valid_vector_1 ... FAILED
test util::psbt::tests::bip_vectors::valid_vector_2 ... ok
test util::psbt::tests::bip_vectors::valid_vector_3 ... FAILED
test util::psbt::tests::bip_vectors::valid_vector_4 ... ok
test util::psbt::tests::bip_vectors::valid_vector_5 ... ok
test util::psbt::tests::bip_vectors::valid_vector_6 ... ok
test util::psbt::tests::deserialize_and_serialize_psbt_with_two_partial_sigs ... ok
test util::psbt::tests::serialize_and_deserialize_preimage_psbt ... FAILED
test util::psbt::tests::serialize_and_deserialize_proprietary ... ok
test util::psbt::tests::serialize_then_deserialize_global ... ok
test util::psbt::tests::serialize_then_deserialize_output ... ok
test util::psbt::tests::serialize_then_deserialize_psbtkvpair ... ok
test util::psbt::tests::trivial_psbt ... FAILED
test util::taproot::test::test_midstates ... ok
test util::taproot::test::test_vectors_core ... ok
test util::uint::tests::mul_u32_test ... ok
test util::uint::tests::multiplication_test ... ok
test util::uint::tests::uint256_arithmetic_test ... ok
test util::uint::tests::uint256_bits_test ... ok
test util::uint::tests::uint256_bitslice_test ... ok
test util::uint::tests::uint256_comp_test ... ok
test util::uint::tests::uint256_display_test ... ok
test util::uint::tests::uint256_extreme_bitshift_test ... ok
test util::uint::tests::uint256_serialize_test ... ok
test util::uint::tests::uint_from_be_bytes ... ok
test util::uint::tests::uint_to_be_bytes ... ok
test util::merkleblock::tests::pmt_tests ... FAILED
test network::stream_reader::test::read_multipartmsg_test ... FAILED
test network::stream_reader::test::read_sequencemsg_test ... FAILED
failures:
---- blockdata::block::tests::block_version_test stdout ----
thread 'blockdata::block::tests::block_version_test' panicked at 'assertion failed: `(left == right)`
left: `-129`,
right: `2147483647`', src/blockdata/block.rs:419:9
---- blockdata::block::tests::compact_roundrtip_test stdout ----
thread 'blockdata::block::tests::compact_roundrtip_test' panicked at 'assertion failed: `(left == right)`
left: `4294901789`,
right: `0`', src/blockdata/block.rs:455:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
---- blockdata::block::tests::block_test stdout ----
thread 'blockdata::block::tests::block_test' panicked at 'assertion failed: `(left == right)`
left: `16777216`,
right: `1`', src/blockdata/block.rs:359:9
---- blockdata::block::tests::validate_pow_test stdout ----
thread 'blockdata::block::tests::validate_pow_test' panicked at 'called `Result::unwrap()` on an `Err` value: BlockBadProofOfWork', src/blockdata/block.rs:432:68
---- blockdata::constants::test::bitcoin_genesis_first_transaction stdout ----
thread 'blockdata::constants::test::bitcoin_genesis_first_transaction' panicked at 'assertion failed: `(left == right)`
left: `"79a8e69a392983a449d680fe41805aa6ae20829284b1dcbb311264e2be1345d7"`,
right: `"4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"`', src/blockdata/constants.rs:189:9
---- blockdata::constants::test::bitcoin_genesis_full_block stdout ----
thread 'blockdata::constants::test::bitcoin_genesis_full_block' panicked at 'assertion failed: `(left == right)`
left: `"79a8e69a392983a449d680fe41805aa6ae20829284b1dcbb311264e2be1345d7"`,
right: `"4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"`', src/blockdata/constants.rs:199:9
---- blockdata::constants::test::testnet_genesis_full_block stdout ----
thread 'blockdata::constants::test::testnet_genesis_full_block' panicked at 'assertion failed: `(left == right)`
left: `"79a8e69a392983a449d680fe41805aa6ae20829284b1dcbb311264e2be1345d7"`,
right: `"4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"`', src/blockdata/constants.rs:213:9
---- blockdata::constants::test::signet_genesis_full_block stdout ----
thread 'blockdata::constants::test::signet_genesis_full_block' panicked at 'assertion failed: `(left == right)`
left: `"79a8e69a392983a449d680fe41805aa6ae20829284b1dcbb311264e2be1345d7"`,
right: `"4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"`', src/blockdata/constants.rs:227:9
---- blockdata::block::tests::segwit_block_test stdout ----
thread 'blockdata::block::tests::segwit_block_test' panicked at 'assertion failed: `(left == right)`
left: `32`,
right: `536870912`', src/blockdata/block.rs:393:9
---- blockdata::transaction::tests::test_nonsegwit_transaction stdout ----
thread 'blockdata::transaction::tests::test_nonsegwit_transaction' panicked at 'assertion failed: `(left == right)`
left: `16777216`,
right: `1`', src/blockdata/transaction.rs:840:9
---- blockdata::transaction::tests::test_segwit_transaction stdout ----
thread 'blockdata::transaction::tests::test_segwit_transaction' panicked at 'assertion failed: `(left == right)`
left: `33554432`,
right: `2`', src/blockdata/transaction.rs:872:9
---- blockdata::transaction::tests::test_transaction_version stdout ----
thread 'blockdata::transaction::tests::test_transaction_version' panicked at 'assertion failed: `(left == right)`
left: `-129`,
right: `2147483647`', src/blockdata/transaction.rs:896:9
---- consensus::encode::tests::deserialize_checkeddata_test stdout ----
thread 'consensus::encode::tests::deserialize_checkeddata_test' panicked at 'assertion failed: `(left == right)`
left: `None`,
right: `Some(CheckedData([1, 2, 3, 4, 5]))`', src/consensus/encode.rs:998:9
---- consensus::encode::tests::deserialize_int_test stdout ----
thread 'consensus::encode::tests::deserialize_int_test' panicked at 'assertion failed: `(left == right)`
left: `Some(258)`,
right: `Some(513)`', src/consensus/encode.rs:923:9
---- consensus::encode::tests::deserialize_vec_test stdout ----
thread 'consensus::encode::tests::deserialize_vec_test' panicked at 'assertion failed: `(left == right)`
left: `Discriminant(3)`,
right: `Discriminant(0)`', src/consensus/encode.rs:983:9
---- consensus::encode::tests::serialize_checkeddata_test stdout ----
thread 'consensus::encode::tests::serialize_checkeddata_test' panicked at 'assertion failed: `(left == right)`
left: `[0, 0, 0, 5, 162, 107, 175, 90, 1, 2, 3, 4, 5]`,
right: `[5, 0, 0, 0, 162, 107, 175, 90, 1, 2, 3, 4, 5]`', src/consensus/encode.rs:896:9
---- consensus::encode::tests::serialize_int_test stdout ----
thread 'consensus::encode::tests::serialize_int_test' panicked at 'assertion failed: `(left == right)`
left: `[0, 1]`,
right: `[1, 0]`', src/consensus/encode.rs:779:9
---- consensus::encode::tests::serialize_varint_test stdout ----
thread 'consensus::encode::tests::serialize_varint_test' panicked at 'assertion failed: `(left == right)`
left: `[253, 0, 253]`,
right: `[253, 253, 0]`', src/consensus/encode.rs:822:9
---- network::address::test::addrv2message_test stdout ----
thread 'network::address::test::addrv2message_test' panicked at 'assertion failed: `(left == right)`
left: `[AddrV2Message { time: 1639736905, services: ServiceFlags(1), addr: Unknown(153, [171, 171]), port: 8333 }, AddrV2Message { time: 2036496003, services: ServiceFlags(1096), addr: Ipv4(9.9.9.9), port: 8333 }]`,
right: `[AddrV2Message { time: 1231469665, services: ServiceFlags(1), addr: Unknown(153, [171, 171]), port: 8333 }, AddrV2Message { time: 2205573753, services: ServiceFlags(1096), addr: Ipv4(9.9.9.9), port: 8333 }]`', src/network/address.rs:481:9
---- network::address::test::deserialize_address_test stdout ----
thread 'network::address::test::deserialize_address_test' panicked at 'assertion failed: `(left == right)`
left: `ServiceFlags(72057594037927936)`,
right: `ServiceFlags(1)`', src/network/address.rs:348:9
---- network::address::test::deserialize_addrv2_test stdout ----
thread 'network::address::test::deserialize_addrv2_test' panicked at 'called `Result::unwrap()` on an `Err` value: ParseFailed("Invalid CJDNS address")', src/network/address.rs:455:103
---- network::address::test::serialize_address_test stdout ----
thread 'network::address::test::serialize_address_test' panicked at 'assertion failed: `(left == right)`
left: `[0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 10, 0, 0, 1, 32, 141]`,
right: `[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 10, 0, 0, 1, 32, 141]`', src/network/address.rs:305:9
---- network::constants::tests::serialize_test stdout ----
thread 'network::constants::tests::serialize_test' panicked at 'assertion failed: `(left == right)`
left: `[217, 180, 190, 249]`,
right: `[249, 190, 180, 217]`', src/network/constants.rs:299:9
---- network::message::test::deserialize_getaddr_test stdout ----
thread 'network::message::test::deserialize_getaddr_test' panicked at 'assertion failed: `(left == right)`
left: `3652501241`,
right: `4190024921`', src/network/message.rs:513:9
---- network::message::test::deserialize_partial_message_test stdout ----
thread 'network::message::test::deserialize_partial_message_test' panicked at 'assertion failed: msg.is_ok()', src/network/message.rs:572:9
---- network::message::test::deserialize_version_test stdout ----
thread 'network::message::test::deserialize_version_test' panicked at 'assertion failed: msg.is_ok()', src/network/message.rs:537:9
---- network::message::test::serialize_getaddr_test stdout ----
thread 'network::message::test::serialize_getaddr_test' panicked at 'assertion failed: `(left == right)`
left: `[217, 180, 190, 249, 103, 101, 116, 97, 100, 100, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 246, 224, 226]`,
right: `[249, 190, 180, 217, 103, 101, 116, 97, 100, 100, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 246, 224, 226]`', src/network/message.rs:498:9
---- network::message::test::serialize_mempool_test stdout ----
thread 'network::message::test::serialize_mempool_test' panicked at 'assertion failed: `(left == right)`
left: `[217, 180, 190, 249, 109, 101, 109, 112, 111, 111, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 246, 224, 226]`,
right: `[249, 190, 180, 217, 109, 101, 109, 112, 111, 111, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 246, 224, 226]`', src/network/message.rs:490:9
---- network::message::test::serialize_ping_test stdout ----
thread 'network::message::test::serialize_ping_test' panicked at 'assertion failed: `(left == right)`
left: `[217, 180, 190, 249, 112, 105, 110, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 67, 193, 221, 84, 0, 0, 0, 0, 0, 0, 0, 100]`,
right: `[249, 190, 180, 217, 112, 105, 110, 103, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 36, 103, 241, 29, 100, 0, 0, 0, 0, 0, 0, 0]`', src/network/message.rs:480:9
---- network::message::test::serialize_verack_test stdout ----
thread 'network::message::test::serialize_verack_test' panicked at 'assertion failed: `(left == right)`
left: `[217, 180, 190, 249, 118, 101, 114, 97, 99, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 246, 224, 226]`,
right: `[249, 190, 180, 217, 118, 101, 114, 97, 99, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 246, 224, 226]`', src/network/message.rs:472:9
---- network::message::test::full_round_ser_der_raw_network_message_test stdout ----
thread 'network::message::test::full_round_ser_der_raw_network_message_test' panicked at 'called `Result::unwrap()` on an `Err` value: Io(Custom { kind: UnexpectedEof, error: "failed to fill whole buffer" })', src/network/message.rs:445:79
---- network::message_blockdata::tests::getblocks_message_test stdout ----
thread 'network::message_blockdata::tests::getblocks_message_test' panicked at 'assertion failed: `(left == right)`
left: `1913716992`,
right: `70002`', src/network/message_blockdata.rs:167:9
---- network::message_blockdata::tests::getheaders_message_test stdout ----
thread 'network::message_blockdata::tests::getheaders_message_test' panicked at 'assertion failed: `(left == right)`
left: `1913716992`,
right: `70002`', src/network/message_blockdata.rs:183:9
---- network::message_network::tests::version_message_test stdout ----
thread 'network::message_network::tests::version_message_test' panicked at 'assertion failed: `(left == right)`
left: `1913716992`,
right: `70002`', src/network/message_network.rs:163:9
---- network::stream_reader::test::parse_multipartmsg_test stdout ----
thread 'network::stream_reader::test::parse_multipartmsg_test' panicked at 'called `Result::unwrap()` on an `Err` value: OversizedVectorAllocation { requested: 2818572288, max: 4000000 }', src/network/stream_reader.rs:204:42
---- network::stream_reader::test::read_doublemsgs_test stdout ----
thread 'network::stream_reader::test::read_doublemsgs_test' panicked at 'called `Result::unwrap()` on an `Err` value: OversizedVectorAllocation { requested: 1711276032, max: 4000000 }', src/network/stream_reader.rs:224:42
---- network::stream_reader::test::read_block_from_file_test stdout ----
thread 'network::stream_reader::test::read_block_from_file_test' panicked at 'assertion failed: `(left == right)`
left: `16777216`,
right: `1`', src/network/stream_reader.rs:337:9
---- network::stream_reader::test::read_singlemsg_test stdout ----
thread 'network::stream_reader::test::read_singlemsg_test' panicked at 'called `Result::unwrap()` on an `Err` value: OversizedVectorAllocation { requested: 1711276032, max: 4000000 }', src/network/stream_reader.rs:214:67
---- util::bip143::tests::bip143_p2wpkh stdout ----
thread 'util::bip143::tests::bip143_p2wpkh' panicked at 'assertion failed: `(left == right)`
left: `SighashComponents { tx_version: 16777216, tx_locktime: 285212672, hash_prevouts: 37fd4e0b474311c336bafe81a703806e8db6a713672b71969b4e3d48c827b896, hash_sequence: 3b9a3348854d8e4b9806a874e5db930275b652626fc338e67afba2ee42a6b052, hash_outputs: e5e5471f55f6f80f590125cfabe943e93e68c70fad317fb9fdfb2aa9e1f33e86 }`,
right: `SighashComponents { tx_version: 1, tx_locktime: 17, hash_prevouts: 37fd4e0b474311c336bafe81a703806e8db6a713672b71969b4e3d48c827b896, hash_sequence: 3b9a3348854d8e4b9806a874e5db930275b652626fc338e67afba2ee42a6b052, hash_outputs: e5e5471f55f6f80f590125cfabe943e93e68c70fad317fb9fdfb2aa9e1f33e86 }`', src/util/bip143.rs:315:9
---- util::bip143::tests::bip143_p2wpkh_nested_in_p2sh stdout ----
thread 'util::bip143::tests::bip143_p2wpkh_nested_in_p2sh' panicked at 'assertion failed: `(left == right)`
left: `SighashComponents { tx_version: 16777216, tx_locktime: 2449735680, hash_prevouts: 3a61b4a7a23aeb16a2af29c3e9a378af13a30bf0ce2d3df85ac02a254a7b28b0, hash_sequence: 98e1ab8ccf276338158add89a78f1ef0dcad0c2f35bc665256bfd80c356b6018, hash_outputs: 836c228adf61da06a7af7bf28c6fda306dfece4f31640dca73212e53444f98de }`,
right: `SighashComponents { tx_version: 1, tx_locktime: 1170, hash_prevouts: 3a61b4a7a23aeb16a2af29c3e9a378af13a30bf0ce2d3df85ac02a254a7b28b0, hash_sequence: 98e1ab8ccf276338158add89a78f1ef0dcad0c2f35bc665256bfd80c356b6018, hash_outputs: 836c228adf61da06a7af7bf28c6fda306dfece4f31640dca73212e53444f98de }`', src/util/bip143.rs:351:9
---- util::bip143::tests::bip143_p2wsh_nested_in_p2sh stdout ----
thread 'util::bip143::tests::bip143_p2wsh_nested_in_p2sh' panicked at 'assertion failed: `(left == right)`
left: `SighashComponents { tx_version: 16777216, tx_locktime: 0, hash_prevouts: a0aaf7315e4b8c38ca9b92d36d4985b475a2c1a30ca498413c18f52a31dcaf74, hash_sequence: 445066705e799022b7095f7ceca255149f43acfc47e7f59e551f7bce2930b13b, hash_outputs: cc0703b98ebbfda887f446136c7ead6dd7b4272b83982f93ed4b417190304dbc }`,
right: `SighashComponents { tx_version: 1, tx_locktime: 0, hash_prevouts: a0aaf7315e4b8c38ca9b92d36d4985b475a2c1a30ca498413c18f52a31dcaf74, hash_sequence: 445066705e799022b7095f7ceca255149f43acfc47e7f59e551f7bce2930b13b, hash_outputs: cc0703b98ebbfda887f446136c7ead6dd7b4272b83982f93ed4b417190304dbc }`', src/util/bip143.rs:394:9
---- util::bip143::tests::bip143_sighash_flags stdout ----
thread 'util::bip143::tests::bip143_sighash_flags' panicked at 'assertion failed: `(left == right)`
left: `322fba836e5ea985a66affcad232d138f2ba6eec6367461496458e653c4ea82b`,
right: `0a1bc2758dbb5b3a56646f8cafbf63f410cc62b77a482f8b87552683300a7711`', src/util/bip143.rs:297:9
---- util::merkleblock::tests::merkleblock_serialization stdout ----
thread 'util::merkleblock::tests::merkleblock_serialization' panicked at 'called `Result::unwrap()` on an `Err` value: TooManyTransactions', src/util/merkleblock.rs:623:62
---- util::psbt::tests::bip_vectors::valid_vector_1 stdout ----
thread 'util::psbt::tests::bip_vectors::valid_vector_1' panicked at 'assertion failed: `(left == right)`
left: `"70736274ff0100750000000201268171371edff285e937adeea4b37b78000c0566cbb3ad64641713ca42171bf60000000000fffffffe020000000005f5dfd31976a914d0c59903c5bac2868760e90fd521a4665aa7652088ac0000000005f5e10017a9143545e6e33b832c47050f24d3eeb93c9c03948bc78700132eb3000100fd01a50000000100010289a3c71eab4d20e0371bbba4cc698fa295c9463afa2e397f8533ccb62f9567e50000000117160014be18d152a9b012039daf3da7de4f53349eecb985ffffffff86f8aa43a71dff1448893a530a7237ef6b4608bbb2dd2d0171e63aec6a4890b40000000117160014fe3e9ef1a745e974d902c4355943abcb34bd5353ffffffff02000000000bebc2001976a91485cff1097fd9e008bb34af709c62197b38978a4888ac0000002c4ef8fe7217a914339725ba21efd62ac753a9bcd067d6c7a6a39d05870247304402202712be22e0270f394f568311dc7ca9a68970b8025fdd3b240229f07f8a5f3a240220018b38d7dcd314e734c9276bd6fb40f673325bc4baa144c800d2f2f02db2765c012103d2e15674941bad4a996372cb87e1856d3652606d98562fe39c5e9e7e413f210502483045022100d12b852d85dcd961d2f5f4ab660654df6eedcc794c0c33ce5cc309ffb5fce58d022067338a8e0e1725c197fb1a88af59f51e44e4255b20167c8684031c05d1f2592a01210223b72beef0965d10be0778efecd61fcac6f79a4ea169393380734464f84f2ab300000000000000"`,
right: `"70736274ff0100750200000001268171371edff285e937adeea4b37b78000c0566cbb3ad64641713ca42171bf60000000000feffffff02d3dff505000000001976a914d0c59903c5bac2868760e90fd521a4665aa7652088ac00e1f5050000000017a9143545e6e33b832c47050f24d3eeb93c9c03948bc787b32e1300000100fda5010100000000010289a3c71eab4d20e0371bbba4cc698fa295c9463afa2e397f8533ccb62f9567e50100000017160014be18d152a9b012039daf3da7de4f53349eecb985ffffffff86f8aa43a71dff1448893a530a7237ef6b4608bbb2dd2d0171e63aec6a4890b40100000017160014fe3e9ef1a745e974d902c4355943abcb34bd5353ffffffff0200c2eb0b000000001976a91485cff1097fd9e008bb34af709c62197b38978a4888ac72fef84e2c00000017a914339725ba21efd62ac753a9bcd067d6c7a6a39d05870247304402202712be22e0270f394f568311dc7ca9a68970b8025fdd3b240229f07f8a5f3a240220018b38d7dcd314e734c9276bd6fb40f673325bc4baa144c800d2f2f02db2765c012103d2e15674941bad4a996372cb87e1856d3652606d98562fe39c5e9e7e413f210502483045022100d12b852d85dcd961d2f5f4ab660654df6eedcc794c0c33ce5cc309ffb5fce58d022067338a8e0e1725c197fb1a88af59f51e44e4255b20167c8684031c05d1f2592a01210223b72beef0965d10be0778efecd61fcac6f79a4ea169393380734464f84f2ab300000000000000"`', src/util/psbt/mod.rs:648:13
---- util::psbt::tests::bip_vectors::valid_vector_3 stdout ----
thread 'util::psbt::tests::bip_vectors::valid_vector_3' panicked at 'called `Result::unwrap()` on an `Err` value: Psbt(NonStandardSigHashType(16777216))', src/util/psbt/mod.rs:685:1190
---- util::psbt::tests::serialize_and_deserialize_preimage_psbt stdout ----
thread 'util::psbt::tests::serialize_and_deserialize_preimage_psbt' panicked at 'called `Result::unwrap()` on an `Err` value: Io(Custom { kind: UnexpectedEof, error: "failed to fill whole buffer" })', src/util/psbt/mod.rs:881:89
---- util::psbt::tests::trivial_psbt stdout ----
thread 'util::psbt::tests::trivial_psbt' panicked at 'assertion failed: `(left == right)`
left: `"70736274ff01000a0000000200000000000000"`,
right: `"70736274ff01000a0200000000000000000000"`', src/util/psbt/mod.rs:252:9
---- util::merkleblock::tests::pmt_tests stdout ----
thread 'util::merkleblock::tests::pmt_tests' panicked at 'Could not deserialize own data: NonMinimalVarInt', src/util/merkleblock.rs:559:46
---- network::stream_reader::test::read_multipartmsg_test stdout ----
thread 'network::stream_reader::test::read_multipartmsg_test' panicked at 'called `Result::unwrap()` on an `Err` value: OversizedVectorAllocation { requested: 1711276032, max: 4000000 }', src/network/stream_reader.rs:278:42
---- network::stream_reader::test::read_sequencemsg_test stdout ----
thread 'network::stream_reader::test::read_sequencemsg_test' panicked at 'called `Result::unwrap()` on an `Err` value: OversizedVectorAllocation { requested: 1711276032, max: 4000000 }', src/network/stream_reader.rs:298:42
failures:
blockdata::block::tests::block_test
blockdata::block::tests::block_version_test
blockdata::block::tests::compact_roundrtip_test
blockdata::block::tests::segwit_block_test
blockdata::block::tests::validate_pow_test
blockdata::constants::test::bitcoin_genesis_first_transaction
blockdata::constants::test::bitcoin_genesis_full_block
blockdata::constants::test::signet_genesis_full_block
blockdata::constants::test::testnet_genesis_full_block
blockdata::transaction::tests::test_nonsegwit_transaction
blockdata::transaction::tests::test_segwit_transaction
blockdata::transaction::tests::test_transaction_version
consensus::encode::tests::deserialize_checkeddata_test
consensus::encode::tests::deserialize_int_test
consensus::encode::tests::deserialize_vec_test
consensus::encode::tests::serialize_checkeddata_test
consensus::encode::tests::serialize_int_test
consensus::encode::tests::serialize_varint_test
network::address::test::addrv2message_test
network::address::test::deserialize_address_test
network::address::test::deserialize_addrv2_test
network::address::test::serialize_address_test
network::constants::tests::serialize_test
network::message::test::deserialize_getaddr_test
network::message::test::deserialize_partial_message_test
network::message::test::deserialize_version_test
network::message::test::full_round_ser_der_raw_network_message_test
network::message::test::serialize_getaddr_test
network::message::test::serialize_mempool_test
network::message::test::serialize_ping_test
network::message::test::serialize_verack_test
network::message_blockdata::tests::getblocks_message_test
network::message_blockdata::tests::getheaders_message_test
network::message_network::tests::version_message_test
network::stream_reader::test::parse_multipartmsg_test
network::stream_reader::test::read_block_from_file_test
network::stream_reader::test::read_doublemsgs_test
network::stream_reader::test::read_multipartmsg_test
network::stream_reader::test::read_sequencemsg_test
network::stream_reader::test::read_singlemsg_test
util::bip143::tests::bip143_p2wpkh
util::bip143::tests::bip143_p2wpkh_nested_in_p2sh
util::bip143::tests::bip143_p2wsh_nested_in_p2sh
util::bip143::tests::bip143_sighash_flags
util::merkleblock::tests::merkleblock_serialization
util::merkleblock::tests::pmt_tests
util::psbt::tests::bip_vectors::valid_vector_1
util::psbt::tests::bip_vectors::valid_vector_3
util::psbt::tests::serialize_and_deserialize_preimage_psbt
util::psbt::tests::trivial_psbt
test result: FAILED. 118 passed; 50 failed; 0 ignored; 0 measured; 0 filtered out```
I posted an issue in rust-bitcoin to see what they say about the failed tests. Issue #550 appears to point out the problem on a bigger scale with the library, and if that's the case, I don't expect it to be resolved any time soon and I'm not sure I have the time at this point to help them work through it. So, I see 3 options:
cfg!(target_endian = "big")...
where necessary.P.S. I'll no longer put full traces in the bodies of my posts and attach files instead. :)
Let's wait for https://github.com/rust-bitcoin/rust-bitcoin/pull/627 and see if it helps :)
I think that after https://github.com/rust-bitcoin/rust-bitcoin/pull/631 lands, and a new rust-bitcoincore-rpc version is released, this issue should hopefully be resolved :)
@jlatone Could you please try to reproduce this issue on the latest v0.9.0
release?
Closing for now, please reopen if the issue persists.
Describe the bug electrs effectively stops running after the following error message:
To Reproduce Steps to reproduce the behavior:
Expected behavior No "panicked" error messages about indexes out of range from rust.
System running electrs
Additional context This is running on an IBM Z (mainframe, 64-bit, big endian) running Linux. I mention this because the machine is big endian and I wonder if there's a endian issue somewhere (in a dependent library, in rust, etc) causing the above problem. I'm only looking for a pointer to where I should start looking if the error messages above might indicate anything obvious (googling it related to electrs/electrum didn't turn up much of anything).