Commit 1439955
authored
fix: Stop loading headers twice into
* Add test
Results on current `v0.41-dev`
---- test_load_headers_from_storage::genesis_1_block stdout ----
thread 'test_load_headers_from_storage::genesis_1_block' (8727544) panicked at dash-spv/tests/header_sync_test.rs:380:5:
assertion `left == right` failed: Loaded count mismatch
left: 0
right: 1
---- test_load_headers_from_storage::checkpoint_1_block stdout ----
thread 'test_load_headers_from_storage::checkpoint_1_block' (8727541) panicked at dash-spv/tests/header_sync_test.rs:381:5:
assertion `left == right` failed: Chain state count mismatch
left: 1
right: 2
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
---- test_load_headers_from_storage::checkpoint_60000_blocks stdout ----
thread 'test_load_headers_from_storage::checkpoint_60000_blocks' (8727542) panicked at dash-spv/tests/header_sync_test.rs:381:5:
assertion `left == right` failed: Chain state count mismatch
left: 60000
right: 120000
---- test_load_headers_from_storage::genesis_60000_blocks stdout ----
thread 'test_load_headers_from_storage::genesis_60000_blocks' (8727545) panicked at dash-spv/tests/header_sync_test.rs:380:5:
assertion `left == right` failed: Loaded count mismatch
left: 59999
right: 60000
* Stop loading headers twice into `ChainState::headers`
We currently load the headers twice into the header vector in `HeaderSyncManager::load_headers_from_storage`:
- First1. within `storage.load_chain_state`
- And then within `load_headers_from_storage` itself further down
```
2025-12-04T16:05:36.717779Z INFO 🚀 Starting sync from checkpoint at height 1900000 instead of genesis (requested start height: 2200000)
2025-12-04T16:05:36.727966Z INFO ✅ Loaded 2 headers into HeaderSyncManager in 0.00s (1129 headers/sec)
....
2025-12-05T04:31:15.980982Z ERROR Sequential sync manager error handling message: Validation error: Block at height 2300000 does not match checkpoint
```
```
2025-12-04T16:09:37.959349Z INFO 🚀 Starting sync from checkpoint at height 1900000 instead of genesis (requested start height: 2200000)
2025-12-04T16:09:37.966703Z INFO ✅ Loaded 1 headers into HeaderSyncManager in 0.00s (862 headers/sec)
´´´ChainState::headers (#258)1 parent 8854643 commit 1439955
File tree
3 files changed
+56
-89
lines changed- dash-spv
- src/sync/headers
- tests
3 files changed
+56
-89
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
| 63 | + | |
63 | 64 | | |
64 | 65 | | |
65 | 66 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
102 | 102 | | |
103 | 103 | | |
104 | 104 | | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
105 | 108 | | |
106 | 109 | | |
107 | 110 | | |
108 | 111 | | |
109 | 112 | | |
110 | 113 | | |
111 | | - | |
| 114 | + | |
112 | 115 | | |
| 116 | + | |
| 117 | + | |
113 | 118 | | |
114 | 119 | | |
115 | 120 | | |
116 | 121 | | |
117 | 122 | | |
118 | 123 | | |
119 | | - | |
120 | | - | |
121 | | - | |
122 | | - | |
123 | | - | |
124 | | - | |
125 | | - | |
126 | | - | |
127 | | - | |
128 | | - | |
129 | | - | |
130 | | - | |
131 | | - | |
132 | | - | |
133 | | - | |
134 | | - | |
135 | | - | |
136 | | - | |
137 | | - | |
138 | | - | |
139 | | - | |
140 | | - | |
141 | | - | |
142 | | - | |
143 | | - | |
144 | | - | |
145 | | - | |
146 | | - | |
147 | | - | |
148 | | - | |
149 | | - | |
150 | | - | |
151 | | - | |
152 | | - | |
153 | | - | |
154 | | - | |
155 | | - | |
156 | | - | |
157 | | - | |
158 | | - | |
159 | | - | |
160 | | - | |
161 | | - | |
162 | | - | |
163 | | - | |
164 | | - | |
165 | | - | |
166 | | - | |
167 | | - | |
168 | | - | |
169 | | - | |
170 | | - | |
171 | | - | |
172 | | - | |
173 | | - | |
174 | | - | |
175 | | - | |
176 | | - | |
177 | | - | |
178 | | - | |
179 | | - | |
180 | | - | |
181 | | - | |
182 | | - | |
183 | | - | |
184 | | - | |
185 | | - | |
186 | | - | |
187 | | - | |
188 | | - | |
189 | | - | |
190 | | - | |
191 | | - | |
192 | | - | |
193 | | - | |
194 | | - | |
195 | | - | |
196 | | - | |
197 | | - | |
198 | | - | |
199 | | - | |
200 | | - | |
201 | | - | |
202 | | - | |
203 | | - | |
204 | 124 | | |
205 | 125 | | |
206 | 126 | | |
207 | 127 | | |
208 | | - | |
| 128 | + | |
209 | 129 | | |
| 130 | + | |
210 | 131 | | |
211 | 132 | | |
212 | 133 | | |
213 | 134 | | |
214 | | - | |
| 135 | + | |
215 | 136 | | |
216 | 137 | | |
217 | 138 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
| 9 | + | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
| |||
14 | 15 | | |
15 | 16 | | |
16 | 17 | | |
| 18 | + | |
| 19 | + | |
17 | 20 | | |
18 | 21 | | |
19 | 22 | | |
| |||
332 | 335 | | |
333 | 336 | | |
334 | 337 | | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
0 commit comments