qvm: skipped target relink order
Browse files- docs/ASSET_PIPELINE_TODO.md +3 -0
- docs/FINDINGS.md +3 -0
- docs/PROVISIONAL_TODO.md +3 -0
- docs/RESEARCH_LEDGER.md +5 -0
- docs/REVERSE_ENGINEERING_TODO.md +3 -0
- docs/research/QVM_TRACE_RELINK.md +7 -0
- docs/research/README.md +3 -0
- docs/research/qvm-trace-relink.json +1104 -0
- scripts/analyze_qvm_trace_relink.py +19 -0
- scripts/test_qvm_trace_relink.py +14 -0
docs/ASSET_PIPELINE_TODO.md
CHANGED
|
@@ -562,3 +562,6 @@ Research progress: RE-626 [report](research/QVM_TRACE_CLASSIFY.md); remaining na
|
|
| 562 |
|
| 563 |
|
| 564 |
Research progress: RE-627 [report](research/QVM_TRACE_RETRY.md); remaining native/content/runtime/platform scope stays open.
|
|
|
|
|
|
|
|
|
|
|
|
| 562 |
|
| 563 |
|
| 564 |
Research progress: RE-627 [report](research/QVM_TRACE_RETRY.md); remaining native/content/runtime/platform scope stays open.
|
| 565 |
+
|
| 566 |
+
|
| 567 |
+
Research progress: RE-628 [report](research/QVM_TRACE_RELINK.md); remaining native/content/runtime/platform scope stays open.
|
docs/FINDINGS.md
CHANGED
|
@@ -914,3 +914,6 @@ Bounded qagame paths recover bomb-plant/inactivity correction requests, direct f
|
|
| 914 |
|
| 915 |
|
| 916 |
**RE-627 — Trace retry unlink stack and ten-attempt boundary:** Each retry captures unlink−32, appends the target pointer and increments count; the tenth target exits to restoration instead of issuing another trace. [Evidence](research/QVM_TRACE_RETRY.md).
|
|
|
|
|
|
|
|
|
|
|
|
| 914 |
|
| 915 |
|
| 916 |
**RE-627 — Trace retry unlink stack and ten-attempt boundary:** Each retry captures unlink−32, appends the target pointer and increments count; the tenth target exits to restoration instead of issuing another trace. [Evidence](research/QVM_TRACE_RETRY.md).
|
| 917 |
+
|
| 918 |
+
|
| 919 |
+
**RE-628 — Skipped target relink ordering and duplicate entries:** The skipped-target cleanup issues native−31 in insertion order and preserves duplicate entries; empty lists issue no relink request. [Evidence](research/QVM_TRACE_RELINK.md).
|
docs/PROVISIONAL_TODO.md
CHANGED
|
@@ -882,3 +882,6 @@ Research progress: RE-626 [report](research/QVM_TRACE_CLASSIFY.md); remaining na
|
|
| 882 |
|
| 883 |
|
| 884 |
Research progress: RE-627 [report](research/QVM_TRACE_RETRY.md); remaining native/content/runtime/platform scope stays open.
|
|
|
|
|
|
|
|
|
|
|
|
| 882 |
|
| 883 |
|
| 884 |
Research progress: RE-627 [report](research/QVM_TRACE_RETRY.md); remaining native/content/runtime/platform scope stays open.
|
| 885 |
+
|
| 886 |
+
|
| 887 |
+
Research progress: RE-628 [report](research/QVM_TRACE_RELINK.md); remaining native/content/runtime/platform scope stays open.
|
docs/RESEARCH_LEDGER.md
CHANGED
|
@@ -812,3 +812,8 @@ Actual285840 now composes source allocation/event57/quantized direction/global R
|
|
| 812 |
## 2026-10-20 — RE-627 Trace retry unlink stack and ten-attempt boundary (separate task commit)
|
| 813 |
|
| 814 |
Each retry captures unlink−32, appends the target pointer and increments count; the tenth target exits to restoration instead of issuing another trace. 30 count/target fixtures independently check stack writes, exact retry boundary and native call ABI. Full suite: 994 tests pass. Report regenerates byte-identically (48984 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 812 |
## 2026-10-20 — RE-627 Trace retry unlink stack and ten-attempt boundary (separate task commit)
|
| 813 |
|
| 814 |
Each retry captures unlink−32, appends the target pointer and increments count; the tenth target exits to restoration instead of issuing another trace. 30 count/target fixtures independently check stack writes, exact retry boundary and native call ABI. Full suite: 994 tests pass. Report regenerates byte-identically (48984 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open.
|
| 815 |
+
|
| 816 |
+
|
| 817 |
+
## 2026-10-20 — RE-628 Skipped target relink ordering and duplicate entries (separate task commit)
|
| 818 |
+
|
| 819 |
+
The skipped-target cleanup issues native−31 in insertion order and preserves duplicate entries; empty lists issue no relink request. Eight empty/reordered/duplicate/ten-entry cases independently verify pointer order, loop cursor and untouched list contents. Full suite: 997 tests pass. Report regenerates byte-identically (24991 bytes). Storage/filter, links and whitespace checks pass. No assets/Rust runtime/shared VM evaluator changed; native/reference/legal/full platform scope remains open.
|
docs/REVERSE_ENGINEERING_TODO.md
CHANGED
|
@@ -925,3 +925,6 @@ Purpose: turn the supplied installation into an evidence-backed specification of
|
|
| 925 |
|
| 926 |
|
| 927 |
- [x] RE-627 Trace retry unlink stack and ten-attempt boundary ([report](research/QVM_TRACE_RETRY.md)).
|
|
|
|
|
|
|
|
|
|
|
|
| 925 |
|
| 926 |
|
| 927 |
- [x] RE-627 Trace retry unlink stack and ten-attempt boundary ([report](research/QVM_TRACE_RETRY.md)).
|
| 928 |
+
|
| 929 |
+
|
| 930 |
+
- [x] RE-628 Skipped target relink ordering and duplicate entries ([report](research/QVM_TRACE_RELINK.md)).
|
docs/research/QVM_TRACE_RELINK.md
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Skipped target relink ordering and duplicate entries
|
| 2 |
+
|
| 3 |
+
RE-628. Reproduce with `python3 scripts/analyze_qvm_trace_relink.py`; check with `python3 scripts/test_qvm_trace_relink.py`. The [machine report](qvm-trace-relink.json) retains source identity and bounded fixtures.
|
| 4 |
+
|
| 5 |
+
Actual292299–292325 initializes the list cursor and issues one captured native−31 per local56+4×index entry through local52. There is no sorting, reverse traversal or deduplication. Explicit fixtures cover zero, one, reordered pairs, repeated pointers and ten entries. The source list remains intact, and the final cursor equals count. These are source call-order findings; captured native requests do not establish engine relink effects or prove repeated targets are legal live collision outcomes. Candidate bound restoration and shooter rewind restoration are later parts of291641.
|
| 6 |
+
|
| 7 |
+
No original executable/full QVM/native collision/physics/rendering executes. Native responses and legal input domains are supplied or unverified where stated; full runtime/macOS/Linux Rust/Bevy/Solari gameplay remains open.
|
docs/research/README.md
CHANGED
|
@@ -483,3 +483,6 @@ The extension collector adds five focused tests for native tail calls, command-r
|
|
| 483 |
|
| 484 |
|
| 485 |
[RE-627: Trace retry unlink stack and ten-attempt boundary](QVM_TRACE_RETRY.md). Reproduce with `python3 scripts/analyze_qvm_trace_retry.py`; check with `python3 scripts/test_qvm_trace_retry.py`.
|
|
|
|
|
|
|
|
|
|
|
|
| 483 |
|
| 484 |
|
| 485 |
[RE-627: Trace retry unlink stack and ten-attempt boundary](QVM_TRACE_RETRY.md). Reproduce with `python3 scripts/analyze_qvm_trace_retry.py`; check with `python3 scripts/test_qvm_trace_retry.py`.
|
| 486 |
+
|
| 487 |
+
|
| 488 |
+
[RE-628: Skipped target relink ordering and duplicate entries](QVM_TRACE_RELINK.md). Reproduce with `python3 scripts/analyze_qvm_trace_relink.py`; check with `python3 scripts/test_qvm_trace_relink.py`.
|
docs/research/qvm-trace-relink.json
ADDED
|
@@ -0,0 +1,1104 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"limits": "Actual292299\u2013292325 with native\u221231 requests captured only. Counts0..10 and duplicate source pointers explicit; native state and legality of repeated skipped targets unverified. Candidate bounds/shooter restoration follow later.",
|
| 3 |
+
"probes": [
|
| 4 |
+
{
|
| 5 |
+
"count": 0,
|
| 6 |
+
"cursor": 0,
|
| 7 |
+
"execution": {
|
| 8 |
+
"byte_writes": [],
|
| 9 |
+
"calls": [],
|
| 10 |
+
"children": [],
|
| 11 |
+
"return": null,
|
| 12 |
+
"trace": null,
|
| 13 |
+
"trace_length": 10,
|
| 14 |
+
"trace_sha256": "0664663dec2b74e33c40d95eadba01e57950efb22cf5768a2835718ab1ec3755"
|
| 15 |
+
},
|
| 16 |
+
"final_stack": [],
|
| 17 |
+
"requests": [],
|
| 18 |
+
"stack": []
|
| 19 |
+
},
|
| 20 |
+
{
|
| 21 |
+
"count": 1,
|
| 22 |
+
"cursor": 1,
|
| 23 |
+
"execution": {
|
| 24 |
+
"byte_writes": [],
|
| 25 |
+
"calls": [
|
| 26 |
+
{
|
| 27 |
+
"args": {
|
| 28 |
+
"8": 34148568
|
| 29 |
+
},
|
| 30 |
+
"instruction": 292313,
|
| 31 |
+
"target": -31
|
| 32 |
+
}
|
| 33 |
+
],
|
| 34 |
+
"children": [
|
| 35 |
+
{
|
| 36 |
+
"call": {
|
| 37 |
+
"args": {
|
| 38 |
+
"8": 34148568
|
| 39 |
+
},
|
| 40 |
+
"instruction": 292313,
|
| 41 |
+
"target": -31
|
| 42 |
+
},
|
| 43 |
+
"effect": {
|
| 44 |
+
"arguments": {
|
| 45 |
+
"8": 34148568
|
| 46 |
+
},
|
| 47 |
+
"native_effect_not_executed": true
|
| 48 |
+
}
|
| 49 |
+
}
|
| 50 |
+
],
|
| 51 |
+
"return": null,
|
| 52 |
+
"trace": null,
|
| 53 |
+
"trace_length": 32,
|
| 54 |
+
"trace_sha256": "229ace7061c8e586105fde224ad4f33efb42119c92de39fca7a32a236f1ea038"
|
| 55 |
+
},
|
| 56 |
+
"final_stack": [
|
| 57 |
+
34148568
|
| 58 |
+
],
|
| 59 |
+
"requests": [
|
| 60 |
+
{
|
| 61 |
+
"arguments": {
|
| 62 |
+
"8": 34148568
|
| 63 |
+
},
|
| 64 |
+
"native_effect_not_executed": true
|
| 65 |
+
}
|
| 66 |
+
],
|
| 67 |
+
"stack": [
|
| 68 |
+
34148568
|
| 69 |
+
]
|
| 70 |
+
},
|
| 71 |
+
{
|
| 72 |
+
"count": 2,
|
| 73 |
+
"cursor": 2,
|
| 74 |
+
"execution": {
|
| 75 |
+
"byte_writes": [],
|
| 76 |
+
"calls": [
|
| 77 |
+
{
|
| 78 |
+
"args": {
|
| 79 |
+
"8": 34148568
|
| 80 |
+
},
|
| 81 |
+
"instruction": 292313,
|
| 82 |
+
"target": -31
|
| 83 |
+
},
|
| 84 |
+
{
|
| 85 |
+
"args": {
|
| 86 |
+
"8": 34149448
|
| 87 |
+
},
|
| 88 |
+
"instruction": 292313,
|
| 89 |
+
"target": -31
|
| 90 |
+
}
|
| 91 |
+
],
|
| 92 |
+
"children": [
|
| 93 |
+
{
|
| 94 |
+
"call": {
|
| 95 |
+
"args": {
|
| 96 |
+
"8": 34148568
|
| 97 |
+
},
|
| 98 |
+
"instruction": 292313,
|
| 99 |
+
"target": -31
|
| 100 |
+
},
|
| 101 |
+
"effect": {
|
| 102 |
+
"arguments": {
|
| 103 |
+
"8": 34148568
|
| 104 |
+
},
|
| 105 |
+
"native_effect_not_executed": true
|
| 106 |
+
}
|
| 107 |
+
},
|
| 108 |
+
{
|
| 109 |
+
"call": {
|
| 110 |
+
"args": {
|
| 111 |
+
"8": 34149448
|
| 112 |
+
},
|
| 113 |
+
"instruction": 292313,
|
| 114 |
+
"target": -31
|
| 115 |
+
},
|
| 116 |
+
"effect": {
|
| 117 |
+
"arguments": {
|
| 118 |
+
"8": 34149448
|
| 119 |
+
},
|
| 120 |
+
"native_effect_not_executed": true
|
| 121 |
+
}
|
| 122 |
+
}
|
| 123 |
+
],
|
| 124 |
+
"return": null,
|
| 125 |
+
"trace": null,
|
| 126 |
+
"trace_length": 54,
|
| 127 |
+
"trace_sha256": "34b0d2723a101e771d630f07b157407a429644cdafba45e7fc5c0a296eb9d602"
|
| 128 |
+
},
|
| 129 |
+
"final_stack": [
|
| 130 |
+
34148568,
|
| 131 |
+
34149448
|
| 132 |
+
],
|
| 133 |
+
"requests": [
|
| 134 |
+
{
|
| 135 |
+
"arguments": {
|
| 136 |
+
"8": 34148568
|
| 137 |
+
},
|
| 138 |
+
"native_effect_not_executed": true
|
| 139 |
+
},
|
| 140 |
+
{
|
| 141 |
+
"arguments": {
|
| 142 |
+
"8": 34149448
|
| 143 |
+
},
|
| 144 |
+
"native_effect_not_executed": true
|
| 145 |
+
}
|
| 146 |
+
],
|
| 147 |
+
"stack": [
|
| 148 |
+
34148568,
|
| 149 |
+
34149448
|
| 150 |
+
]
|
| 151 |
+
},
|
| 152 |
+
{
|
| 153 |
+
"count": 2,
|
| 154 |
+
"cursor": 2,
|
| 155 |
+
"execution": {
|
| 156 |
+
"byte_writes": [],
|
| 157 |
+
"calls": [
|
| 158 |
+
{
|
| 159 |
+
"args": {
|
| 160 |
+
"8": 34149448
|
| 161 |
+
},
|
| 162 |
+
"instruction": 292313,
|
| 163 |
+
"target": -31
|
| 164 |
+
},
|
| 165 |
+
{
|
| 166 |
+
"args": {
|
| 167 |
+
"8": 34148568
|
| 168 |
+
},
|
| 169 |
+
"instruction": 292313,
|
| 170 |
+
"target": -31
|
| 171 |
+
}
|
| 172 |
+
],
|
| 173 |
+
"children": [
|
| 174 |
+
{
|
| 175 |
+
"call": {
|
| 176 |
+
"args": {
|
| 177 |
+
"8": 34149448
|
| 178 |
+
},
|
| 179 |
+
"instruction": 292313,
|
| 180 |
+
"target": -31
|
| 181 |
+
},
|
| 182 |
+
"effect": {
|
| 183 |
+
"arguments": {
|
| 184 |
+
"8": 34149448
|
| 185 |
+
},
|
| 186 |
+
"native_effect_not_executed": true
|
| 187 |
+
}
|
| 188 |
+
},
|
| 189 |
+
{
|
| 190 |
+
"call": {
|
| 191 |
+
"args": {
|
| 192 |
+
"8": 34148568
|
| 193 |
+
},
|
| 194 |
+
"instruction": 292313,
|
| 195 |
+
"target": -31
|
| 196 |
+
},
|
| 197 |
+
"effect": {
|
| 198 |
+
"arguments": {
|
| 199 |
+
"8": 34148568
|
| 200 |
+
},
|
| 201 |
+
"native_effect_not_executed": true
|
| 202 |
+
}
|
| 203 |
+
}
|
| 204 |
+
],
|
| 205 |
+
"return": null,
|
| 206 |
+
"trace": null,
|
| 207 |
+
"trace_length": 54,
|
| 208 |
+
"trace_sha256": "34b0d2723a101e771d630f07b157407a429644cdafba45e7fc5c0a296eb9d602"
|
| 209 |
+
},
|
| 210 |
+
"final_stack": [
|
| 211 |
+
34149448,
|
| 212 |
+
34148568
|
| 213 |
+
],
|
| 214 |
+
"requests": [
|
| 215 |
+
{
|
| 216 |
+
"arguments": {
|
| 217 |
+
"8": 34149448
|
| 218 |
+
},
|
| 219 |
+
"native_effect_not_executed": true
|
| 220 |
+
},
|
| 221 |
+
{
|
| 222 |
+
"arguments": {
|
| 223 |
+
"8": 34148568
|
| 224 |
+
},
|
| 225 |
+
"native_effect_not_executed": true
|
| 226 |
+
}
|
| 227 |
+
],
|
| 228 |
+
"stack": [
|
| 229 |
+
34149448,
|
| 230 |
+
34148568
|
| 231 |
+
]
|
| 232 |
+
},
|
| 233 |
+
{
|
| 234 |
+
"count": 2,
|
| 235 |
+
"cursor": 2,
|
| 236 |
+
"execution": {
|
| 237 |
+
"byte_writes": [],
|
| 238 |
+
"calls": [
|
| 239 |
+
{
|
| 240 |
+
"args": {
|
| 241 |
+
"8": 34148568
|
| 242 |
+
},
|
| 243 |
+
"instruction": 292313,
|
| 244 |
+
"target": -31
|
| 245 |
+
},
|
| 246 |
+
{
|
| 247 |
+
"args": {
|
| 248 |
+
"8": 34148568
|
| 249 |
+
},
|
| 250 |
+
"instruction": 292313,
|
| 251 |
+
"target": -31
|
| 252 |
+
}
|
| 253 |
+
],
|
| 254 |
+
"children": [
|
| 255 |
+
{
|
| 256 |
+
"call": {
|
| 257 |
+
"args": {
|
| 258 |
+
"8": 34148568
|
| 259 |
+
},
|
| 260 |
+
"instruction": 292313,
|
| 261 |
+
"target": -31
|
| 262 |
+
},
|
| 263 |
+
"effect": {
|
| 264 |
+
"arguments": {
|
| 265 |
+
"8": 34148568
|
| 266 |
+
},
|
| 267 |
+
"native_effect_not_executed": true
|
| 268 |
+
}
|
| 269 |
+
},
|
| 270 |
+
{
|
| 271 |
+
"call": {
|
| 272 |
+
"args": {
|
| 273 |
+
"8": 34148568
|
| 274 |
+
},
|
| 275 |
+
"instruction": 292313,
|
| 276 |
+
"target": -31
|
| 277 |
+
},
|
| 278 |
+
"effect": {
|
| 279 |
+
"arguments": {
|
| 280 |
+
"8": 34148568
|
| 281 |
+
},
|
| 282 |
+
"native_effect_not_executed": true
|
| 283 |
+
}
|
| 284 |
+
}
|
| 285 |
+
],
|
| 286 |
+
"return": null,
|
| 287 |
+
"trace": null,
|
| 288 |
+
"trace_length": 54,
|
| 289 |
+
"trace_sha256": "34b0d2723a101e771d630f07b157407a429644cdafba45e7fc5c0a296eb9d602"
|
| 290 |
+
},
|
| 291 |
+
"final_stack": [
|
| 292 |
+
34148568,
|
| 293 |
+
34148568
|
| 294 |
+
],
|
| 295 |
+
"requests": [
|
| 296 |
+
{
|
| 297 |
+
"arguments": {
|
| 298 |
+
"8": 34148568
|
| 299 |
+
},
|
| 300 |
+
"native_effect_not_executed": true
|
| 301 |
+
},
|
| 302 |
+
{
|
| 303 |
+
"arguments": {
|
| 304 |
+
"8": 34148568
|
| 305 |
+
},
|
| 306 |
+
"native_effect_not_executed": true
|
| 307 |
+
}
|
| 308 |
+
],
|
| 309 |
+
"stack": [
|
| 310 |
+
34148568,
|
| 311 |
+
34148568
|
| 312 |
+
]
|
| 313 |
+
},
|
| 314 |
+
{
|
| 315 |
+
"count": 3,
|
| 316 |
+
"cursor": 3,
|
| 317 |
+
"execution": {
|
| 318 |
+
"byte_writes": [],
|
| 319 |
+
"calls": [
|
| 320 |
+
{
|
| 321 |
+
"args": {
|
| 322 |
+
"8": 34148568
|
| 323 |
+
},
|
| 324 |
+
"instruction": 292313,
|
| 325 |
+
"target": -31
|
| 326 |
+
},
|
| 327 |
+
{
|
| 328 |
+
"args": {
|
| 329 |
+
"8": 34149448
|
| 330 |
+
},
|
| 331 |
+
"instruction": 292313,
|
| 332 |
+
"target": -31
|
| 333 |
+
},
|
| 334 |
+
{
|
| 335 |
+
"args": {
|
| 336 |
+
"8": 34148568
|
| 337 |
+
},
|
| 338 |
+
"instruction": 292313,
|
| 339 |
+
"target": -31
|
| 340 |
+
}
|
| 341 |
+
],
|
| 342 |
+
"children": [
|
| 343 |
+
{
|
| 344 |
+
"call": {
|
| 345 |
+
"args": {
|
| 346 |
+
"8": 34148568
|
| 347 |
+
},
|
| 348 |
+
"instruction": 292313,
|
| 349 |
+
"target": -31
|
| 350 |
+
},
|
| 351 |
+
"effect": {
|
| 352 |
+
"arguments": {
|
| 353 |
+
"8": 34148568
|
| 354 |
+
},
|
| 355 |
+
"native_effect_not_executed": true
|
| 356 |
+
}
|
| 357 |
+
},
|
| 358 |
+
{
|
| 359 |
+
"call": {
|
| 360 |
+
"args": {
|
| 361 |
+
"8": 34149448
|
| 362 |
+
},
|
| 363 |
+
"instruction": 292313,
|
| 364 |
+
"target": -31
|
| 365 |
+
},
|
| 366 |
+
"effect": {
|
| 367 |
+
"arguments": {
|
| 368 |
+
"8": 34149448
|
| 369 |
+
},
|
| 370 |
+
"native_effect_not_executed": true
|
| 371 |
+
}
|
| 372 |
+
},
|
| 373 |
+
{
|
| 374 |
+
"call": {
|
| 375 |
+
"args": {
|
| 376 |
+
"8": 34148568
|
| 377 |
+
},
|
| 378 |
+
"instruction": 292313,
|
| 379 |
+
"target": -31
|
| 380 |
+
},
|
| 381 |
+
"effect": {
|
| 382 |
+
"arguments": {
|
| 383 |
+
"8": 34148568
|
| 384 |
+
},
|
| 385 |
+
"native_effect_not_executed": true
|
| 386 |
+
}
|
| 387 |
+
}
|
| 388 |
+
],
|
| 389 |
+
"return": null,
|
| 390 |
+
"trace": null,
|
| 391 |
+
"trace_length": 76,
|
| 392 |
+
"trace_sha256": "237bf9aa38f1c0fccae17caa112f20569517a6a10135520e63525701284620d3"
|
| 393 |
+
},
|
| 394 |
+
"final_stack": [
|
| 395 |
+
34148568,
|
| 396 |
+
34149448,
|
| 397 |
+
34148568
|
| 398 |
+
],
|
| 399 |
+
"requests": [
|
| 400 |
+
{
|
| 401 |
+
"arguments": {
|
| 402 |
+
"8": 34148568
|
| 403 |
+
},
|
| 404 |
+
"native_effect_not_executed": true
|
| 405 |
+
},
|
| 406 |
+
{
|
| 407 |
+
"arguments": {
|
| 408 |
+
"8": 34149448
|
| 409 |
+
},
|
| 410 |
+
"native_effect_not_executed": true
|
| 411 |
+
},
|
| 412 |
+
{
|
| 413 |
+
"arguments": {
|
| 414 |
+
"8": 34148568
|
| 415 |
+
},
|
| 416 |
+
"native_effect_not_executed": true
|
| 417 |
+
}
|
| 418 |
+
],
|
| 419 |
+
"stack": [
|
| 420 |
+
34148568,
|
| 421 |
+
34149448,
|
| 422 |
+
34148568
|
| 423 |
+
]
|
| 424 |
+
},
|
| 425 |
+
{
|
| 426 |
+
"count": 10,
|
| 427 |
+
"cursor": 10,
|
| 428 |
+
"execution": {
|
| 429 |
+
"byte_writes": [],
|
| 430 |
+
"calls": [
|
| 431 |
+
{
|
| 432 |
+
"args": {
|
| 433 |
+
"8": 34147688
|
| 434 |
+
},
|
| 435 |
+
"instruction": 292313,
|
| 436 |
+
"target": -31
|
| 437 |
+
},
|
| 438 |
+
{
|
| 439 |
+
"args": {
|
| 440 |
+
"8": 34148568
|
| 441 |
+
},
|
| 442 |
+
"instruction": 292313,
|
| 443 |
+
"target": -31
|
| 444 |
+
},
|
| 445 |
+
{
|
| 446 |
+
"args": {
|
| 447 |
+
"8": 34149448
|
| 448 |
+
},
|
| 449 |
+
"instruction": 292313,
|
| 450 |
+
"target": -31
|
| 451 |
+
},
|
| 452 |
+
{
|
| 453 |
+
"args": {
|
| 454 |
+
"8": 34150328
|
| 455 |
+
},
|
| 456 |
+
"instruction": 292313,
|
| 457 |
+
"target": -31
|
| 458 |
+
},
|
| 459 |
+
{
|
| 460 |
+
"args": {
|
| 461 |
+
"8": 34151208
|
| 462 |
+
},
|
| 463 |
+
"instruction": 292313,
|
| 464 |
+
"target": -31
|
| 465 |
+
},
|
| 466 |
+
{
|
| 467 |
+
"args": {
|
| 468 |
+
"8": 34152088
|
| 469 |
+
},
|
| 470 |
+
"instruction": 292313,
|
| 471 |
+
"target": -31
|
| 472 |
+
},
|
| 473 |
+
{
|
| 474 |
+
"args": {
|
| 475 |
+
"8": 34152968
|
| 476 |
+
},
|
| 477 |
+
"instruction": 292313,
|
| 478 |
+
"target": -31
|
| 479 |
+
},
|
| 480 |
+
{
|
| 481 |
+
"args": {
|
| 482 |
+
"8": 34153848
|
| 483 |
+
},
|
| 484 |
+
"instruction": 292313,
|
| 485 |
+
"target": -31
|
| 486 |
+
},
|
| 487 |
+
{
|
| 488 |
+
"args": {
|
| 489 |
+
"8": 34154728
|
| 490 |
+
},
|
| 491 |
+
"instruction": 292313,
|
| 492 |
+
"target": -31
|
| 493 |
+
},
|
| 494 |
+
{
|
| 495 |
+
"args": {
|
| 496 |
+
"8": 34155608
|
| 497 |
+
},
|
| 498 |
+
"instruction": 292313,
|
| 499 |
+
"target": -31
|
| 500 |
+
}
|
| 501 |
+
],
|
| 502 |
+
"children": [
|
| 503 |
+
{
|
| 504 |
+
"call": {
|
| 505 |
+
"args": {
|
| 506 |
+
"8": 34147688
|
| 507 |
+
},
|
| 508 |
+
"instruction": 292313,
|
| 509 |
+
"target": -31
|
| 510 |
+
},
|
| 511 |
+
"effect": {
|
| 512 |
+
"arguments": {
|
| 513 |
+
"8": 34147688
|
| 514 |
+
},
|
| 515 |
+
"native_effect_not_executed": true
|
| 516 |
+
}
|
| 517 |
+
},
|
| 518 |
+
{
|
| 519 |
+
"call": {
|
| 520 |
+
"args": {
|
| 521 |
+
"8": 34148568
|
| 522 |
+
},
|
| 523 |
+
"instruction": 292313,
|
| 524 |
+
"target": -31
|
| 525 |
+
},
|
| 526 |
+
"effect": {
|
| 527 |
+
"arguments": {
|
| 528 |
+
"8": 34148568
|
| 529 |
+
},
|
| 530 |
+
"native_effect_not_executed": true
|
| 531 |
+
}
|
| 532 |
+
},
|
| 533 |
+
{
|
| 534 |
+
"call": {
|
| 535 |
+
"args": {
|
| 536 |
+
"8": 34149448
|
| 537 |
+
},
|
| 538 |
+
"instruction": 292313,
|
| 539 |
+
"target": -31
|
| 540 |
+
},
|
| 541 |
+
"effect": {
|
| 542 |
+
"arguments": {
|
| 543 |
+
"8": 34149448
|
| 544 |
+
},
|
| 545 |
+
"native_effect_not_executed": true
|
| 546 |
+
}
|
| 547 |
+
},
|
| 548 |
+
{
|
| 549 |
+
"call": {
|
| 550 |
+
"args": {
|
| 551 |
+
"8": 34150328
|
| 552 |
+
},
|
| 553 |
+
"instruction": 292313,
|
| 554 |
+
"target": -31
|
| 555 |
+
},
|
| 556 |
+
"effect": {
|
| 557 |
+
"arguments": {
|
| 558 |
+
"8": 34150328
|
| 559 |
+
},
|
| 560 |
+
"native_effect_not_executed": true
|
| 561 |
+
}
|
| 562 |
+
},
|
| 563 |
+
{
|
| 564 |
+
"call": {
|
| 565 |
+
"args": {
|
| 566 |
+
"8": 34151208
|
| 567 |
+
},
|
| 568 |
+
"instruction": 292313,
|
| 569 |
+
"target": -31
|
| 570 |
+
},
|
| 571 |
+
"effect": {
|
| 572 |
+
"arguments": {
|
| 573 |
+
"8": 34151208
|
| 574 |
+
},
|
| 575 |
+
"native_effect_not_executed": true
|
| 576 |
+
}
|
| 577 |
+
},
|
| 578 |
+
{
|
| 579 |
+
"call": {
|
| 580 |
+
"args": {
|
| 581 |
+
"8": 34152088
|
| 582 |
+
},
|
| 583 |
+
"instruction": 292313,
|
| 584 |
+
"target": -31
|
| 585 |
+
},
|
| 586 |
+
"effect": {
|
| 587 |
+
"arguments": {
|
| 588 |
+
"8": 34152088
|
| 589 |
+
},
|
| 590 |
+
"native_effect_not_executed": true
|
| 591 |
+
}
|
| 592 |
+
},
|
| 593 |
+
{
|
| 594 |
+
"call": {
|
| 595 |
+
"args": {
|
| 596 |
+
"8": 34152968
|
| 597 |
+
},
|
| 598 |
+
"instruction": 292313,
|
| 599 |
+
"target": -31
|
| 600 |
+
},
|
| 601 |
+
"effect": {
|
| 602 |
+
"arguments": {
|
| 603 |
+
"8": 34152968
|
| 604 |
+
},
|
| 605 |
+
"native_effect_not_executed": true
|
| 606 |
+
}
|
| 607 |
+
},
|
| 608 |
+
{
|
| 609 |
+
"call": {
|
| 610 |
+
"args": {
|
| 611 |
+
"8": 34153848
|
| 612 |
+
},
|
| 613 |
+
"instruction": 292313,
|
| 614 |
+
"target": -31
|
| 615 |
+
},
|
| 616 |
+
"effect": {
|
| 617 |
+
"arguments": {
|
| 618 |
+
"8": 34153848
|
| 619 |
+
},
|
| 620 |
+
"native_effect_not_executed": true
|
| 621 |
+
}
|
| 622 |
+
},
|
| 623 |
+
{
|
| 624 |
+
"call": {
|
| 625 |
+
"args": {
|
| 626 |
+
"8": 34154728
|
| 627 |
+
},
|
| 628 |
+
"instruction": 292313,
|
| 629 |
+
"target": -31
|
| 630 |
+
},
|
| 631 |
+
"effect": {
|
| 632 |
+
"arguments": {
|
| 633 |
+
"8": 34154728
|
| 634 |
+
},
|
| 635 |
+
"native_effect_not_executed": true
|
| 636 |
+
}
|
| 637 |
+
},
|
| 638 |
+
{
|
| 639 |
+
"call": {
|
| 640 |
+
"args": {
|
| 641 |
+
"8": 34155608
|
| 642 |
+
},
|
| 643 |
+
"instruction": 292313,
|
| 644 |
+
"target": -31
|
| 645 |
+
},
|
| 646 |
+
"effect": {
|
| 647 |
+
"arguments": {
|
| 648 |
+
"8": 34155608
|
| 649 |
+
},
|
| 650 |
+
"native_effect_not_executed": true
|
| 651 |
+
}
|
| 652 |
+
}
|
| 653 |
+
],
|
| 654 |
+
"return": null,
|
| 655 |
+
"trace": null,
|
| 656 |
+
"trace_length": 230,
|
| 657 |
+
"trace_sha256": "068c3a5f57a9c8ebcf26763eb10e57b00020a57226ba2cd7a68e46ac4433d7c7"
|
| 658 |
+
},
|
| 659 |
+
"final_stack": [
|
| 660 |
+
34147688,
|
| 661 |
+
34148568,
|
| 662 |
+
34149448,
|
| 663 |
+
34150328,
|
| 664 |
+
34151208,
|
| 665 |
+
34152088,
|
| 666 |
+
34152968,
|
| 667 |
+
34153848,
|
| 668 |
+
34154728,
|
| 669 |
+
34155608
|
| 670 |
+
],
|
| 671 |
+
"requests": [
|
| 672 |
+
{
|
| 673 |
+
"arguments": {
|
| 674 |
+
"8": 34147688
|
| 675 |
+
},
|
| 676 |
+
"native_effect_not_executed": true
|
| 677 |
+
},
|
| 678 |
+
{
|
| 679 |
+
"arguments": {
|
| 680 |
+
"8": 34148568
|
| 681 |
+
},
|
| 682 |
+
"native_effect_not_executed": true
|
| 683 |
+
},
|
| 684 |
+
{
|
| 685 |
+
"arguments": {
|
| 686 |
+
"8": 34149448
|
| 687 |
+
},
|
| 688 |
+
"native_effect_not_executed": true
|
| 689 |
+
},
|
| 690 |
+
{
|
| 691 |
+
"arguments": {
|
| 692 |
+
"8": 34150328
|
| 693 |
+
},
|
| 694 |
+
"native_effect_not_executed": true
|
| 695 |
+
},
|
| 696 |
+
{
|
| 697 |
+
"arguments": {
|
| 698 |
+
"8": 34151208
|
| 699 |
+
},
|
| 700 |
+
"native_effect_not_executed": true
|
| 701 |
+
},
|
| 702 |
+
{
|
| 703 |
+
"arguments": {
|
| 704 |
+
"8": 34152088
|
| 705 |
+
},
|
| 706 |
+
"native_effect_not_executed": true
|
| 707 |
+
},
|
| 708 |
+
{
|
| 709 |
+
"arguments": {
|
| 710 |
+
"8": 34152968
|
| 711 |
+
},
|
| 712 |
+
"native_effect_not_executed": true
|
| 713 |
+
},
|
| 714 |
+
{
|
| 715 |
+
"arguments": {
|
| 716 |
+
"8": 34153848
|
| 717 |
+
},
|
| 718 |
+
"native_effect_not_executed": true
|
| 719 |
+
},
|
| 720 |
+
{
|
| 721 |
+
"arguments": {
|
| 722 |
+
"8": 34154728
|
| 723 |
+
},
|
| 724 |
+
"native_effect_not_executed": true
|
| 725 |
+
},
|
| 726 |
+
{
|
| 727 |
+
"arguments": {
|
| 728 |
+
"8": 34155608
|
| 729 |
+
},
|
| 730 |
+
"native_effect_not_executed": true
|
| 731 |
+
}
|
| 732 |
+
],
|
| 733 |
+
"stack": [
|
| 734 |
+
34147688,
|
| 735 |
+
34148568,
|
| 736 |
+
34149448,
|
| 737 |
+
34150328,
|
| 738 |
+
34151208,
|
| 739 |
+
34152088,
|
| 740 |
+
34152968,
|
| 741 |
+
34153848,
|
| 742 |
+
34154728,
|
| 743 |
+
34155608
|
| 744 |
+
]
|
| 745 |
+
},
|
| 746 |
+
{
|
| 747 |
+
"count": 10,
|
| 748 |
+
"cursor": 10,
|
| 749 |
+
"execution": {
|
| 750 |
+
"byte_writes": [],
|
| 751 |
+
"calls": [
|
| 752 |
+
{
|
| 753 |
+
"args": {
|
| 754 |
+
"8": 34148568
|
| 755 |
+
},
|
| 756 |
+
"instruction": 292313,
|
| 757 |
+
"target": -31
|
| 758 |
+
},
|
| 759 |
+
{
|
| 760 |
+
"args": {
|
| 761 |
+
"8": 34148568
|
| 762 |
+
},
|
| 763 |
+
"instruction": 292313,
|
| 764 |
+
"target": -31
|
| 765 |
+
},
|
| 766 |
+
{
|
| 767 |
+
"args": {
|
| 768 |
+
"8": 34148568
|
| 769 |
+
},
|
| 770 |
+
"instruction": 292313,
|
| 771 |
+
"target": -31
|
| 772 |
+
},
|
| 773 |
+
{
|
| 774 |
+
"args": {
|
| 775 |
+
"8": 34148568
|
| 776 |
+
},
|
| 777 |
+
"instruction": 292313,
|
| 778 |
+
"target": -31
|
| 779 |
+
},
|
| 780 |
+
{
|
| 781 |
+
"args": {
|
| 782 |
+
"8": 34148568
|
| 783 |
+
},
|
| 784 |
+
"instruction": 292313,
|
| 785 |
+
"target": -31
|
| 786 |
+
},
|
| 787 |
+
{
|
| 788 |
+
"args": {
|
| 789 |
+
"8": 34148568
|
| 790 |
+
},
|
| 791 |
+
"instruction": 292313,
|
| 792 |
+
"target": -31
|
| 793 |
+
},
|
| 794 |
+
{
|
| 795 |
+
"args": {
|
| 796 |
+
"8": 34148568
|
| 797 |
+
},
|
| 798 |
+
"instruction": 292313,
|
| 799 |
+
"target": -31
|
| 800 |
+
},
|
| 801 |
+
{
|
| 802 |
+
"args": {
|
| 803 |
+
"8": 34148568
|
| 804 |
+
},
|
| 805 |
+
"instruction": 292313,
|
| 806 |
+
"target": -31
|
| 807 |
+
},
|
| 808 |
+
{
|
| 809 |
+
"args": {
|
| 810 |
+
"8": 34148568
|
| 811 |
+
},
|
| 812 |
+
"instruction": 292313,
|
| 813 |
+
"target": -31
|
| 814 |
+
},
|
| 815 |
+
{
|
| 816 |
+
"args": {
|
| 817 |
+
"8": 34148568
|
| 818 |
+
},
|
| 819 |
+
"instruction": 292313,
|
| 820 |
+
"target": -31
|
| 821 |
+
}
|
| 822 |
+
],
|
| 823 |
+
"children": [
|
| 824 |
+
{
|
| 825 |
+
"call": {
|
| 826 |
+
"args": {
|
| 827 |
+
"8": 34148568
|
| 828 |
+
},
|
| 829 |
+
"instruction": 292313,
|
| 830 |
+
"target": -31
|
| 831 |
+
},
|
| 832 |
+
"effect": {
|
| 833 |
+
"arguments": {
|
| 834 |
+
"8": 34148568
|
| 835 |
+
},
|
| 836 |
+
"native_effect_not_executed": true
|
| 837 |
+
}
|
| 838 |
+
},
|
| 839 |
+
{
|
| 840 |
+
"call": {
|
| 841 |
+
"args": {
|
| 842 |
+
"8": 34148568
|
| 843 |
+
},
|
| 844 |
+
"instruction": 292313,
|
| 845 |
+
"target": -31
|
| 846 |
+
},
|
| 847 |
+
"effect": {
|
| 848 |
+
"arguments": {
|
| 849 |
+
"8": 34148568
|
| 850 |
+
},
|
| 851 |
+
"native_effect_not_executed": true
|
| 852 |
+
}
|
| 853 |
+
},
|
| 854 |
+
{
|
| 855 |
+
"call": {
|
| 856 |
+
"args": {
|
| 857 |
+
"8": 34148568
|
| 858 |
+
},
|
| 859 |
+
"instruction": 292313,
|
| 860 |
+
"target": -31
|
| 861 |
+
},
|
| 862 |
+
"effect": {
|
| 863 |
+
"arguments": {
|
| 864 |
+
"8": 34148568
|
| 865 |
+
},
|
| 866 |
+
"native_effect_not_executed": true
|
| 867 |
+
}
|
| 868 |
+
},
|
| 869 |
+
{
|
| 870 |
+
"call": {
|
| 871 |
+
"args": {
|
| 872 |
+
"8": 34148568
|
| 873 |
+
},
|
| 874 |
+
"instruction": 292313,
|
| 875 |
+
"target": -31
|
| 876 |
+
},
|
| 877 |
+
"effect": {
|
| 878 |
+
"arguments": {
|
| 879 |
+
"8": 34148568
|
| 880 |
+
},
|
| 881 |
+
"native_effect_not_executed": true
|
| 882 |
+
}
|
| 883 |
+
},
|
| 884 |
+
{
|
| 885 |
+
"call": {
|
| 886 |
+
"args": {
|
| 887 |
+
"8": 34148568
|
| 888 |
+
},
|
| 889 |
+
"instruction": 292313,
|
| 890 |
+
"target": -31
|
| 891 |
+
},
|
| 892 |
+
"effect": {
|
| 893 |
+
"arguments": {
|
| 894 |
+
"8": 34148568
|
| 895 |
+
},
|
| 896 |
+
"native_effect_not_executed": true
|
| 897 |
+
}
|
| 898 |
+
},
|
| 899 |
+
{
|
| 900 |
+
"call": {
|
| 901 |
+
"args": {
|
| 902 |
+
"8": 34148568
|
| 903 |
+
},
|
| 904 |
+
"instruction": 292313,
|
| 905 |
+
"target": -31
|
| 906 |
+
},
|
| 907 |
+
"effect": {
|
| 908 |
+
"arguments": {
|
| 909 |
+
"8": 34148568
|
| 910 |
+
},
|
| 911 |
+
"native_effect_not_executed": true
|
| 912 |
+
}
|
| 913 |
+
},
|
| 914 |
+
{
|
| 915 |
+
"call": {
|
| 916 |
+
"args": {
|
| 917 |
+
"8": 34148568
|
| 918 |
+
},
|
| 919 |
+
"instruction": 292313,
|
| 920 |
+
"target": -31
|
| 921 |
+
},
|
| 922 |
+
"effect": {
|
| 923 |
+
"arguments": {
|
| 924 |
+
"8": 34148568
|
| 925 |
+
},
|
| 926 |
+
"native_effect_not_executed": true
|
| 927 |
+
}
|
| 928 |
+
},
|
| 929 |
+
{
|
| 930 |
+
"call": {
|
| 931 |
+
"args": {
|
| 932 |
+
"8": 34148568
|
| 933 |
+
},
|
| 934 |
+
"instruction": 292313,
|
| 935 |
+
"target": -31
|
| 936 |
+
},
|
| 937 |
+
"effect": {
|
| 938 |
+
"arguments": {
|
| 939 |
+
"8": 34148568
|
| 940 |
+
},
|
| 941 |
+
"native_effect_not_executed": true
|
| 942 |
+
}
|
| 943 |
+
},
|
| 944 |
+
{
|
| 945 |
+
"call": {
|
| 946 |
+
"args": {
|
| 947 |
+
"8": 34148568
|
| 948 |
+
},
|
| 949 |
+
"instruction": 292313,
|
| 950 |
+
"target": -31
|
| 951 |
+
},
|
| 952 |
+
"effect": {
|
| 953 |
+
"arguments": {
|
| 954 |
+
"8": 34148568
|
| 955 |
+
},
|
| 956 |
+
"native_effect_not_executed": true
|
| 957 |
+
}
|
| 958 |
+
},
|
| 959 |
+
{
|
| 960 |
+
"call": {
|
| 961 |
+
"args": {
|
| 962 |
+
"8": 34148568
|
| 963 |
+
},
|
| 964 |
+
"instruction": 292313,
|
| 965 |
+
"target": -31
|
| 966 |
+
},
|
| 967 |
+
"effect": {
|
| 968 |
+
"arguments": {
|
| 969 |
+
"8": 34148568
|
| 970 |
+
},
|
| 971 |
+
"native_effect_not_executed": true
|
| 972 |
+
}
|
| 973 |
+
}
|
| 974 |
+
],
|
| 975 |
+
"return": null,
|
| 976 |
+
"trace": null,
|
| 977 |
+
"trace_length": 230,
|
| 978 |
+
"trace_sha256": "068c3a5f57a9c8ebcf26763eb10e57b00020a57226ba2cd7a68e46ac4433d7c7"
|
| 979 |
+
},
|
| 980 |
+
"final_stack": [
|
| 981 |
+
34148568,
|
| 982 |
+
34148568,
|
| 983 |
+
34148568,
|
| 984 |
+
34148568,
|
| 985 |
+
34148568,
|
| 986 |
+
34148568,
|
| 987 |
+
34148568,
|
| 988 |
+
34148568,
|
| 989 |
+
34148568,
|
| 990 |
+
34148568
|
| 991 |
+
],
|
| 992 |
+
"requests": [
|
| 993 |
+
{
|
| 994 |
+
"arguments": {
|
| 995 |
+
"8": 34148568
|
| 996 |
+
},
|
| 997 |
+
"native_effect_not_executed": true
|
| 998 |
+
},
|
| 999 |
+
{
|
| 1000 |
+
"arguments": {
|
| 1001 |
+
"8": 34148568
|
| 1002 |
+
},
|
| 1003 |
+
"native_effect_not_executed": true
|
| 1004 |
+
},
|
| 1005 |
+
{
|
| 1006 |
+
"arguments": {
|
| 1007 |
+
"8": 34148568
|
| 1008 |
+
},
|
| 1009 |
+
"native_effect_not_executed": true
|
| 1010 |
+
},
|
| 1011 |
+
{
|
| 1012 |
+
"arguments": {
|
| 1013 |
+
"8": 34148568
|
| 1014 |
+
},
|
| 1015 |
+
"native_effect_not_executed": true
|
| 1016 |
+
},
|
| 1017 |
+
{
|
| 1018 |
+
"arguments": {
|
| 1019 |
+
"8": 34148568
|
| 1020 |
+
},
|
| 1021 |
+
"native_effect_not_executed": true
|
| 1022 |
+
},
|
| 1023 |
+
{
|
| 1024 |
+
"arguments": {
|
| 1025 |
+
"8": 34148568
|
| 1026 |
+
},
|
| 1027 |
+
"native_effect_not_executed": true
|
| 1028 |
+
},
|
| 1029 |
+
{
|
| 1030 |
+
"arguments": {
|
| 1031 |
+
"8": 34148568
|
| 1032 |
+
},
|
| 1033 |
+
"native_effect_not_executed": true
|
| 1034 |
+
},
|
| 1035 |
+
{
|
| 1036 |
+
"arguments": {
|
| 1037 |
+
"8": 34148568
|
| 1038 |
+
},
|
| 1039 |
+
"native_effect_not_executed": true
|
| 1040 |
+
},
|
| 1041 |
+
{
|
| 1042 |
+
"arguments": {
|
| 1043 |
+
"8": 34148568
|
| 1044 |
+
},
|
| 1045 |
+
"native_effect_not_executed": true
|
| 1046 |
+
},
|
| 1047 |
+
{
|
| 1048 |
+
"arguments": {
|
| 1049 |
+
"8": 34148568
|
| 1050 |
+
},
|
| 1051 |
+
"native_effect_not_executed": true
|
| 1052 |
+
}
|
| 1053 |
+
],
|
| 1054 |
+
"stack": [
|
| 1055 |
+
34148568,
|
| 1056 |
+
34148568,
|
| 1057 |
+
34148568,
|
| 1058 |
+
34148568,
|
| 1059 |
+
34148568,
|
| 1060 |
+
34148568,
|
| 1061 |
+
34148568,
|
| 1062 |
+
34148568,
|
| 1063 |
+
34148568,
|
| 1064 |
+
34148568
|
| 1065 |
+
]
|
| 1066 |
+
}
|
| 1067 |
+
],
|
| 1068 |
+
"sha256": "a589351dfe517470a1b121dd2164714987d9e4577bf00c6486e1540035d7a79d",
|
| 1069 |
+
"source": {
|
| 1070 |
+
"archive": "zUrT43_qvm.pk3",
|
| 1071 |
+
"archive_sha256": "b59bf0c5bedf11d50e0edd220da7eade96de40601e98ae14c54c819047df0796",
|
| 1072 |
+
"member": {
|
| 1073 |
+
"bytes": 983300,
|
| 1074 |
+
"comment_hex": "",
|
| 1075 |
+
"compressed_bytes": 246560,
|
| 1076 |
+
"compression": 8,
|
| 1077 |
+
"crc32": "98ea1768",
|
| 1078 |
+
"create_system": 0,
|
| 1079 |
+
"create_version": 63,
|
| 1080 |
+
"date_time": [
|
| 1081 |
+
2018,
|
| 1082 |
+
6,
|
| 1083 |
+
18,
|
| 1084 |
+
22,
|
| 1085 |
+
11,
|
| 1086 |
+
50
|
| 1087 |
+
],
|
| 1088 |
+
"directory": false,
|
| 1089 |
+
"entry_index": 2,
|
| 1090 |
+
"external_attr": 32,
|
| 1091 |
+
"extra_hex": "0a0020000000000001001800d1e24e974007d40116dcbf962f1fd20116dcbf962f1fd201",
|
| 1092 |
+
"extract_version": 20,
|
| 1093 |
+
"flags": 0,
|
| 1094 |
+
"header_offset": 221309,
|
| 1095 |
+
"internal_attr": 0,
|
| 1096 |
+
"occurrence": 0,
|
| 1097 |
+
"output": "assets/extracted/zUrT43_qvm.pk3/members/000002/vm/qagame.qvm",
|
| 1098 |
+
"path": "vm/qagame.qvm",
|
| 1099 |
+
"sha256": "a589351dfe517470a1b121dd2164714987d9e4577bf00c6486e1540035d7a79d",
|
| 1100 |
+
"type": "member",
|
| 1101 |
+
"volume": 0
|
| 1102 |
+
}
|
| 1103 |
+
}
|
| 1104 |
+
}
|
scripts/analyze_qvm_trace_relink.py
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/env python3
|
| 2 |
+
"""Skipped-target relinking preserves source order and duplicate entries."""
|
| 3 |
+
from pathlib import Path
|
| 4 |
+
from qvm_research_support import source,execute
|
| 5 |
+
from analyze_qvm_shot_trace_request import LOCAL
|
| 6 |
+
from analyze_qvm_entity_init import POOL,STRIDE
|
| 7 |
+
from analyze_qvm import write_json
|
| 8 |
+
|
| 9 |
+
def relink(ins,m):
|
| 10 |
+
m=dict(m);count=m[LOCAL+52];before=[m[LOCAL+56+4*j]&0xffffffff for j in range(count)];requests=[]
|
| 11 |
+
def link(i,m,a,c):e={'arguments':a,'native_effect_not_executed':True};requests.append(e);return m,c,0,e
|
| 12 |
+
m,_,e=execute(ins,292299,292326,m,(0,0,0),LOCAL,{-31:link});return m,{'count':count,'stack':before,'final_stack':[m[LOCAL+56+4*j]&0xffffffff for j in range(count)],'cursor':m[LOCAL+44],'requests':requests,'execution':e}
|
| 13 |
+
|
| 14 |
+
def main():
|
| 15 |
+
q,raw,h,ins=source();rows=[]
|
| 16 |
+
for indexes in [[],[65],[65,66],[66,65],[65,65],[65,66,65],list(range(64,74)),[65]*10]:
|
| 17 |
+
m={LOCAL+52:len(indexes)};m.update({LOCAL+56+4*j:POOL+i*STRIDE for j,i in enumerate(indexes)});rows.append(relink(ins,m)[1])
|
| 18 |
+
write_json(Path('docs/research/qvm-trace-relink.json'),{'source':q['source'],'sha256':q['sha256'],'probes':rows,'limits':'Actual292299–292325 with native−31 requests captured only. Counts0..10 and duplicate source pointers explicit; native state and legality of repeated skipped targets unverified. Candidate bounds/shooter restoration follow later.'})
|
| 19 |
+
if __name__=='__main__':main()
|
scripts/test_qvm_trace_relink.py
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import json,unittest
|
| 2 |
+
from pathlib import Path
|
| 3 |
+
class TraceRelinkTests(unittest.TestCase):
|
| 4 |
+
@classmethod
|
| 5 |
+
def setUpClass(cls):cls.r=json.loads(Path('docs/research/qvm-trace-relink.json').read_text())
|
| 6 |
+
def test_independent_source_order_and_cursor(self):
|
| 7 |
+
self.assertEqual(len(self.r['probes']),8)
|
| 8 |
+
for p in self.r['probes']:self.assertEqual([r['arguments']['8'] for r in p['requests']],p['stack']);self.assertEqual(p['cursor'],p['count']);self.assertEqual(p['stack'],p['final_stack'])
|
| 9 |
+
def test_no_deduplication(self):
|
| 10 |
+
p=self.r['probes'][-1];self.assertEqual(len(p['requests']),10);self.assertEqual(len(set(r['arguments']['8'] for r in p['requests'])),1)
|
| 11 |
+
def test_empty_stack_and_native_only(self):
|
| 12 |
+
self.assertEqual(self.r['probes'][0]['execution']['calls'],[])
|
| 13 |
+
for p in self.r['probes']:self.assertEqual([c['target'] for c in p['execution']['calls']],[-31]*p['count']);self.assertTrue(all(r['native_effect_not_executed'] for r in p['requests']))
|
| 14 |
+
if __name__=='__main__':unittest.main()
|