Distinguish region class-0 raster rebuild from latch restore
This commit is contained in:
parent
fa38ebc233
commit
f99d26fc7c
1 changed files with 9 additions and 1 deletions
|
|
@ -4253,10 +4253,11 @@ fn build_region_service_trace_report(
|
||||||
"the first caller-side checkpoint above 0x00421510 is now grounded too: 0x00444887 invokes the region collection refresh inside a broader restore sequence and then immediately advances to territory_collection_refresh_records_from_tagged_bundle 0x00487c20 and support_collection_refresh_records_from_tagged_bundle 0x0040b5d0, which makes the missing latches look like a later global rebuild seam rather than hidden work inside 0x00421510 itself".to_string(),
|
"the first caller-side checkpoint above 0x00421510 is now grounded too: 0x00444887 invokes the region collection refresh inside a broader restore sequence and then immediately advances to territory_collection_refresh_records_from_tagged_bundle 0x00487c20 and support_collection_refresh_records_from_tagged_bundle 0x0040b5d0, which makes the missing latches look like a later global rebuild seam rather than hidden work inside 0x00421510 itself".to_string(),
|
||||||
"that broader restore strip now also has one grounded later region-local sweep: at 0x00444b08 it re-enters the live region collection through 0x00421ce0, which walks live records via 0x518380/0x518140 and dispatches 0x0041fb00 per record".to_string(),
|
"that broader restore strip now also has one grounded later region-local sweep: at 0x00444b08 it re-enters the live region collection through 0x00421ce0, which walks live records via 0x518380/0x518140 and dispatches 0x0041fb00 per record".to_string(),
|
||||||
"the checked-in atlas already grounds 0x0041fb00 as the class-0-only default-region helper under the same family, and 0x00421730 as the later raster finalizer that repopulates [world+0x212d] from class-0 region ids".to_string(),
|
"the checked-in atlas already grounds 0x0041fb00 as the class-0-only default-region helper under the same family, and 0x00421730 as the later raster finalizer that repopulates [world+0x212d] from class-0 region ids".to_string(),
|
||||||
|
"direct disassembly now tightens that later sweep too: 0x0041fb00 exits immediately for nonzero [region+0x23e], while 0x00421730 clears the per-cell region word at [world+0x212d]+cell*4+1, seeds cached bounds-like fields [region+0x242/+0x246/+0x24a/+0x24e/+0x252], and only then enters the class-0 path that consumes [region+0x256] and the coordinate helpers 0x00455800/0x00455810".to_string(),
|
||||||
],
|
],
|
||||||
blockers: vec![
|
blockers: vec![
|
||||||
"which later restore or rebuild owner rehydrates [region+0x276/+0x302/+0x316] after the 0x00421510 -> 0x0041f5c0 -> 0x00455fc0 path completes".to_string(),
|
"which later restore or rebuild owner rehydrates [region+0x276/+0x302/+0x316] after the 0x00421510 -> 0x0041f5c0 -> 0x00455fc0 path completes".to_string(),
|
||||||
"whether [region+0x25e] severity/source and any stable region id/class discriminator are serialized elsewhere in the tagged region body or recomputed later by the 0x00421ce0 -> 0x0041fb00 -> 0x00421730 post-load sweep".to_string(),
|
"whether [region+0x25e] severity/source and any stable region id/class discriminator are serialized elsewhere in the tagged region body or recomputed later by the 0x00421ce0 -> 0x0041fb00 -> 0x00421730 post-load sweep, which now looks like a class-0 raster/id rebuild rather than the pending/completion latch owner".to_string(),
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
SmpServiceConsumerHypothesis {
|
SmpServiceConsumerHypothesis {
|
||||||
|
|
@ -25575,6 +25576,13 @@ mod tests {
|
||||||
.iter()
|
.iter()
|
||||||
.any(|line| line.contains("0x00421ce0") && line.contains("0x0041fb00"))
|
.any(|line| line.contains("0x00421ce0") && line.contains("0x0041fb00"))
|
||||||
);
|
);
|
||||||
|
assert!(
|
||||||
|
trace.candidate_consumer_hypotheses[1]
|
||||||
|
.evidence
|
||||||
|
.iter()
|
||||||
|
.any(|line| line.contains("0x00421730")
|
||||||
|
&& line.contains("[region+0x242/+0x246/+0x24a/+0x24e/+0x252]"))
|
||||||
|
);
|
||||||
assert_eq!(trace.entries.len(), 1);
|
assert_eq!(trace.entries.len(), 1);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
trace.entries[0].branches[0].status,
|
trace.entries[0].branches[0].status,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue