handoff: VSync/event-wedge fixes + iterate 2.A–2.BC research notes

Source changes (dormant parity infra, retained from iterate 2.AI/2.AO):
- xenia-kernel/exports.rs: nt_create_event manual_reset polarity +
  related event wiring
- xenia-gpu/mmio_region.rs: D1MODE_VBLANK_VLINE_STATUS hardcode parity

Also lands the audit-runs/ analysis notes (.md/.txt/.json digests) for the
iterate 2.x VSync/0x10e8/0x1004 wedge investigation. Raw trace dumps
(.jsonl/.gz/.csv/.stdout) and agent worktrees (.claude/) are gitignored as
regenerable local artifacts — see memory + HANDOFF for the running findings.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
MechaCat02
2026-06-05 07:19:08 +02:00
parent acd1656753
commit ef93a4fa14
620 changed files with 108303 additions and 1 deletions

View File

@@ -0,0 +1,26 @@
{
"schema_version": 1,
"engine": "canary",
"build_id": "canary-phaseB",
"iso_path": "\\Device\\Cdrom0\\default.xex",
"xex_entry_point": "0x824ab748",
"xex_image_base": "0x82000000",
"xex_image_size": 9568256,
"image_loaded_sha256": "a70993b77ca9e29218d033fad7c0b45c874676c4e0edd966545d39b266486a9c",
"xex_header_sha256": "ccf935d24a74e002",
"cvars": {
"phase_a_event_log_path": "",
"phase_b_dump_section_content": true,
"phase_b_snapshot_and_exit": true,
"phase_b_snapshot_dir": "Z:\\home\\fabi\\RE - Project Sylpheed\\xenia-rs\\audit-runs\\phase-c-first-divergence\\snap-001"
},
"wall_clock_iso8601": "epoch:1778704216",
"host_ns_at_snapshot": 0,
"deterministic_skip": [
"host_ns_at_snapshot",
"wall_clock_iso8601",
"build_id",
"iso_path",
"cvars.phase_b_snapshot_dir"
]
}

View File

@@ -0,0 +1,234 @@
{
"schema_version": 1,
"engine": "canary",
"pc": "0x824ab748",
"lr": "0x0000000000000000",
"ctr": "0x0000000000000000",
"msr": "0x0000000000009030",
"vrsave": "0xffffffff",
"fpscr": "0x00000000",
"xer": {
"ca": 0,
"ov": 0,
"so": 0,
"tbc": 0
},
"cr": [
"0x0",
"0x0",
"0x0",
"0x0",
"0x0",
"0x0",
"0x0",
"0x0"
],
"gpr": [
"0x0000000000000000",
"0x00000000701d0000",
"0x0000000020000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000030028000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000"
],
"fpr": [
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000",
"0x0000000000000000"
],
"vr": [
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000",
"00000000000000000000000000000000"
],
"vscr": "00000000000000000000000000000100",
"thread_id": 6,
"hw_id": 0,
"stack_base": "0x701d0000",
"stack_limit": "0x70150000",
"tls_base": "0x30027000",
"pcr_base": "0x30028000",
"deterministic_skip": [
"hw_id"
]
}

View File

@@ -0,0 +1,151 @@
{
"schema_version": 1,
"engine": "canary",
"objects": [
{
"details": {
"ctx_ptr": "0x00000000",
"entry_pc": "0x00000000",
"is_entry_thread": false,
"priority": 0,
"stack_size": 131072,
"suspended": false,
"thread_id": 3
},
"handle_semantic_id": "0d6236cd0677766b",
"name": null,
"raw_handle_id": "0x01000018",
"type": "Thread",
"type_code": 5
},
{
"details": {
"ctx_ptr": "0x00000000",
"entry_pc": "0x00000000",
"is_entry_thread": false,
"priority": 0,
"stack_size": 131072,
"suspended": false,
"thread_id": 1
},
"handle_semantic_id": "0d8cd68a54c991e3",
"name": null,
"raw_handle_id": "0x01000010",
"type": "Thread",
"type_code": 5
},
{
"details": {
"ctx_ptr": "0x00000000",
"entry_pc": "0x824ab748",
"is_entry_thread": true,
"priority": 13,
"stack_size": 524288,
"suspended": false,
"thread_id": 6
},
"handle_semantic_id": "0db6fd47a31adfc0",
"name": null,
"raw_handle_id": "0xf8000008",
"type": "Thread",
"type_code": 5
},
{
"details": {
"ctx_ptr": "0x00000000",
"entry_pc": "0x00000000",
"is_entry_thread": false,
"priority": 5,
"stack_size": 131072,
"suspended": false,
"thread_id": 5
},
"handle_semantic_id": "0e8c94fa2ab636b3",
"name": null,
"raw_handle_id": "0x01000020",
"type": "Thread",
"type_code": 5
},
{
"details": {},
"handle_semantic_id": "20b2d85926bc7b11",
"name": null,
"raw_handle_id": "0xf8000004",
"type": "Module",
"type_code": 8
},
{
"details": {},
"handle_semantic_id": "20b37f5926bd96d6",
"name": null,
"raw_handle_id": "0x01000004",
"type": "Module",
"type_code": 8
},
{
"details": {},
"handle_semantic_id": "20de1f16750fb24e",
"name": null,
"raw_handle_id": "0x0100000c",
"type": "Module",
"type_code": 8
},
{
"details": {},
"handle_semantic_id": "89cc99291d29ed5c",
"name": null,
"raw_handle_id": "0xf8000000",
"type": "Event",
"type_code": 1
},
{
"details": {
"ctx_ptr": "0x00000000",
"entry_pc": "0x00000000",
"is_entry_thread": false,
"priority": 5,
"stack_size": 131072,
"suspended": false,
"thread_id": 4
},
"handle_semantic_id": "8d4ce6ee5f4e68af",
"name": null,
"raw_handle_id": "0x0100001c",
"type": "Thread",
"type_code": 5
},
{
"details": {
"ctx_ptr": "0x00000000",
"entry_pc": "0x00000000",
"is_entry_thread": false,
"priority": 0,
"stack_size": 131072,
"suspended": false,
"thread_id": 2
},
"handle_semantic_id": "8d7786abada08427",
"name": null,
"raw_handle_id": "0x01000014",
"type": "Thread",
"type_code": 5
},
{
"details": {},
"handle_semantic_id": "a0c8cf37cde6a492",
"name": null,
"raw_handle_id": "0x01000008",
"type": "Module",
"type_code": 8
}
],
"handle_name_table": [],
"notification_listeners": [],
"exports_registered_count": 0,
"exports_registered_sample": [],
"exports_registered_sha256": "0000000000000000000000000000000000000000000000000000000000000000",
"deterministic_skip": [
"raw_handle_id",
"exports_registered_count"
]
}

View File

@@ -0,0 +1,11 @@
{
"schema_version": 1,
"engine": "canary",
"files": {
"config.json": "6f1369b1743ba754bdff1c06d62c762e3e6108d6ed0d877f2151cb606e94f40d",
"cpu_state.json": "b57464533ac776df8d9f752678bca1a9ba7df77adc896eb313766952a50326dd",
"kernel.json": "78affa1cbb3bc93402a9c0e8686c9a632a5ce0b676999e68aad05e972b0dbc7b",
"memory.json": "50f4dae2642a71d83b7c58e0fa26d1164f7a4df2327ba6e589f6fd42d521d161",
"vfs.json": "93a5ee2826dc85d0d2c0559287a096b2d52e1f84fef8921ad024a1ca18c445ff"
}
}

View File

@@ -0,0 +1,111 @@
{
"schema_version": 1,
"engine": "canary",
"page_size": 4096,
"guest_address_space_bytes": 4294967296,
"heaps": [
{
"base": "0x00000000",
"name": "v00000000",
"page_size": 4096,
"page_state_histogram": {
"committed": 153,
"free": 261991
},
"size": "0x40000000"
},
{
"base": "0x40000000",
"name": "v40000000",
"page_size": 65536,
"page_state_histogram": {
"committed": 30,
"free": 16098
},
"size": "0x3f000000"
},
{
"base": "0x80000000",
"name": "v80000000",
"page_size": 65536,
"page_state_histogram": {
"committed": 146,
"free": 3950
},
"size": "0x10000000"
},
{
"base": "0x90000000",
"name": "v90000000",
"page_size": 4096,
"page_state_histogram": {
"free": 65536
},
"size": "0x10000000"
}
],
"regions": [
{
"byte_count": 4096,
"end": "0x30028000",
"protect": 0,
"section_kind": null,
"sha256": "ad7facb2586fc6e966c004d7d1d16b024f5805ff7cb47c7a85dabd8b48892ca7",
"start": "0x30027000"
},
{
"byte_count": 4096,
"end": "0x30029000",
"protect": 0,
"section_kind": null,
"sha256": "2390751521f95a4c513da387bc2ee8a82c5b9261bfc565be5e108fafbda61cf3",
"start": "0x30028000"
},
{
"byte_count": 524288,
"end": "0x701d0000",
"protect": 0,
"section_kind": null,
"sha256": "07854d2fef297a06ba81685e660c332de36d5d18d546927d30daad6d7fda1541",
"start": "0x70150000"
},
{
"byte_count": 9568256,
"end": "0x82920000",
"protect": 0,
"section_kind": null,
"sha256": "a70993b77ca9e29218d033fad7c0b45c874676c4e0edd966545d39b266486a9c",
"start": "0x82000000"
}
],
"committed_pages_total": 2466,
"section_contents": [
{
"content_b64": "",
"end": "0x30028000",
"sha256": "ad7facb2586fc6e966c004d7d1d16b024f5805ff7cb47c7a85dabd8b48892ca7",
"start": "0x30027000"
},
{
"content_b64": "",
"end": "0x30029000",
"sha256": "2390751521f95a4c513da387bc2ee8a82c5b9261bfc565be5e108fafbda61cf3",
"start": "0x30028000"
},
{
"content_b64": "",
"end": "0x701d0000",
"sha256": "07854d2fef297a06ba81685e660c332de36d5d18d546927d30daad6d7fda1541",
"start": "0x70150000"
},
{
"content_b64": "",
"end": "0x82920000",
"sha256": "a70993b77ca9e29218d033fad7c0b45c874676c4e0edd966545d39b266486a9c",
"start": "0x82000000"
}
],
"deterministic_skip": [
"host_base_pointer"
]
}

View File

@@ -0,0 +1,71 @@
{
"schema_version": 1,
"engine": "canary",
"resolve_path_probes": [
{
"is_directory": true,
"path": "\\Device\\Cdrom0",
"resolved": true,
"size": 0
},
{
"is_directory": true,
"path": "\\Device\\Cdrom0\\dat",
"resolved": true,
"size": 4096
},
{
"is_directory": true,
"path": "\\Device\\Cdrom0\\dat\\movie",
"resolved": true,
"size": 4096
},
{
"is_directory": null,
"path": "\\Device\\Cdrom0\\dat\\movie\\opening.bik",
"resolved": false,
"size": null
},
{
"is_directory": false,
"path": "\\Device\\Cdrom0\\default.xex",
"resolved": true,
"size": 3497984
},
{
"is_directory": null,
"path": "\\Device\\HardDisk0\\Partition1",
"resolved": false,
"size": null
},
{
"is_directory": true,
"path": "cache:\\",
"resolved": true,
"size": 0
},
{
"is_directory": null,
"path": "cache:\\nonexistent_probe",
"resolved": false,
"size": null
},
{
"is_directory": true,
"path": "game:\\dat",
"resolved": true,
"size": 4096
},
{
"is_directory": false,
"path": "game:\\default.xex",
"resolved": true,
"size": 3497984
}
],
"mounted_devices_observed_count": 1,
"cache_root_listing": [],
"deterministic_skip": [
"host_path_realpath"
]
}