Browse Source
_prefix_write was writing the least significant pb bytes of the 64-bit prefix, but the protocol expects the most significant pb bytes (bits 63..64-pb*8). For pb<=4 these ranges are disjoint → wire always got zeros. _prefix_read also lacked the final left-shift to align the result at bit 63. This caused all level>=2 merkle sync requests/batches to receive prefix=0 instead of the real prefix, making get_items/update_bucket_hash find zero members → handle_batch len=7 with no data → sync completed without actually exchanging member data.topo_upd
2 changed files with 5 additions and 2 deletions
Loading…
Reference in new issue